# Naputo - n-daisuke897's blog Welcome to my blog repository! ## Commands All commands are run from the root of the project, from a terminal: | Command | Action | | :------------------------ | :----------------------------------------------- | | `npm install` | Installs dependencies | | `npm run dev` | Starts local dev server at `localhost:4321` | | `npm run build` | Build your production site to `./dist/` | | `npm run preview` | Preview your build locally, before deploying | | `npm run astro ...` | Run CLI commands like `astro add`, `astro check` | | `npm run astro -- --help` | Get help using the Astro CLI | ## Blog post filename convention Manage files in `src/blog/` with this format: `YYYY-MM-DD-your-post-slug.md` - Use lowercase letters, numbers, and hyphens in the slug. - Keep words separated by a single hyphen. - If two posts share the same date and slug, append `-2`, `-3`, etc. ## Dependency update guidance For security/deprecated remediation, allow breaking changes via `npm audit fix --force`, then verify: - `npm audit` - `npm run build` ## Nix devshell (recommended) If you use Nix, you can enter a dev shell that provides the required CLI tools for this repo: ```sh nix develop ``` This is intended to provide tools like Forgejo CLI (`fj`) and Node.js so "when you enter the repo, everything is available": ```sh nix develop --command fj version nix develop --command node --version ``` ## Podman (container) development This repo can be developed inside a Podman container to keep your host clean and improve reproducibility. ### Using podman compose ```sh export SSH_PUBKEY_PATH="$HOME/.ssh/id_ed25519.pub" podman compose up --build ``` On WSL2/rootless Podman, if you hit netavark/nftables errors, this repo defaults to `slirp4netns` via `network_mode` in `compose.yml`. If you want SSH access (for Emacs TRAMP `/ssh:`), `SSH_PUBKEY_PATH` must point to your public key and port 2222 will be exposed for SSH. Then open: http://localhost:4321 Run other commands in the running container: ```sh podman compose exec app npm run build podman compose exec app npm run preview -- --host 0.0.0.0 --port 4321 ``` ### Troubleshooting (WSL2) If hot reload is unstable/slow, enable polling: ```sh CHOKIDAR_USEPOLLING=1 podman compose up --build ``` Tip: placing the repo under the WSL filesystem (e.g. `~/project/...`) is often faster than under `/mnt/c`.