Skip to content

fireship-io/fireship.io

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
September 28, 2022 11:04
app
August 5, 2023 08:36
September 28, 2022 11:04
bin
June 28, 2023 07:44
September 28, 2022 11:04
June 28, 2023 07:44
December 19, 2022 08:41
September 28, 2022 11:04
September 28, 2022 11:04
September 28, 2022 11:18
September 28, 2022 11:04
September 28, 2022 11:05
September 28, 2022 11:58
September 28, 2022 11:04
September 28, 2022 11:04
September 28, 2022 11:04
September 28, 2022 11:04
September 28, 2022 11:04
September 28, 2022 11:04

Fireship

The Fireship PRO course platform frontend built with Svelte, Tailwind, Hugo, Firebase, & Flamethrower.

Contributing

All static content is managed with Hugo in the content dir. You can easily fix typos by modifying the markdown directly in GitHub.

How to Run it

First, install Hugo Extended ver 0.101.0 or greater.

git clone <this-repo>
npm install
npm start

Check it on on http://localhost:6969/.

Developing Components

Create a Svelte file in the app/components directory. It must have a custom element tag.

<svelte:options tag="hi-mom" />

<script>
    export let greeting: string;
</script>

<h1>Hi Mom! {greeting}</h1> 

Export the component from app/main.ts:

export * from './components/hi-mom.svelte';

Now use it in anywhere in your HTML or Markdown.

<hi-mom greeting="i made a web component"></hi-mom>

Note: A weird caveat with Svelte web components is that all styles must be encapsulated. You can use Tailwind, BUT only with @apply in the component. Global styles will not work.

Commands

  • npm start: Main dev server. Runs everything you need.
  • npm run dev: Runs components in isolation. Serves app/index.html as a playground for components.
  • npm run hugo: Only runs static site.
  • npm run build: Build for production