]> jfr.im git - irc/freenode/web-7.0.git/summary
 
descriptionUnnamed repository; edit this file 'description' to name the repository.
ownerJohn Runyon
last changeSat, 5 Jun 2021 00:02:16 +0000 (09:32 +0930)
readme

web-7.0 Build Status irc: #freenode-website

A shiny replacement for http://freenode.net.

Building

You'll need our node.js dependencies:

$ sudo npm install -g postcss-cli@7.1.2 svgo uglify-js
$ npm install

Then, assuming a Python 3.4 (or later) installation:

$ python3 -m venv env
$ . env/bin/activate
$ pip install -r requirements.txt
$ cms7

If everything went well, you should see a lot of log output, and out/ will have the website in it.

Because we generate the site statically, you'll need to re-run cms7 each time you change something. If your editor likes compile commands that can run from any directory, you can also use cms7 -c /path/to/config.yml.

Contributing

Please comply with the contribution guidelines

Helpful tip for those merging PRs: you can browse the tree a merge would result in by navigating to https://github.com/freenode/web-7.0/tree/pull/XYZ/merge, where XYZ is the pull request number.

You can also go to https://freenode.net/web-7.0/BRANCHNAME/ to see a build of any particular branch. This also works for internal pull requests (they are named pull-X).

Architecture / Orientation

The site is generated from Markdown sources and Jinja2 templates, found in content/ and templates/ respectively. The Travis build deploys to GitHub Pages automatically on every push.

Various modules convert the sources to a useful output structure. Eventually cms7 will document this process, but for now:

Markdown metadata

cms7 uses the markdown metadata extension, and recognises some special keys:

Blog-specific:

Internal linking

Everything that ends up in the final output has a name that identifies it to the rest of the website. If a file is derived directly from an input file, generally its name is derived from the name of the input.

cms7 can generate a relative URL to anything with a name from any page. This should always be preferred over manually writing links. To generate a relative link from a Markdown document, just link to a name:

[A page about frogs](pages/frog)

To do the same from a template, call url_for:

<a href="{{ url_for('pages/frog') }}">A page about frogs</a>
shortlog
2021-06-05  Jordan Songer2021-06-05: update people main origin/HEAD origin/main
2021-06-04  Svante BengtsonFix markdown (#527)
2021-06-03  Jordan Songer2021-06-04: update people.md
2021-06-02  rasenganFOSSHOST Partnership Announcement (#525)
2021-06-02  TJRRemove Shells badge from header and footer
2021-05-28  rasenganUpdate the people page (#521)
2021-05-27  rasenganPost mortem May 25 2021 (#520)
2021-05-25  rasenganUpdate from waggie (#517)
2021-05-25  rasenganUpdates for news page, people page update, and policy...
2021-05-25  Terrance RobothamRevert draft
2021-05-23  rasenganUpdated draft text to be more clear as to how to partic...
2021-05-23  rasenganAdded draft text (#514)
2021-05-23  rasenganpolicy update (#513)
2021-05-21  rasenganremoved swant (#510)
2021-05-21  rasenganmoved to pdf to the files folder (#509)
2021-05-21  rasenganfreenode timeline pdf (#508)
...
heads
2 years ago main
remotes
origin
2 years ago gh-pages
2 years ago HEAD
2 years ago main
2 years ago fosshost-partnership
2 years ago people-update-may28
2 years ago postmortem-may21
2 years ago update-from-waggie
2 years ago freenode-under-attack
2 years ago policy-revision-draft-text-update
2 years ago policy-revision-draft
2 years ago policy-revision
2 years ago policy-update
2 years ago update-pages
2 years ago move-pdf-to-files
2 years ago freenode-pdf
2 years ago freenode-foss
...