Qubes OS Official Website
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.
Backers
Support us with a monthly donation and help us continue our activities. [Become a backer]
Supporters
Is your organization using Qubes? Ask your manager to support us. Your organization's logo will show up on our Partners page. [Become a supporter]
Contents
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)
Instructions
-
Install dependencies:
$ sudo dnf install redhat-rpm-config ruby ruby-devel zlib-devel nodejs
-
Clone this repo, including all submodules, and enter it:
$ git clone --recursive https://github.com/QubesOS/qubesos.github.io.git $ cd qubesos.github.io/
-
Update RubyGems:
$ sudo gem update --system
-
Install required Gems:
$ gem install jekyll bundler github-pages
-
Serve the website:
$ bundle exec jekyll serve
-
Open your browser, and navigate to:
http://127.0.0.1:4000/
Done!
Notes
-
To update the submodules, use
git submodule foreach git pull --tags
. -
For troubleshooting with RubyGems, see: http://guides.rubygems.org/
-
For troubleshooting with Jekyll, see: https://jekyllrb.com/docs/home/
-
For troubleshooting with GitHub pages and Jekyll, see: https://help.github.com/articles/using-jekyll-as-a-static-site-generator-with-github-pages/
-
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
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.
Adding Normal Pages
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 :)
Adding Blog Posts
- 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
Dependencies & Third Party Docs
- 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
Markdown Conventions
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