Skip to content
fossil-skin All Top-level Files
Login

All Top-level Files

Files in the top-level directory in any check-in


fossil-skin

A dark skin for Fossil: Fossil's default layout, rendered for a dark page with WCAG AA contrast, Instrument Sans, the Bone Hive logo, and fixes for every place Fossil hard-codes light colours (timeline graph, diffs, ticket reports, chat, forum, pikchr, tickets). It also carries a main menu with a Search entry.

Two ways to use it.

Use it on any Fossil repository

Pick one of the two self-contained files in dist/. Each embeds the logo, favicon and the small accessibility script, so it needs nothing but Fossil:

File Font Size
craftdesign-skin.cfg the viewer's system font 200 KB
craftdesign-skin-instrument-sans.cfg Instrument Sans, embedded (the look of this server) 300 KB
fossil config import craftdesign-skin.cfg -R /path/to/repo.fossil

That sets the skin (css, header, footer, details), the logo, and the main menu. Restart nothing; the next page load uses it. To take it back off, pick any built-in skin under Admin → Skins. Switching between the two files is the same import again.

To build them yourself from the sources:

python3 skin/build.py       # writes both files into dist/

Two optional things the skin cannot do for you, because they are per-repo settings:

# Full-text search, so the Search menu entry has something to show
fossil fts-config enable check-in wiki ticket forum document -R repo.fossil
fossil fts-config index on -R repo.fossil

# A wiki page as the home page (the skin hides Fossil's extra "index" / "Home" title)
fossil config -R repo.fossil set index-page '/wiki?name=index'

Requires Fossil 2.20 or newer for the mainmenu setting; older versions ignore it and use their built-in menu.

Changes, questions, bugs

Use the forum for questions and the tickets for bugs or change requests. Both are open: click "Anonymous login" and you can post. Forum posts from anonymous users are held until a moderator approves them. If you have a fix, attach a patch to the ticket or describe the change in the forum thread.

This server (fossil.craftdesign.group)

The hosted repos use the same sources, with the fonts and script served by Caddy instead of embedded, plus a landing page, per-repo metadata and git mirrors:

Path What
skin/ css.txt, header.txt, footer.txt, logo.png, icons/, apply.py, build.py
www/ landing page, a11y.js, favicon, fonts
repos/*.meta per-repo icon, description and public access, read by apply.py
mirror/ hourly git → fossil mirror script
docs/ setup notes and the skin's token table
Caddyfile serves www/ and proxies the rest to Fossil

Deploying a change: copy the edited files to /var/fossil/skin or /var/fossil/www on the server and run python3 /var/fossil/skin/apply.py, which pushes the skin into every repo and regenerates the landing page. Adding a repository is documented on the server at fossil-skin/wiki/new-repo.

Licences

Skin: MIT. Instrument Sans: SIL Open Font License. Icons: Phosphor, MIT.