https://github.com/systemfw/blog
Source code for my blog, based on Hakyll
https://github.com/systemfw/blog
Last synced: 8 months ago
JSON representation
Source code for my blog, based on Hakyll
- Host: GitHub
- URL: https://github.com/systemfw/blog
- Owner: SystemFw
- License: bsd-3-clause
- Created: 2018-12-17T09:42:27.000Z (over 7 years ago)
- Default Branch: main
- Last Pushed: 2025-06-15T11:34:26.000Z (9 months ago)
- Last Synced: 2025-06-15T12:27:05.706Z (9 months ago)
- Language: CSS
- Homepage: https://systemfw.org
- Size: 4.94 MB
- Stars: 3
- Watchers: 2
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# README
Hakyll source code for my blog.
## Dev flow
| Command | Scenario |
|---------------------------|-----------------------------------------|
| `stack exec site watch` | Changes to content |
| `stack exec site build` | Changes to `talks.md` and `writings.md` |
| `stack exec site rebuild` | build and clean cache |
| `stack build` | Changes to `site.hs` |
|---------------------------|-----------------------------------------|
| `cabal run site watch` | Changes to content |
| `cabal run site build` | Changes to `talks.md` and `writings.md` |
| `cabal run site rebuild` | build and clean cache |
| `cabal build` | Changes to `site.hs` |
Make sure you are in the root directory of the blog when running these
commands.
## Editing flow
Use the `content/staging` folder for drafts.
- For Scala, `mdoc.sh` will start an
[mdoc](https://scalameta.org/mdoc/) live session.
- The Haskell flow is still unspecified.
- Use `talks.md` and `writings.md` to quickly add a talk or an
external link to a writing. Slides for the talks are served through
Github Pages on their own repo.
## Deploy
`deploy.sh` will deploy using git submodules and github pages.
You will have to git push after deploy, to make sure the submodule
state is correctly sync'd.
Note: when cloning the repo on a new laptop for the first time, you
have to pass the `--recurse-submodules` option to `clone` to
initialise the `deploy` submodule properly, or it won't be sync'd and
deploying won't work. If you forgot to do this, call:
```
git submodule update --init --recursive
```
More info [here](https://git-scm.com/book/en/v2/Git-Tools-Submodules)