GitRoot

Craft your forge, Build your project, Grow your community freely
 1---
 2pluginName: Apex
 3pluginBaseline: Some apexes are the growing tips of plants. Our Apex is the high point of your forge.
 4homepage: /app/plugins/apex/
 5docpage: /app/plugins/apex/doc.html
 6changelog: /app/plugins/apex/CHANGELOG.html
 7---
 8
 9# Documentation
10
11## Configuration
12
13```yaml
14configuration:
15  branchesDir: branches #where to render your branches, e.g. accessible by https://domain.tld/repo/branches/
16  favicon: logo.png #where is your favicon in your git repository
17  footer: <code>git clone {{repo.cloneUrl}}</code> #footer for all pages
18  generateGitWorktree: true #generate worktree directory or not
19  header: <h1>{{repo.name}}</h1> #header for all pages
20  menu: # define your menu
21    - display: 🏠 Home
22      link: /
23    - display: 📖 Documentation
24      link: /doc/
25    - display: 🔖 Versions
26      link: /CHANGELOG.html
27    - display: 🐞 Issues
28      link: /boards/issues.html
29    - display: 🚀 Code
30      link: /worktree/
31    - display: ☕ Blog
32      link: /blog/
33    - display: 🗨 Contact
34      link: /contact.html
35  meta: # define metadata for all pages
36    description: GitRoot is a small yet powerfull git forge.
37    fediverse:creator: "@forge@gitroot.dev"
38    og:description: GitRoot is a small yet powerfull git forge.
39    og:title: GitRoot
40  style: simple.min.css # style css for all pages, simple.min.css is embeded but you put a path to your personal css in your git repository
41  layout: #define your own layouts
42    - glob: issues/**/*.md #evey markdown in issues directory will use this layout instead of the default one embeded by apex
43      path: layouts/issues.html #if this path don't exist in git, apex will add default one there, so you have an example up-to-date
44```
45
46## Layout variables
47
48### Forge
49
50- `forge.domain` what is your domain (e.g. `domain.com`)
51- `forge.externalHttpAddr` how to access with web (e.g. `https://domain.com`)
52- `forge.externalSshAddr` how to clone (e.g. `ssh://domain.com/`)
53
54### Repo
55
56- `repo.name` repo name (e.g. `repo1`)
57- `repo.url` full web url (e.g. `https://domain.com/repo1`)
58- `repo.cloneUrl` how to clone you rrepo (e.g. `ssh://domain.com/repo1/`)
59
60### Apex
61
62- `repo.favicon` your favicon to add in meta of pages in your git repo (e.g. `logo.png`)
63- `repo.faviconType` the favicon type mime (e.g. `image/png`)
64- `repo.css` your css to add in meta of pages in your git repo (e.g. `css/default.css`)
65
66### Page
67
68All variables from front-matter of `*.md` files are accessibles in layout.
69
70If you add:
71
72```md
73---
74var1: res
75---
76
77# Tile
78```
79
80Then a `{{var1}}` in a lyout will be rendered has `res`.