Canonical URL: https://www.qubes-os.org
This is the main repository for the Qubes OS Project website. Qubes is a security-oriented, open-source operating system for personal computers. It uses virtualization to implement security by compartmentalization and supports both Linux and Windows virtual environments.
This repository consists of a Jekyll site and several Git submodules for content:
qubes-doc
(official documentation)qubes-attachment
(binary files such as images)qubes-hcl
(Hardware Compatibility List (HCL) reports generated by a YAML version ofqubes-hcl-report
)qubes-posts
(news and blog posts)
-
To clone the submodules along with this repo, use
git clone --recursive
. -
To update the submodules, use
git submodule foreach git pull
. -
To run Jekyll on your localhost, use
jekyll s -V --trace (--skip-initial)
. -
To run on a Git post-receive hook, use:
GIT_REPO=/usr/home/git/repositories/www.qubes-os.org.git GIT_CLONE=/usr/home/git/tmp/www.qubes-os.org PUBLIC_WWW=/usr/local/www/qubes-os.org/www/ if [ ! -d "$GIT_CLONE" ]; then git clone --recursive $GIT_REPO $GIT_CLONE else git --work-tree=$GIT_CLONE --git-dir=$GIT_CLONE/.git pull fi cd $GIT_CLONE && jekyll build -s $GIT_CLONE -d $PUBLIC_WWW find $PUBLIC_WWW -type f -print0 | xargs -0 chmod 666 find $PUBLIC_WWW -type d -print0 | xargs -0 chmod 777 exit
Contributions which improve the content of this repo are welcome. To contribute,
please fork and clone this repo, make your changes, then either
submit a pull request or send a patch to the qubes-devel
mailing list. If you have a GitHub account (free), you can simply
browse this repository and edit the files here. The GitHub interface will
automatically guide you through the fork and pull request process.
To add normal pages such as Getting Started or Donate, do the following:
- Create a file
your-new-page.md
or.html
- Place this inside of the
pages/
directory - Copy a header section from another page and edit corresponding values
- Add this page to
_data/architecture.yml
file so that your page shows up in the footer navigation - Pick an icon that matches thematically with your page :)
- Copy the template file
_drafts/2015-12-06-a-template-daft.md
to something like2015-12-08-your-new-post.md
- This can be a
.html
file as well - Place this inside of the
_drafts/
directory - To see drafts, add the
--drafts
flag when you run Jekyll such asjekyll s -V --drafts
- Edit the template file you just created
- Make sure to add "categories" to it
- When you are ready to publish your post, put your file inside of the
_posts/
directory
- Jekyll Documentation - template rendering engine
- Bootstrap 3 - styling and CSS structure
- FontAwesome - the icon font throughout the site
- jQuery 1.7 - javascript helper library
- jQuery ToC MD Generator - renders header menu on documentation section
Much of the site is written in Markdown. When making contributions to these areas, please observe the following style conventions, where appropriate:
- Use spaces instead of tabs.
- Hard wrap Markdown lines at 80 characters.
- Hard wrap Git commit message lines at 72 characters.
- This leaves exactly four spaces on each side of the commit message when
viewed in the default
git log
format.)
- This leaves exactly four spaces on each side of the commit message when
viewed in the default
- If appropriate, make numerals in numbered lists match between Markdown
source and HTML output.
- In the event that a user is required to read the Markdown source directly, this will make it easier to follow, e.g., numbered steps in a set of instructions.
- Use hanging indentations
where appropriate. - Use underline headings (
=====
and-----
) if possible. If this is not possible, use Atx-style headings on both the left and right sides (### H3 ###
). - Use
[reference-style][ref]
links.
[ref]: http://daringfireball.net/projects/markdown/syntax#link