The Qubes OS Project Official Website
CSS HTML Shell JavaScript Python Makefile
Permalink
Failed to load latest commit information.
_data Deprecate Live USB Jan 12, 2017
_doc @ aa69a06 autoupdate: _doc Jan 16, 2017
_drafts Updated README with docs, commented out Donate items, changed draft t… Dec 7, 2015
_hcl @ ddd2765 Update _hcl submodule Jan 17, 2017
_includes Add loeken's video series Jan 17, 2017
_layouts Add important links to top of doc index Dec 20, 2016
_posts @ 2a0c403 autoupdate: _posts Dec 20, 2016
_sass Update styling for endorsements Dec 11, 2016
_utils Add support for signed commits Apr 4, 2016
attachment @ 054f7ac autoupdate: attachment Dec 21, 2016
css Add and update social media icons Dec 11, 2016
fonts upgraded FontAwesome lib QubesOS/qubes-issues#1460 Dec 7, 2015
js Reuse existing "id" elements in ToC links Sep 24, 2016
news Turn all authors and categories into links on main News page Dec 11, 2016
pages Shorten menu link to fit Jan 17, 2017
.gitignore Initial Qubes OS Project Website Mar 4, 2015
.gitmodules updating modules May 5, 2015
.travis.yml Create Travis email notifications; add self as recipient Nov 12, 2016
404.md Create custom 404 page Mar 9, 2016
CNAME added `jekyll new` site Mar 10, 2015
Gemfile adding GitHub Pages Gem (https://github.com/github/pages-gem) Jun 26, 2016
Makefile Use `jekyll serve --watch` to make testing faster. Sep 23, 2015
README.md Fix formatting Nov 26, 2016
_config.yml Update _config.yml Dec 17, 2016
android-chrome-192x192.png Generate favicons for all browsers and platforms Oct 24, 2016
android-chrome-512x512.png Generate favicons for all browsers and platforms Oct 24, 2016
apple-touch-icon.png Generate favicons for all browsers and platforms Oct 24, 2016
browserconfig.xml Generate favicons for all browsers and platforms Oct 24, 2016
favicon-16x16.png Generate favicons for all browsers and platforms Oct 24, 2016
favicon-32x32.png Generate favicons for all browsers and platforms Oct 24, 2016
favicon.ico Generate favicons for all browsers and platforms Oct 24, 2016
feed.xml fixed RSS feed and meta tags QubesOS/qubes-issues#1460 Dec 4, 2015
manifest.json Generate favicons for all browsers and platforms Oct 24, 2016
mstile-150x150.png Generate favicons for all browsers and platforms Oct 24, 2016
robots.txt Create robots.txt and specify path to sitemap.xml Oct 28, 2016
safari-pinned-tab.svg Generate favicons for all browsers and platforms Oct 24, 2016
sitemap.xml Create sitemap.xml (closes QubesOS/qubes-issues#2396) Oct 28, 2016

README.md

Build Status

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 of qubes-hcl-report)
  • qubes-posts (news and blog posts)

Instructions

  1. Install dependencies:

    $ sudo dnf install redhat-rpm-config ruby ruby-devel zlib-devel nodejs
    
  2. Clone this repo, including all submodules, and enter it:

    $ git clone --recursive https://github.com/QubesOS/qubesos.github.io.git
    $ cd qubesos.github.io/
    
  3. Update RubyGems:

    $ sudo gem update --system
    
  4. Install required Gems:

    $ gem install jekyll bundler github-pages
    
  5. Serve the website:

    $ bundle exec jekyll serve
    
  6. 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:

  1. Create a file your-new-page.md or .html
  2. Place this inside of the pages/ directory
  3. Copy a header section from another page and edit corresponding values
  4. Add this page to _data/architecture.yml file so that your page shows up in the footer navigation
  5. Pick an icon that matches thematically with your page :)

Adding Blog Posts

  1. Copy the template file _drafts/2015-12-06-a-template-daft.md to something like 2015-12-08-your-new-post.md
  2. This can be a .html file as well
  3. Place this inside of the _drafts/ directory
  4. To see drafts, add the --drafts flag when you run Jekyll such as jekyll s -V --drafts
  5. Edit the template file you just created
  6. Make sure to add "categories" to it
  7. When you are ready to publish your post, put your file inside of the _posts/ directory

Dependencies & Third Party Docs

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.)
  • 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