Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/aj-foster/aj-foster.com
Source of my personal website
https://github.com/aj-foster/aj-foster.com
Last synced: 6 days ago
JSON representation
Source of my personal website
- Host: GitHub
- URL: https://github.com/aj-foster/aj-foster.com
- Owner: aj-foster
- Created: 2015-10-16T01:50:13.000Z (about 9 years ago)
- Default Branch: main
- Last Pushed: 2024-01-06T06:59:41.000Z (12 months ago)
- Last Synced: 2024-05-02T06:16:23.721Z (8 months ago)
- Language: Elixir
- Homepage: https://aj-foster.com
- Size: 657 KB
- Stars: 0
- Watchers: 3
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
Hello there.
This is the source code that generates my personal website, [aj-foster.com](https://aj-foster.com/).
It uses the following:* Elixir, a functional programming language
* Serum, a static site generator written in Elixir
* GitHub Actions, a free continuous integration/deployment system
* GitHub Pages, a free hosting service for static websites
* GitHub Discussions, a free discussion platformBecause of these choices, the site itself is generated automatically when someone pushes to the
`main` branch — and hosted for free.### Usage
This project includes two custom `mix` tasks for generating the site.
Assuming you have Elixir and Erlang installed already...* `mix site.gen` will generate the site once and save the files
* `mix site.watch` will generate the site whenever a file is saved and auto-refresh the browser### Items of Interest
Most of the site is pretty straightforward, however it includes a few plugins that adjust how
Serum generates files:* `Site.Highlight` provides syntax highlighting for a subset of languages
* `Site.Subdirectory` modifies the output of pages and posts to support subdirectory navigation,
e.g. `/about/`
* `Site.Feed` creates a custom Atom feed for posts on the site
* `Site.Map` creates a custom sitemapThe code in this repository is free to use (with no warranty).
Please share what you learn with others.