This is the content of fedidevs.org.
It is built with the Hugo static site generator, plus some Python scripts that generate a few of the pages.
Contributions welcome; file a pull request.
Install Git and Git-LFS, and initialize it:
$ brew install git
$ brew install git-lfs
$ git lfs install
Install Hugo, e.g. on macOS:
$ brew install hugo
Get the content:
$ git clone --recurse-submodules https://github.com/fediverse-devnet/fedidevs.org.git
$ cd fedidevs.org
Note that the theme is a submodule, so you need to use --recurse-submodules
to get it. If you do not, you'll likely see an error related to shortcode templates when you try to run the site.
Run:
$ hugo serve
Then go to http://localhost:1313/
(actual port will be printed to the terminal).
If you are not familiar with Hugo, leave all files and directories alone except for what's in the content/
directory. There, you'll find the Markup files that make up the content of the site.
By and large, there are two kinds of content files:
Standard Markdown files, such as content/foo/bar/baz.md
. This is a "leaf" node in the page hierarchy, i.e. it will have no child pages. The content will be at URL http://localhost:1313/foo/bar/baz/
.
Markdown files named with an underscore prefix _index.md
, such as a content/bar/foo/_index.md
. This is a "directory" node in the page hierarchy, i.e. it can have further child pages. It is a regular Markdown file whose content will be at URL http://localhost:1313/bar/foo/
. It uses a different layout generation algorithm that automatically inserts links to its child pages.
This describes files below content/
.
Front page: Welcome, overview
best-practices/
: A collection of best practices that we consider useful. Not standards, but more tips and tricks how to best apply the standards to solve certain problems.
notes/
: Notes from meetings
projects/
: Contains all information about Fediverse software projects, further subdivided by category.
projects/libraries/
: Information about Fediverse-related software libraries.
projects/server-apps/
: Information about Fediverse server-side applications.
projects/mobile-apps/
: Information about Fediverse mobile apps.
reference/
: Collection of reference information that is useful for development, such as an overview over how the ActivityPub actor files look for different server apps. Much content here is generated.
static/
: Static assets, such as images.
scripts/
: Scripts that generate content for the site.