{"id":19608670,"url":"https://github.com/sel4/docs","last_synced_at":"2025-04-27T20:33:05.854Z","repository":{"id":37670528,"uuid":"126283516","full_name":"seL4/docs","owner":"seL4","description":"This is the source of the seL4 docs.","archived":false,"fork":false,"pushed_at":"2025-04-25T03:14:00.000Z","size":123727,"stargazers_count":16,"open_issues_count":16,"forks_count":54,"subscribers_count":25,"default_branch":"master","last_synced_at":"2025-04-25T04:23:27.015Z","etag":null,"topics":["documentation","sel4"],"latest_commit_sha":null,"homepage":"https://docs.sel4.systems","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/seL4.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSES/BSD-2-Clause.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2018-03-22T05:20:08.000Z","updated_at":"2025-03-21T02:54:26.000Z","dependencies_parsed_at":"2025-04-25T04:31:19.260Z","dependency_job_id":null,"html_url":"https://github.com/seL4/docs","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/seL4%2Fdocs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/seL4%2Fdocs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/seL4%2Fdocs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/seL4%2Fdocs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/seL4","download_url":"https://codeload.github.com/seL4/docs/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251204718,"owners_count":21552279,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["documentation","sel4"],"created_at":"2024-11-11T10:16:20.071Z","updated_at":"2025-04-27T20:33:00.846Z","avatar_url":"https://github.com/seL4.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003c!--\n    Copyright 2020 seL4 Project a Series of LF Projects, LLC.\n    SPDX-License-Identifier: CC-BY-SA-4.0\n--\u003e\n\n# seL4 Documentation site\n\nThese are the sources for the seL4 Documentation site located at\n\u003chttps://docs.sel4.systems\u003e. It is for cooperatively developing and sharing\ndocumentation on [seL4](https://sel4.systems).\n\nSee [CONTRIBUTING.md](processes/docs-contributing.md) for information on how to\ncontribute. _TL;DR click edit on the page in GitHub, make your changes and then\nsubmit a pull request._\n\nAsk on the [mailing list][mailing-list] or open an issue if something doesn't\nmake sense.\n\nWe've tried to make sure the hosted site is [WCAG 2.0\nAA](https://www.w3.org/TR/WCAG20/) compliant.  Please let us know if we have\nmissed something.\n\n[mailing-list]: https://lists.sel4.systems/postorius/lists/\n\n## Building the site\n\n### Install\n\n#### Submodules\n\nYou need to run this only once after you have cloned this the repo.\n\n```sh\ngit submodule init\ngit submodule update\n```\n\n#### Ruby\n\nWe recommend using [rbenv](https://github.com/rbenv/rbenv) to install the\ncorrect Ruby version.\n\nOn Mac, using [homebrew](https://brew.sh):\n\n```sh\nbrew install ruby-build rbenv\n# follow the instructions this command shows, and start a new shell afterwards\nrbenv init\n# in the docs directory (root of this repo):\nrbenv install\n```\n\nOn apt-based Linux distributions (e.g. Ubuntu, Debian):\n\n```sh\napt install rbenv\n# follow the instructions this command shows, and start a new shell afterwards\nrbenv init\n# in the docs directory (root of this repo):\nrbenv install\n```\n\nAfter these, you should be able to forget about `rbenv`, the `Makefile` will now\nsee the correct Ruby version.\n\n#### Python\n\nThe build is tested with Python 3.9. More recent versions are likely to work as\nwell. After installing Python via e.g. `homebrew` or `apt`, you can install the\nPython build dependencies with:\n\n```sh\npip3 install --user camkes-deps\n```\n\n#### Linters\n\nIf you are using the lint checks, they require `tidy` and `liquid-linter`. If\nyou just want to build the site, you can skip these.\n\n- HTML output checking using `tidy`: `make check_html_output`\n- Liquid syntax checking using `liquid-linter`: `make check_liquid_syntax`\n\n### Build\n\nTo build and host locally:\n\n```sh\nmake serve\n#   Server address: http://127.0.0.1:4000/\n#   Server running... press ctrl-c to stop.\n```\n\nOr using Docker (you need [Docker\ninstalled](https://docs.docker.com/get-docker/) and running for this):\n\n```sh\nmake docker_serve\n```\n\n### Makefile and JEKYLL_ENV=production version\n\nJekyll environment flags can be used to provide some content only in a\nproduction environment.\n\nOne way we use this is to show data generated by rules in the Makefile and saved\nin `\\_data/generated.yml`. If you want to serve the site locally in production\nmode there are `make` rules for this.  You will need to call the make rule to\ngenerate the `\\_data/generated.yml` also.\n\n## How the site is set up\n\nOur documentation is contained in a collection of Markdown files stored in this\nrepository. We use [Jekyll](https://jekyllrb.com/) to generate a static html\nwebsite that is then hosted on GitHub pages. Our continuous integration is\nconfigured to regenerate and update the live site whenever a pull request is\nmerged. There is a timestamp in the source that indicates when it was last\ngenerated.  Additionally, each page has a timestamp and revision hash from when\nit was last updated located in the footer based on the git history.\n\nThe markdown pages are rendered using\n[Kramdown](https://kramdown.gettalong.org/), a ruby-based markdown converter\nthat is configured to interpret the markdown files (`.md`) as GitHub flavoured\nmarkdown.  We are currently using the `jekyll-theme-bootstrap` theme that\nprovides a sass implementation of bootstrap.  Our custom styling is contained in\n`assets/css/style.scss`.  `HTML` templates are in either `\\_layouts` or\n`\\_includes`.\n\n## Compliance, style and formatting checks\n\n### WCAG 2.0 AA conformance\n\nThere is a make rule to check conformance to all testable statements from the\nguidelines. `make check_conformance`. It requires the site to be hosted locally\n(using `make serve`) and a local server of [Automated Accessibility Testing Tool\n(AATT)](https://github.com/paypal/AATT).\n\n`make check_conformance` will output a file named `conformance_results.xml`\nwhich is a junit test suite output file that will contain a test case for each\ngenerated html file of the site.  A make rule `make check_conformance_errors`\nwill grep for failing test cases and output the html page name.  The idea here is\nto detect if any pages are failing and then manually using the AATT tool's\nweb interface to check what parts of the page violate the guidelines.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsel4%2Fdocs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsel4%2Fdocs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsel4%2Fdocs/lists"}