Skip to content

Latest commit

 

History

History
139 lines (111 loc) · 7.98 KB

File metadata and controls

139 lines (111 loc) · 7.98 KB

🍥Fuwari

Node.js >= 20 pnpm >= 9 DeepWiki FOSSA Status

A static blog template built with Astro.

🖥️ Live Demo (Vercel)

Preview Image

🌏 README in 中文 / 日本語 / 한국어 / Español / ไทย / Tiếng Việt / Bahasa Indonesia (Provided by the community and may not always be up-to-date)

✨ Features

🚀 Getting Started

  1. Create your blog repository:
    • Generate a new repository from this template or fork this repository.
    • Or run one of the following commands:
      npm create fuwari@latest
      yarn create fuwari
      pnpm create fuwari@latest
      bun create fuwari@latest
      deno run -A npm:create-fuwari@latest
  2. To edit your blog locally, clone your repository, run pnpm install to install dependencies.
    • Install pnpm npm install -g pnpm if you haven't.
  3. Edit the config file src/config.ts to customize your blog.
  4. Run pnpm new-post <filename> to create a new post and edit it in src/content/posts/.
  5. Deploy your blog to Vercel, Netlify, GitHub Pages, etc. following the guides. You need to edit the site configuration in astro.config.mjs before deployment.

📝 Frontmatter of Posts

---
title: My First Blog Post
published: 2023-09-09
description: This is the first post of my new Astro blog.
image: ./cover.jpg
tags: [Foo, Bar]
category: Front-end
draft: false
lang: jp      # Set only if the post's language differs from the site's language in `config.ts`
---

🧩 Markdown Extended Syntax

In addition to Astro's default support for GitHub Flavored Markdown, several extra Markdown features are included:

⚡ Commands

All commands are run from the root of the project, from a terminal:

Command Action
pnpm install Installs dependencies
pnpm dev Starts local dev server at localhost:4321
pnpm build Build your production site to ./dist/
pnpm preview Preview your build locally, before deploying
pnpm preview:local Build + serve dist/ + open browser
pnpm preview:dist Serve existing dist/ + open browser
pnpm check Run checks for errors in your code
pnpm format Format your code using Biome
pnpm new-post <filename> Create a new post
pnpm sync-notes Import changed notes/**/*.md recursively and build
pnpm sync-notes:gui Same as above, with a category picker GUI
pnpm edit-site-info Open GUI editor for title/avatar/author/GitHub/about
pnpm astro ... Run CLI commands like astro add, astro check
pnpm astro --help Get help using the Astro CLI

Local Preview (No GitHub Upload)

  • You can preview locally without GitHub Pages.
  • Do not open dist/index.html directly with file:// for this project; built files use root paths like /_astro/... and /pagefind/....
  • Use one of these:
    • pnpm dev (development preview)
    • pnpm preview:local (production-like preview, auto-build)
    • scripts\preview-local.bat (Windows double-click flow)

Notes Sync Workflow

  1. Put new markdown notes into notes/ (new folders are supported).
  2. Run one of:
    • pnpm sync-notes
    • pnpm sync-notes:gui
    • scripts\sync-notes.bat (Windows double-click flow)
  3. The script will:
    • recursively scan all notes/**/*.md
    • generate/update src/content/posts/<slug>.md or src/content/posts/<slug>/index.md
    • keep a local sync cache in .notes-sync-state.json
    • run pnpm build so dist/ is updated for deployment

scripts/notes-sync.py also supports --dry-run, --force-all, and custom --inbox.

GUI Site Info Editor

  • Run pnpm edit-site-info or double-click scripts\edit-site-info.bat.
  • The GUI centralizes quick edits for:
    • site title/subtitle/language
    • homepage avatar path
    • author name and bio
    • GitHub links (profile and navbar)
    • src/content/spec/about.md markdown content
  • Buttons include Save, Save + Build, and Start Preview.

✏️ Contributing

Check out the Contributing Guide for details on how to contribute to this project.

📄 License

This project is licensed under the MIT License.

FOSSA Status