├── README.md
├── img
├── bgnoise.png
├── favicon.ico
├── unitary.jpg
└── fosdem-logo.png
├── combo.css
├── _includes
├── footer.md
├── analytics.html
└── css
│ ├── skeleton.css
│ ├── main.css
│ └── base.css
├── _posts
├── 2019-01-04-dates.md
├── 2019-01-05-organizers.md
├── 2019-01-02-topics.md
├── 2019-01-03-submissions.md
└── 2019-01-01-intro.md
├── _config.yml
├── index.html
├── site.js
└── LICENSE
/README.md:
--------------------------------------------------------------------------------
1 | # fosdem19
2 | Quantum Computing devroom @ FOSDEM19
3 |
--------------------------------------------------------------------------------
/img/bgnoise.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qosf/fosdem19/HEAD/img/bgnoise.png
--------------------------------------------------------------------------------
/img/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qosf/fosdem19/HEAD/img/favicon.ico
--------------------------------------------------------------------------------
/img/unitary.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qosf/fosdem19/HEAD/img/unitary.jpg
--------------------------------------------------------------------------------
/img/fosdem-logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qosf/fosdem19/HEAD/img/fosdem-logo.png
--------------------------------------------------------------------------------
/combo.css:
--------------------------------------------------------------------------------
1 | ---
2 | ---
3 | {% include css/base.css %}
4 | {% include css/skeleton.css %}
5 | {% include css/main.css %}
6 |
--------------------------------------------------------------------------------
/_includes/footer.md:
--------------------------------------------------------------------------------
1 |
2 |
3 | Please email fosdem19@qosf.org
5 | with questions or concerns.
6 |
--------------------------------------------------------------------------------
/_posts/2019-01-04-dates.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Dates"
3 | bg: red
4 | color: white
5 | style: left
6 | fa-icon: calendar
7 | icon-title: true
8 | ---
9 |
10 | Call for participation available: Sunday Nov 18th 2018
11 |
12 | Call for participation closes: Wednesday Dec 12th 2018 (23:59 UTC)
13 |
14 | Devroom schedule available: Monday Dec 17th 2018
15 |
16 | Devroom date: Saturday February 2nd 2019 (10.30am - 7pm)
17 |
--------------------------------------------------------------------------------
/_posts/2019-01-05-organizers.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Organizers"
3 | bg: green
4 | color: white
5 | style: left
6 | fa-icon: users
7 | icon-title: true
8 | encoding: utf-8
9 | ---
10 |
11 | ## Organizers
12 |
13 | * [Tomas Babej](https://github.com/tbabej) - ProteinQure Inc.
14 | * [Mark Fingerhuth](https://github.com/markf94) - ProteinQure Inc.
15 | * [Peter Wittek](https://gitlab.com/peterwittek) - University Of Toronto, Vector Institute, Perimeter Institute for Theoretical Physics
16 |
17 | Please, take a moment to read the [FOSDEM Code of Conduct](https://fosdem.org/2019/practical/conduct/).
18 |
--------------------------------------------------------------------------------
/_includes/analytics.html:
--------------------------------------------------------------------------------
1 | {% if site.google_analytics_key %}
2 |
15 | {% endif %}
--------------------------------------------------------------------------------
/_posts/2019-01-02-topics.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Topics"
3 | bg: blue
4 | color: white
5 | style: left
6 | fa-icon: list-ul
7 | icon-title: true
8 | ---
9 |
10 | ### We welcome submissions that are devoted to the following topics:
11 |
12 | - Introduction of open source projects in quantum computing
13 | - Future directions and roadmaps of existing projects
14 | - Use-cases and experiences of using existing open source software projects for
15 | quantum computing research and quantum software development
16 | - Identification of possible gaps in the space of open source for quantum computing
17 | - Discussions about the state of the open source community and possible ways of
18 | improving it
19 |
20 | and other topics that relate to quantum computing software.
21 |
--------------------------------------------------------------------------------
/_posts/2019-01-03-submissions.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Submission"
3 | bg: orange
4 | color: white
5 | style: left
6 | fa-icon: file-text-o
7 | icon-title: true
8 | ---
9 |
10 | We encourage both talks and workshop formats. We suggest following durations,
11 | including questions:
12 | - 20 min - lighting talks
13 | - 45-60 min - talks
14 | - 90-120 min - workshops
15 |
16 | Note that the talks at FOSDEM are captured (and streamed) under the CC-BY
17 | licence. Speakers are hence required to give permission to being recorded.
18 |
19 | Submit proposals either using the FOSDEM submission system:
20 |
21 |
https://penta.fosdem.org/submission/FOSDEM19
22 |
23 | or sending them to the email address:
24 |
25 | fosdem19@qosf.org
26 |
27 | Include speaker info, title, short abstract and description (up to 200 words).
28 |
29 | Pentabarf instructions: To submit your talk, click on "Create Event " and then
30 | select the "Quantum computing " as the "Track ". If you have already spoken at
31 | FOSDEM previously, please re-use your account.
32 |
--------------------------------------------------------------------------------
/_config.yml:
--------------------------------------------------------------------------------
1 | ---
2 |
3 | port: 4000
4 | host: 0.0.0.0
5 | safe: false
6 |
7 |
8 | ### site serving configuration ###
9 | exclude: [CNAME, README.md, .gitignore]
10 | timezone: null
11 | lsi: false
12 | markdown: kramdown
13 | highlighter: rouge
14 |
15 |
16 | ### content configuration ###
17 | title: "FOSDEM'19 Quantum Computing devroom"
18 | keywords: "quantum computing"
19 | description: "FOSDEM'19 Quantum Computing devroom"
20 | source_link: "https://github.com/qosf/fosdem19"
21 | favicon: "img/favicon.ico"
22 |
23 |
24 | ### template colors, used site-wide via css ###
25 | colors:
26 | black: '#111111'
27 | white: '#ffffff'
28 | blue: '#2a52be'
29 | orange: '#a98625'
30 | red: '#be4c2a'
31 | green: '#377f1c'
32 | purple: '#be2a52'
33 | turquoise: '#2a9cbe'
34 |
35 | # Dull pastels
36 | # black: '#111111'
37 | # white: '#ffffff'
38 | # blue: '#779ecb'
39 | # orange: '#cba477'
40 | # red: '#cb7a77'
41 | # green: '#9ecb77'
42 | # purple: '#cb779e'
43 | # turquoise: '#77c8cb'
44 |
45 | # Original Bright colors
46 | # black: '#111111'
47 | # white: '#f8f8f8'
48 | # blue: '#49a7e9'
49 | # green: '#9bcf2f'
50 | # purple: '#c869bf'
51 | # orange: '#fab125'
52 | # turquoise: '#0fbfcf'
53 |
--------------------------------------------------------------------------------
/_posts/2019-01-01-intro.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "FOSDEM'19 Quantum Computing devroom"
3 | bg: white
4 | color: black
5 | style: left
6 | ---
7 |
8 | # FOSDEM'19 Quantum Computing devroom
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 | ### Saturday, February 2, 2019, Brussels, Belgium
18 |
19 |
20 |
21 |
22 |
23 |
24 | ### Overview
25 |
26 | Quantum computing is a new emerging field that coming out of the lab and
27 | finding its applications in the real world. The space of the open source
28 | software for quantum computing is blooming with this trend, with researchers
29 | and hardware providers alike investing in creating software infrastructure
30 | for this new computing paradigm.
31 |
32 | With that in mind, the purpose of this devroom is twofold:
33 |
34 | - to flatten down the learning curve and break perceived barriers that prevent
35 | developers from entering the field of quantum software development
36 | - to ensure that the field is dominated by high-quality, community driven FOSS
37 | open source software, standards and protocols
38 |
39 | Many of the players have open sourced libraries to build quantum computing
40 | circuits and interact with their platforms, both actual hardware and simulators.
41 | However, not enough attention is given to building a wider quantum computing
42 | community and current trajectory leads to multiple silos, projects that are
43 | driven by commercial interest without liberal community driven governance
44 | structure.
45 |
46 | FOSDEM is one of the largest gatherings of open source community in the world,
47 | which happens yearly at the ULB Capus Solbosch, Brussels, Belgium. As such, it
48 | is an ideal place not only to showcase and discuss new ideas and developments
49 | in the space of quantum computing, but also help break down the barriers in
50 | adopting quantum computing by software developers.
51 |
52 |
53 |
54 |
55 |
56 | This event is supported by Unitary Fund , If you require financial travel
57 | support, please reach out to:
58 |
59 | travel@qosf.org
60 |
--------------------------------------------------------------------------------
/index.html:
--------------------------------------------------------------------------------
1 | ---
2 | ---
3 |
4 |
5 |
6 |
7 |
8 | {{ site.title }}
9 |
10 |
11 |
12 |
13 |
14 | {% if site.favicon %} {% endif %}
15 | {% if site.touch_icon %} {% endif %}
16 |
17 |
18 |
19 |
20 |
21 | {% for node in site.posts reversed %}
22 | {% capture id %}{{ node.title | remove:'/' | downcase }}{% endcapture %}
23 | {{node.title}}
24 | {% endfor %}
25 |
26 |
27 |
28 | {% for page in site.posts reversed %}
29 | {% capture id %}{{ page.title | remove:'/' | downcase }}{% endcapture %}
30 |
31 | {% if page.icon %}
32 |
33 |
34 |
{{ page.title }}
35 |
36 | {% elsif page.fa-icon %}
37 |
38 |
39 |
40 |
41 |
42 | {% if page.icon-title %}
43 |
{{ page.title }}
44 | {% endif %}
45 |
46 | {% endif %}
47 |
48 | {{ page.content }}
49 |
50 |
51 | {% endfor %}
52 |
53 |
54 |
60 |
61 |
62 | {% include analytics.html %}
63 |
64 |
65 |
66 |
67 |
--------------------------------------------------------------------------------
/_includes/css/skeleton.css:
--------------------------------------------------------------------------------
1 |
2 | /* -----------------------------------*/
3 | /* ----- 960px wide fancy grid! ----- */
4 | /* -----------------------------------*/
5 |
6 | /* by tim o'brien, t413.com
7 | * based on getskeleton.com
8 | */
9 |
10 |
11 | /* ----- base grid----- */
12 |
13 | .container { position: relative; width: 960px; margin: 0 auto; padding: 0; }
14 | .container .column { float: left; display: inline; margin-left: 10px; margin-right: 10px; }
15 | .row { margin-bottom: 20px; }
16 |
17 | .container .small.column { width: 300px; }
18 | .container .half.column { width: 460px; }
19 | .container .big.column { width: 620px; }
20 | .container .full.column { width: 940px; }
21 |
22 |
23 | /* ----- Tablet (Portrait) -- 768px ----- */
24 | @media only screen and (min-width: 768px) and (max-width: 959px) {
25 | .container { width: 768px; }
26 |
27 | .container .small.column { width: 236px; }
28 | .container .half.column { width: 364px; }
29 | .container .big.column { width: 488px; }
30 | .container .full.column { width: 748px; }
31 | }
32 |
33 |
34 | /* ----- Mobile (Portrait) ----- */
35 | @media only screen and (max-width: 767px) {
36 | .container { width: 96%; }
37 | .container .column { margin: 1%; }
38 |
39 | .container .small.column { width: 48%; }
40 | .container .half.column { width: 48%; }
41 | .container .big.column { width: 98%; }
42 | .container .full.column { width: 98%; }
43 | }
44 |
45 |
46 | /* ----- Mobile (Landscape) -- 480px ----- */
47 | @media only screen and (min-width: 480px) and (max-width: 767px) {
48 | .container { width: 92%; }
49 | .container .column { margin: 2%; }
50 |
51 | .container .small.column { width: 46%; }
52 | .container .half.column { width: 46%; }
53 | .container .big.column { width: 96%; }
54 | .container .full.column { width: 96%; }
55 | }
56 |
57 |
58 |
59 | /* ----- Clearing ----- */
60 |
61 | /* Self Clearing Goodness */
62 | .container:after { content: "\0020"; display: block; height: 0; clear: both; visibility: hidden; }
63 |
64 | /* Use clearfix class on parent to clear nested columns,
65 | or wrap each row of columns in a */
66 | .clearfix:before,
67 | .clearfix:after,
68 | .row:before,
69 | .row:after {
70 | content: '\0020';
71 | display: block;
72 | overflow: hidden;
73 | visibility: hidden;
74 | width: 0;
75 | height: 0; }
76 | .row:after,
77 | .clearfix:after {
78 | clear: both; }
79 | .row,
80 | .clearfix {
81 | zoom: 1; }
82 |
83 | /* You can also use a to clear columns */
84 | .clear {
85 | clear: both;
86 | display: block;
87 | overflow: hidden;
88 | visibility: hidden;
89 | width: 0;
90 | height: 0;
91 | }
92 |
--------------------------------------------------------------------------------
/site.js:
--------------------------------------------------------------------------------
1 |
2 | $.extend($.easing,
3 | {
4 | def: 'easeOutQuad',
5 | easeInOutExpo: function (x, t, b, c, d) {
6 | if (t==0) return b;
7 | if (t==d) return b+c;
8 | if ((t/=d/2) < 1) return c/2 * Math.pow(2, 10 * (t - 1)) + b;
9 | return c/2 * (-Math.pow(2, -10 * --t) + 2) + b;
10 | }
11 | });
12 |
13 | (function( $ ) {
14 |
15 | var settings;
16 | var disableScrollFn = false;
17 | var navItems;
18 | var navs = {}, sections = {};
19 |
20 | $.fn.navScroller = function(options) {
21 | settings = $.extend({
22 | scrollToOffset: 170,
23 | scrollSpeed: 800,
24 | activateParentNode: true,
25 | }, options );
26 | navItems = this;
27 |
28 | //attatch click listeners
29 | navItems.on('click', function(event){
30 | event.preventDefault();
31 | var navID = $(this).attr("href").substring(1);
32 | disableScrollFn = true;
33 | activateNav(navID);
34 | populateDestinations(); //recalculate these!
35 | $('html,body').animate({scrollTop: sections[navID] - settings.scrollToOffset},
36 | settings.scrollSpeed, "easeInOutExpo", function(){
37 | disableScrollFn = false;
38 | }
39 | );
40 | });
41 |
42 | //populate lookup of clicable elements and destination sections
43 | populateDestinations(); //should also be run on browser resize, btw
44 |
45 | // setup scroll listener
46 | $(document).scroll(function(){
47 | if (disableScrollFn) { return; }
48 | var page_height = $(window).height();
49 | var pos = $(this).scrollTop();
50 | for (i in sections) {
51 | if ((pos + settings.scrollToOffset >= sections[i]) && sections[i] < pos + page_height){
52 | activateNav(i);
53 | }
54 | }
55 | });
56 | };
57 |
58 | function populateDestinations() {
59 | navItems.each(function(){
60 | var scrollID = $(this).attr('href').substring(1);
61 | navs[scrollID] = (settings.activateParentNode)? this.parentNode : this;
62 | sections[scrollID] = $(document.getElementById(scrollID)).offset().top;
63 | });
64 | }
65 |
66 | function activateNav(navID) {
67 | for (nav in navs) { $(navs[nav]).removeClass('active'); }
68 | $(navs[navID]).addClass('active');
69 | }
70 | })( jQuery );
71 |
72 |
73 | $(document).ready(function (){
74 |
75 | $('nav li a').navScroller();
76 |
77 | //section divider icon click gently scrolls to reveal the section
78 | $(".sectiondivider").on('click', function(event) {
79 | $('html,body').animate({scrollTop: $(event.target.parentNode).offset().top - 50}, 400, "linear");
80 | });
81 |
82 | //links going to other sections nicely scroll
83 | $(".container a").each(function(){
84 | if ($(this).attr("href").charAt(0) == '#'){
85 | $(this).on('click', function(event) {
86 | event.preventDefault();
87 | var target = $(event.target).closest("a");
88 | var targetHight = $(target.attr("href")).offset().top
89 | $('html,body').animate({scrollTop: targetHight - 170}, 800, "easeInOutExpo");
90 | });
91 | }
92 | });
93 |
94 | });
95 |
96 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | CC0 1.0 Universal
2 |
3 | Statement of Purpose
4 |
5 | The laws of most jurisdictions throughout the world automatically confer
6 | exclusive Copyright and Related Rights (defined below) upon the creator and
7 | subsequent owner(s) (each and all, an "owner") of an original work of
8 | authorship and/or a database (each, a "Work").
9 |
10 | Certain owners wish to permanently relinquish those rights to a Work for the
11 | purpose of contributing to a commons of creative, cultural and scientific
12 | works ("Commons") that the public can reliably and without fear of later
13 | claims of infringement build upon, modify, incorporate in other works, reuse
14 | and redistribute as freely as possible in any form whatsoever and for any
15 | purposes, including without limitation commercial purposes. These owners may
16 | contribute to the Commons to promote the ideal of a free culture and the
17 | further production of creative, cultural and scientific works, or to gain
18 | reputation or greater distribution for their Work in part through the use and
19 | efforts of others.
20 |
21 | For these and/or other purposes and motivations, and without any expectation
22 | of additional consideration or compensation, the person associating CC0 with a
23 | Work (the "Affirmer"), to the extent that he or she is an owner of Copyright
24 | and Related Rights in the Work, voluntarily elects to apply CC0 to the Work
25 | and publicly distribute the Work under its terms, with knowledge of his or her
26 | Copyright and Related Rights in the Work and the meaning and intended legal
27 | effect of CC0 on those rights.
28 |
29 | 1. Copyright and Related Rights. A Work made available under CC0 may be
30 | protected by copyright and related or neighboring rights ("Copyright and
31 | Related Rights"). Copyright and Related Rights include, but are not limited
32 | to, the following:
33 |
34 | i. the right to reproduce, adapt, distribute, perform, display, communicate,
35 | and translate a Work;
36 |
37 | ii. moral rights retained by the original author(s) and/or performer(s);
38 |
39 | iii. publicity and privacy rights pertaining to a person's image or likeness
40 | depicted in a Work;
41 |
42 | iv. rights protecting against unfair competition in regards to a Work,
43 | subject to the limitations in paragraph 4(a), below;
44 |
45 | v. rights protecting the extraction, dissemination, use and reuse of data in
46 | a Work;
47 |
48 | vi. database rights (such as those arising under Directive 96/9/EC of the
49 | European Parliament and of the Council of 11 March 1996 on the legal
50 | protection of databases, and under any national implementation thereof,
51 | including any amended or successor version of such directive); and
52 |
53 | vii. other similar, equivalent or corresponding rights throughout the world
54 | based on applicable law or treaty, and any national implementations thereof.
55 |
56 | 2. Waiver. To the greatest extent permitted by, but not in contravention of,
57 | applicable law, Affirmer hereby overtly, fully, permanently, irrevocably and
58 | unconditionally waives, abandons, and surrenders all of Affirmer's Copyright
59 | and Related Rights and associated claims and causes of action, whether now
60 | known or unknown (including existing as well as future claims and causes of
61 | action), in the Work (i) in all territories worldwide, (ii) for the maximum
62 | duration provided by applicable law or treaty (including future time
63 | extensions), (iii) in any current or future medium and for any number of
64 | copies, and (iv) for any purpose whatsoever, including without limitation
65 | commercial, advertising or promotional purposes (the "Waiver"). Affirmer makes
66 | the Waiver for the benefit of each member of the public at large and to the
67 | detriment of Affirmer's heirs and successors, fully intending that such Waiver
68 | shall not be subject to revocation, rescission, cancellation, termination, or
69 | any other legal or equitable action to disrupt the quiet enjoyment of the Work
70 | by the public as contemplated by Affirmer's express Statement of Purpose.
71 |
72 | 3. Public License Fallback. Should any part of the Waiver for any reason be
73 | judged legally invalid or ineffective under applicable law, then the Waiver
74 | shall be preserved to the maximum extent permitted taking into account
75 | Affirmer's express Statement of Purpose. In addition, to the extent the Waiver
76 | is so judged Affirmer hereby grants to each affected person a royalty-free,
77 | non transferable, non sublicensable, non exclusive, irrevocable and
78 | unconditional license to exercise Affirmer's Copyright and Related Rights in
79 | the Work (i) in all territories worldwide, (ii) for the maximum duration
80 | provided by applicable law or treaty (including future time extensions), (iii)
81 | in any current or future medium and for any number of copies, and (iv) for any
82 | purpose whatsoever, including without limitation commercial, advertising or
83 | promotional purposes (the "License"). The License shall be deemed effective as
84 | of the date CC0 was applied by Affirmer to the Work. Should any part of the
85 | License for any reason be judged legally invalid or ineffective under
86 | applicable law, such partial invalidity or ineffectiveness shall not
87 | invalidate the remainder of the License, and in such case Affirmer hereby
88 | affirms that he or she will not (i) exercise any of his or her remaining
89 | Copyright and Related Rights in the Work or (ii) assert any associated claims
90 | and causes of action with respect to the Work, in either case contrary to
91 | Affirmer's express Statement of Purpose.
92 |
93 | 4. Limitations and Disclaimers.
94 |
95 | a. No trademark or patent rights held by Affirmer are waived, abandoned,
96 | surrendered, licensed or otherwise affected by this document.
97 |
98 | b. Affirmer offers the Work as-is and makes no representations or warranties
99 | of any kind concerning the Work, express, implied, statutory or otherwise,
100 | including without limitation warranties of title, merchantability, fitness
101 | for a particular purpose, non infringement, or the absence of latent or
102 | other defects, accuracy, or the present or absence of errors, whether or not
103 | discoverable, all to the greatest extent permissible under applicable law.
104 |
105 | c. Affirmer disclaims responsibility for clearing rights of other persons
106 | that may apply to the Work or any use thereof, including without limitation
107 | any person's Copyright and Related Rights in the Work. Further, Affirmer
108 | disclaims responsibility for obtaining any necessary consents, permissions
109 | or other rights required for any use of the Work.
110 |
111 | d. Affirmer understands and acknowledges that Creative Commons is not a
112 | party to this document and has no duty or obligation with respect to this
113 | CC0 or use of the Work.
114 |
115 | For more information, please see
116 |
117 |
--------------------------------------------------------------------------------
/_includes/css/main.css:
--------------------------------------------------------------------------------
1 | html { box-sizing: border-box; }
2 | *, *:before, *:after { box-sizing: inherit; }
3 |
4 | /* ---------------------------*/
5 | /* ----- Special Styles ----- */
6 | /* ---------------------------*/
7 |
8 | /* ----- colors (autogenerated from _config.yml)----- */
9 |
10 | {% for c in site.colors %}
11 | .border-{{c[0]}} { border-color: {{ c[1] }} !important; }
12 | .text-{{c[0]}} { color: {{ c[1] }}; }
13 | .text-{{c[0]}} a { color: {{ c[1] }}; }
14 | .bg-{{c[0]}} { background-color: {{ c[1] }} !important; }
15 | {% endfor %}
16 |
17 | /* ----- per-post colors! ----- */
18 | {% for node in site.posts %}
19 | {% capture id %}{{ node.title | remove:'/' | downcase }}{% endcapture %}
20 | {% capture bg %}{% if site.colors[node.bg] %}{{ site.colors[node.bg] }}{% else %}{{ node.bg }}{% endif %}{% endcapture %}
21 | {% capture fg %}{% if site.colors[node.color] %}{{ site.colors[node.color] }}{% else %}{{ node.color }}{% endif %}{% endcapture %}
22 | nav .p-{{id}} { border-color: {{ bg }}; }
23 | #{{id}} { background-color: {{ bg }} !important; color: {{ fg }}; }
24 | #{{id}} a { color: {{ fg }}; }
25 | #{{id}} .sectiondivider { color: {{ bg }}; }
26 | {% endfor %}
27 |
28 |
29 | /* ----- code, syntax highlighting, etc ----- */
30 |
31 | code, pre { font-family: Monaco, Menlo, Consolas, "Courier New", monospace; }
32 |
33 | /* spesifically inline code */
34 | code {
35 | background: rgba(255,255,255,0.2);
36 | display: inline;
37 | word-wrap: break-word;
38 | }
39 |
40 | /* block code */
41 | pre code { background: none; display: block; }
42 | pre {
43 | display: block;
44 | margin: 20px 5%;
45 | padding: 4px 8px;
46 | background: rgba(255,255,255,0.1);
47 | word-wrap: break-word;
48 | }
49 |
50 | .highlighttable { margin:20px 5%; }
51 |
52 |
53 | /* ----- base elements ----- */
54 |
55 | img {
56 | max-width:100%!important;
57 | height:auto;
58 | vertical-align:middle;
59 | }
60 |
61 | hr {
62 | margin:60px auto;
63 | width:50%;
64 | border-color: {{ site.colors.black }};
65 | }
66 |
67 | .container { word-wrap: break-word; }
68 | .center { text-align: center; }
69 | .left, .container .left { text-align: left; }
70 |
71 | .container h1, .container h2, .container h3, .container h4 {
72 | margin-bottom: 20px;
73 | text-align: center;
74 | padding: 0 4%;
75 | }
76 | .container p, .container ol, .container ul {
77 | font-size: 17px;
78 | padding: 0 5%;
79 | }
80 | .container ol, .container ul { padding: 0 8%; }
81 | .container p:first-of-type {
82 | margin-top: 40px;
83 | }
84 |
85 | /* keep embedded videos fluid! */
86 | .icontain {
87 | position: relative;
88 | height: 0;
89 | overflow: hidden;
90 | padding-bottom: 56.25%; /* keep 16x9 Aspect Ratio */
91 | }
92 | .i4x3 { padding-bottom: 75.00%; } /* keep 4x3 Aspect Ratio */
93 | .icontain iframe {
94 | position: absolute;
95 | top:0;
96 | left: 0;
97 | width: 100%;
98 | height: 100%;
99 | }
100 |
101 | .inlineblock {
102 | display:-moz-inline-stack;
103 | display:inline-block;
104 | zoom:1;
105 | *display:inline;
106 | }
107 |
108 | /* ---------------------------*/
109 | /* ----- Main Structure ----- */
110 | /* ---------------------------*/
111 |
112 | /* ----- top menu ----- */
113 |
114 | {% assign navborder = 3 %}
115 | {% assign navborder_active = 6 %}
116 |
117 | nav {
118 | font-size:15px;
119 | width:100%;
120 | position:fixed;
121 | z-index:100;
122 | top:0;
123 | left:0;
124 | background:#2e2e2e;
125 | }
126 |
127 | nav ul {
128 | list-style:none;
129 | text-align:center;
130 | padding:0;
131 | margin:0;
132 | letter-spacing:-4px;
133 | }
134 |
135 | nav ul li {
136 | display:inline-block;
137 | border-top:{{navborder}}px solid;
138 | padding: {{navborder}}px 0;
139 | *display:inline;
140 | zoom:1;
141 | line-height:normal;
142 | letter-spacing:normal;
143 | text-transform:uppercase;
144 | min-width:110px;
145 | line-height:60px;
146 | margin:0;
147 | }
148 |
149 | nav ul li a, nav ul li a:visited {
150 | display:block;
151 | color:#fff;
152 | text-decoration:none;
153 | font-weight:600;
154 | opacity:.75;
155 | }
156 |
157 | nav ul li a:hover {
158 | opacity:1
159 | }
160 | nav ul li:hover, nav ul li.active {
161 | border-top-width: {{navborder_active}}px;
162 | padding-top: 0;
163 | }
164 |
165 |
166 | /* ----- sections/articles ----- */
167 |
168 | .section {
169 | position:relative;
170 | display:block;
171 | width:100%;
172 | min-height:300px;
173 | padding:210px 0;
174 | background:url(img/bgnoise.png);
175 | /* generated noise from noisetexturegenerator.com */
176 | }
177 |
178 | .section:first-of-type {
179 | padding-top: 140px;
180 | }
181 |
182 |
183 | #footer {
184 | padding: 8px 0;
185 | min-height:0;
186 | text-align:center;
187 | background-color:#2e2e2e;
188 | background-image:none;
189 | }
190 | #footer .container p { font-size:13px; margin:0; }
191 |
192 | .subtlecircle {
193 | text-align:center;
194 | z-index:3;
195 | border-radius:50%;
196 | -moz-border-radius:50%;
197 | -webkit-border-radius:50%;
198 | box-shadow: 0px 1px 15px rgba(0,0,0,0.05);
199 | background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAF0lEQVQIHWP8//+/MQMaYELjg7kUCgIASm8DOqGzfp8AAAAASUVORK5CYII=);
200 | }
201 |
202 | .sectiondivider {
203 | width:200px;
204 | height:200px;
205 | padding:11px;
206 | position:absolute;
207 | top:-100px;
208 | left:50%;
209 | margin-left:-100px;
210 | }
211 |
212 | .sectiondivider img {
213 | width:200px;
214 | height:170px;
215 | position: static;
216 | margin-top: -20px;
217 | }
218 |
219 | .sectiondivider .fa-stack {
220 | font-size: 96px;
221 | position: static;
222 | margin-top: -8px;
223 | }
224 | .sectiondivider .fa-circle { color: #fff; }
225 |
226 | .sectiondivider h5 {
227 | font-size:15px;
228 | font-weight:700;
229 | text-transform:uppercase;
230 | position:absolute;
231 | bottom:30px;
232 | left:auto;
233 | text-align:center;
234 | display:block;
235 | z-index:6;
236 | width:175px;
237 | }
238 |
239 | .sectiondivider.imaged {
240 | text-shadow: 1px 1px 3px #333;
241 | }
242 |
243 |
244 | .columned {
245 | -webkit-column-count: 3;
246 | -moz-column-count: 3;
247 | column-count: 3;
248 |
249 | -webkit-column-gap: 40px;
250 | -moz-column-gap: 40px;
251 | column-gap: 40px;
252 |
253 | -webkit-column-rule: 1px outset rgba(255,255,255,0.5);
254 | -moz-column-rule: 1px outset rgba(255,255,255,0.5);
255 | column-rule: 1px outset rgba(255,255,255,0.5);
256 | }
257 | .longlist { font-size: 14px !important; }
258 | .longlist li { margin-bottom: 3px; }
259 |
260 |
261 |
262 | /* ----- fork on github banner ----- */
263 | #forkongithub a {
264 | color:#fff;
265 | text-decoration:none;
266 | font-family:arial,sans-serif;
267 | text-align:center;
268 | font-weight:700;
269 | font-size:1rem;
270 | line-height:2rem;
271 | position:relative;
272 | transition:.5s;
273 | padding:5px 40px;
274 | }
275 | #forkongithub a::before, #forkongithub a::after {
276 | content:""; width:100%; display:block; position:absolute;
277 | top:1px; left:0; height:1px; background:#fff;
278 | }
279 | #forkongithub a::after { bottom:1px; top:auto; }
280 | @media screen and (min-width:800px) {
281 | #forkongithub {
282 | position:fixed;
283 | display:block;
284 | top:0;
285 | right:0;
286 | width:200px;
287 | overflow:hidden;
288 | height:200px;
289 | z-index:9999;
290 | }
291 | #forkongithub a {
292 | width:200px;
293 | position:absolute;
294 | top:60px;
295 | right:-60px;
296 | transform:rotate(45deg);
297 | -webkit-transform:rotate(45deg);
298 | -ms-transform:rotate(45deg);
299 | -moz-transform:rotate(45deg);
300 | -o-transform:rotate(45deg);
301 | box-shadow:4px 4px 10px rgba(0,0,0,0.8);
302 | box-sizing: content-box;
303 | }
304 | }
305 |
306 |
307 |
308 | /* mid size (tablets, landscapes) */
309 | @media only screen and (max-width: 679px) {
310 | nav { font-size:11px; }
311 | nav ul li {
312 | min-width:60px;
313 | line-height:40px;
314 | }
315 | }
316 |
317 | /* tiny size (phones) */
318 | @media only screen and (max-width: 380px) {
319 | nav ul li { min-width:90px; line-height:20px; }
320 | }
321 |
322 | /* anything not desktop */
323 | @media only screen and (max-width: 767px) {
324 | .container h1 { font-size: 30px; }
325 | .container h2 { font-size: 24px; }
326 | .container h3 { font-size: 20px; }
327 | .container h4 { font-size: 18px; }
328 |
329 |
330 | .section { padding:130px 0; }
331 | .sectiondivider {
332 | width:200px;
333 | height:200px;
334 | padding:15px;
335 | top:-100px;
336 | margin-left:-100px;
337 | }
338 | .sectiondivider img {
339 | width:150px;
340 | height:180px;
341 | }
342 | .sectiondivider .fa-stack {
343 | font-size: 100px;
344 | margin-top: -14px;
345 | }
346 | .sectiondivider h5 {
347 | font-size:15px;
348 | bottom:30px;
349 | width:170px
350 | }
351 |
352 | .columned {
353 | -webkit-column-count: 2;
354 | -moz-column-count: 2;
355 | column-count: 2;
356 | }
357 | }
358 |
--------------------------------------------------------------------------------
/_includes/css/base.css:
--------------------------------------------------------------------------------
1 | /*
2 | * Skeleton V1.2
3 | * Copyright 2011, Dave Gamache
4 | * www.getskeleton.com
5 | * Free to use under the MIT license.
6 | * http://www.opensource.org/licenses/mit-license.php
7 | * 6/20/2012
8 | */
9 |
10 |
11 | /* Table of Content
12 | ==================================================
13 | #Reset & Basics
14 | #Basic Styles
15 | #Site Styles
16 | #Typography
17 | #Links
18 | #Lists
19 | #Images
20 | #Buttons
21 | #Forms
22 | #Misc */
23 |
24 |
25 | /* #Reset & Basics (Inspired by E. Meyers)
26 | ================================================== */
27 | html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
28 | margin: 0;
29 | padding: 0;
30 | border: 0;
31 | font-size: 100%;
32 | font: inherit;
33 | vertical-align: baseline; }
34 | article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
35 | display: block; }
36 | body {
37 | line-height: 1; }
38 | ol, ul {
39 | list-style: none; }
40 | blockquote, q {
41 | quotes: none; }
42 | blockquote:before, blockquote:after,
43 | q:before, q:after {
44 | content: '';
45 | content: none; }
46 | table {
47 | border-collapse: collapse;
48 | border-spacing: 0; }
49 |
50 |
51 | /* #Basic Styles
52 | ================================================== */
53 | body {
54 | background: #fff;
55 | font: 14px/21px "Raleway", "HelveticaNeue-Light", Arial, sans-serif;
56 | color: #444;
57 | -webkit-font-smoothing: antialiased; /* Fix for webkit rendering */
58 | -webkit-text-size-adjust: 100%;
59 | }
60 |
61 |
62 | /* #Typography
63 | ================================================== */
64 | h1, h2, h3, h4, h5, h6 {
65 | font-weight: 300; }
66 | h1 a, h2 a, h3 a, h4 a, h5 a, h6 a { font-weight: inherit; }
67 | h1 { font-size: 46px; line-height: 50px; margin-bottom: 14px;}
68 | h2 { font-size: 35px; line-height: 40px; margin-bottom: 10px; }
69 | h3 { font-size: 28px; line-height: 34px; margin-bottom: 8px; }
70 | h4 { font-size: 21px; line-height: 30px; margin-bottom: 4px; }
71 | h5 { font-size: 17px; line-height: 24px; }
72 | h6 { font-size: 14px; line-height: 21px; }
73 | .subheader { color: #777; }
74 |
75 | p { margin: 0 0 20px 0; }
76 | p img { margin: 0; }
77 | p.lead { font-size: 21px; line-height: 27px; color: #777; }
78 |
79 | em { font-style: italic; }
80 | strong { font-weight: bold; }
81 | small { font-size: 80%; }
82 |
83 | /* Blockquotes */
84 | blockquote, blockquote p { font-size: 17px; line-height: 24px; color: #777; font-style: italic; }
85 | blockquote { margin: 0 0 20px; padding: 9px 20px 0 19px; border-left: 1px solid #ddd; }
86 | blockquote cite { display: block; font-size: 12px; color: #555; }
87 | blockquote cite:before { content: "\2014 \0020"; }
88 | blockquote cite a, blockquote cite a:visited, blockquote cite a:visited { color: #555; }
89 |
90 | hr { border: solid #ddd; border-width: 1px 0 0; clear: both; margin: 10px 0 30px; height: 0; }
91 |
92 |
93 | /* #Links
94 | ================================================== */
95 | a, a:visited { text-decoration: underline; outline: 0; }
96 | a:hover, a:focus { }
97 | p a, p a:visited { line-height: inherit; }
98 |
99 |
100 | /* #Lists
101 | ================================================== */
102 | ul, ol { margin-bottom: 20px; }
103 | ul { list-style: none outside; }
104 | ol { list-style: decimal; }
105 | ul, ul.square { list-style: square outside; }
106 | ul ul, ul.circle { list-style: circle outside; }
107 | ul ul ul, ul.disc { list-style: disc outside; }
108 | ul ul li, ul ol li,
109 | ol ol li, ol ul li { margin-bottom: 6px; }
110 | li { line-height: 18px; margin-bottom: 12px; }
111 | ul.large li { line-height: 21px; }
112 | li p { line-height: 21px; }
113 |
114 | /* #Images
115 | ================================================== */
116 |
117 | img.scale-with-grid {
118 | max-width: 100%;
119 | height: auto; }
120 |
121 |
122 | /* #Buttons
123 | ================================================== */
124 |
125 | .button,
126 | button,
127 | input[type="submit"],
128 | input[type="reset"],
129 | input[type="button"] {
130 | background: #eee; /* Old browsers */
131 | background: #eee -moz-linear-gradient(top, rgba(255,255,255,.2) 0%, rgba(0,0,0,.2) 100%); /* FF3.6+ */
132 | background: #eee -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(255,255,255,.2)), color-stop(100%,rgba(0,0,0,.2))); /* Chrome,Safari4+ */
133 | background: #eee -webkit-linear-gradient(top, rgba(255,255,255,.2) 0%,rgba(0,0,0,.2) 100%); /* Chrome10+,Safari5.1+ */
134 | background: #eee -o-linear-gradient(top, rgba(255,255,255,.2) 0%,rgba(0,0,0,.2) 100%); /* Opera11.10+ */
135 | background: #eee -ms-linear-gradient(top, rgba(255,255,255,.2) 0%,rgba(0,0,0,.2) 100%); /* IE10+ */
136 | background: #eee linear-gradient(top, rgba(255,255,255,.2) 0%,rgba(0,0,0,.2) 100%); /* W3C */
137 | border: 1px solid #aaa;
138 | border-top: 1px solid #ccc;
139 | border-left: 1px solid #ccc;
140 | -moz-border-radius: 3px;
141 | -webkit-border-radius: 3px;
142 | border-radius: 3px;
143 | color: #444;
144 | display: inline-block;
145 | font-size: 11px;
146 | font-weight: bold;
147 | text-decoration: none;
148 | text-shadow: 0 1px rgba(255, 255, 255, .75);
149 | cursor: pointer;
150 | margin-bottom: 20px;
151 | line-height: normal;
152 | padding: 8px 10px;
153 | font-family: "HelveticaNeue", "Helvetica Neue", Helvetica, Arial, sans-serif; }
154 |
155 | .button:hover,
156 | button:hover,
157 | input[type="submit"]:hover,
158 | input[type="reset"]:hover,
159 | input[type="button"]:hover {
160 | color: #222;
161 | background: #ddd; /* Old browsers */
162 | background: #ddd -moz-linear-gradient(top, rgba(255,255,255,.3) 0%, rgba(0,0,0,.3) 100%); /* FF3.6+ */
163 | background: #ddd -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(255,255,255,.3)), color-stop(100%,rgba(0,0,0,.3))); /* Chrome,Safari4+ */
164 | background: #ddd -webkit-linear-gradient(top, rgba(255,255,255,.3) 0%,rgba(0,0,0,.3) 100%); /* Chrome10+,Safari5.1+ */
165 | background: #ddd -o-linear-gradient(top, rgba(255,255,255,.3) 0%,rgba(0,0,0,.3) 100%); /* Opera11.10+ */
166 | background: #ddd -ms-linear-gradient(top, rgba(255,255,255,.3) 0%,rgba(0,0,0,.3) 100%); /* IE10+ */
167 | background: #ddd linear-gradient(top, rgba(255,255,255,.3) 0%,rgba(0,0,0,.3) 100%); /* W3C */
168 | border: 1px solid #888;
169 | border-top: 1px solid #aaa;
170 | border-left: 1px solid #aaa; }
171 |
172 | .button:active,
173 | button:active,
174 | input[type="submit"]:active,
175 | input[type="reset"]:active,
176 | input[type="button"]:active {
177 | border: 1px solid #666;
178 | background: #ccc; /* Old browsers */
179 | background: #ccc -moz-linear-gradient(top, rgba(255,255,255,.35) 0%, rgba(10,10,10,.4) 100%); /* FF3.6+ */
180 | background: #ccc -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(255,255,255,.35)), color-stop(100%,rgba(10,10,10,.4))); /* Chrome,Safari4+ */
181 | background: #ccc -webkit-linear-gradient(top, rgba(255,255,255,.35) 0%,rgba(10,10,10,.4) 100%); /* Chrome10+,Safari5.1+ */
182 | background: #ccc -o-linear-gradient(top, rgba(255,255,255,.35) 0%,rgba(10,10,10,.4) 100%); /* Opera11.10+ */
183 | background: #ccc -ms-linear-gradient(top, rgba(255,255,255,.35) 0%,rgba(10,10,10,.4) 100%); /* IE10+ */
184 | background: #ccc linear-gradient(top, rgba(255,255,255,.35) 0%,rgba(10,10,10,.4) 100%); /* W3C */ }
185 |
186 | .button.full-width,
187 | button.full-width,
188 | input[type="submit"].full-width,
189 | input[type="reset"].full-width,
190 | input[type="button"].full-width {
191 | width: 100%;
192 | padding-left: 0 !important;
193 | padding-right: 0 !important;
194 | text-align: center; }
195 |
196 | /* Fix for odd Mozilla border & padding issues */
197 | button::-moz-focus-inner,
198 | input::-moz-focus-inner {
199 | border: 0;
200 | padding: 0;
201 | }
202 |
203 |
204 | /* #Forms
205 | ================================================== */
206 |
207 | form {
208 | margin-bottom: 20px; }
209 | fieldset {
210 | margin-bottom: 20px; }
211 | input[type="text"],
212 | input[type="password"],
213 | input[type="email"],
214 | textarea,
215 | select {
216 | border: 1px solid #ccc;
217 | padding: 6px 4px;
218 | outline: none;
219 | -moz-border-radius: 2px;
220 | -webkit-border-radius: 2px;
221 | border-radius: 2px;
222 | font: 13px "HelveticaNeue", "Helvetica Neue", Helvetica, Arial, sans-serif;
223 | color: #777;
224 | margin: 0;
225 | width: 210px;
226 | max-width: 100%;
227 | display: block;
228 | margin-bottom: 20px;
229 | background: #fff; }
230 | select {
231 | padding: 0; }
232 | input[type="text"]:focus,
233 | input[type="password"]:focus,
234 | input[type="email"]:focus,
235 | textarea:focus {
236 | border: 1px solid #aaa;
237 | color: #444;
238 | -moz-box-shadow: 0 0 3px rgba(0,0,0,.2);
239 | -webkit-box-shadow: 0 0 3px rgba(0,0,0,.2);
240 | box-shadow: 0 0 3px rgba(0,0,0,.2); }
241 | textarea {
242 | min-height: 60px; }
243 | label,
244 | legend {
245 | display: block;
246 | font-weight: bold;
247 | font-size: 13px; }
248 | select {
249 | width: 220px; }
250 | input[type="checkbox"] {
251 | display: inline; }
252 | label span,
253 | legend span {
254 | font-weight: normal;
255 | font-size: 13px;
256 | color: #444; }
257 |
258 | /* #Misc
259 | ================================================== */
260 | .remove-bottom { margin-bottom: 0 !important; }
261 | .half-bottom { margin-bottom: 10px !important; }
262 | .add-bottom { margin-bottom: 20px !important; }
263 |
264 |
265 |
266 | /* #Syntax highlighting
267 | ================================================== */
268 |
269 |
270 | .highlighttable {
271 | color: #f8f8f2;
272 | table-layout: fixed;
273 | white-space: nowrap;
274 | width:90%;
275 | }
276 |
277 | .highlighttable pre, .highlighttable code { display:block; margin:0; padding:0; background: none; overflow:auto; word-wrap: normal; }
278 |
279 | .highlight, .linenodiv {
280 | background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVQIHWPQ1dU1BgABzQC7XXMTYQAAAABJRU5ErkJggg==);
281 | display:block;
282 | padding: 10px;
283 | margin-bottom:20px;
284 | }
285 | .linenodiv, .lineno { color: #ccc; }
286 |
287 | td.linenos { width: 40px; }
288 |
289 | .linenodiv {
290 | border-right: none;
291 | padding: 10px;
292 | text-align: right;
293 | }
294 | span.lineno {
295 | display: block;
296 | float: left;
297 | width: 40px;
298 | padding-right: 8px;
299 | text-align: right;
300 | }
301 |
302 |
303 | .hll { background-color: #49483e }
304 | .c { color: #75715e } /* Comment */
305 | .err { color: #960050; background-color: #1e0010 } /* Error */
306 | .k { color: #66d9ef } /* Keyword */
307 | .l { color: #ae81ff } /* Literal */
308 | .n { color: #f8f8f2 } /* Name */
309 | .o { color: #f92672 } /* Operator */
310 | .p { color: #f8f8f2 } /* Punctuation */
311 | .cm { color: #75715e } /* Comment.Multiline */
312 | .cp { color: #75715e } /* Comment.Preproc */
313 | .c1 { color: #75715e } /* Comment.Single */
314 | .cs { color: #75715e } /* Comment.Special */
315 | .ge { font-style: italic } /* Generic.Emph */
316 | .gs { font-weight: bold } /* Generic.Strong */
317 | .kc { color: #66d9ef } /* Keyword.Constant */
318 | .kd { color: #66d9ef } /* Keyword.Declaration */
319 | .kn { color: #f92672 } /* Keyword.Namespace */
320 | .kp { color: #66d9ef } /* Keyword.Pseudo */
321 | .kr { color: #66d9ef } /* Keyword.Reserved */
322 | .kt { color: #66d9ef } /* Keyword.Type */
323 | .ld { color: #e6db74 } /* Literal.Date */
324 | .m { color: #ae81ff } /* Literal.Number */
325 | .s { color: #e6db74 } /* Literal.String */
326 | .na { color: #a6e22e } /* Name.Attribute */
327 | .nb { color: #f8f8f2 } /* Name.Builtin */
328 | .nc { color: #a6e22e } /* Name.Class */
329 | .no { color: #66d9ef } /* Name.Constant */
330 | .nd { color: #a6e22e } /* Name.Decorator */
331 | .ni { color: #f8f8f2 } /* Name.Entity */
332 | .ne { color: #a6e22e } /* Name.Exception */
333 | .nf { color: #a6e22e } /* Name.Function */
334 | .nl { color: #f8f8f2 } /* Name.Label */
335 | .nn { color: #f8f8f2 } /* Name.Namespace */
336 | .nx { color: #a6e22e } /* Name.Other */
337 | .py { color: #f8f8f2 } /* Name.Property */
338 | .nt { color: #f92672 } /* Name.Tag */
339 | .nv { color: #f8f8f2 } /* Name.Variable */
340 | .ow { color: #f92672 } /* Operator.Word */
341 | .w { color: #f8f8f2 } /* Text.Whitespace */
342 | .mf { color: #ae81ff } /* Literal.Number.Float */
343 | .mh { color: #ae81ff } /* Literal.Number.Hex */
344 | .mi { color: #ae81ff } /* Literal.Number.Integer */
345 | .mo { color: #ae81ff } /* Literal.Number.Oct */
346 | .sb { color: #e6db74 } /* Literal.String.Backtick */
347 | .sc { color: #e6db74 } /* Literal.String.Char */
348 | .sd { color: #e6db74 } /* Literal.String.Doc */
349 | .s2 { color: #e6db74 } /* Literal.String.Double */
350 | .se { color: #ae81ff } /* Literal.String.Escape */
351 | .sh { color: #e6db74 } /* Literal.String.Heredoc */
352 | .si { color: #e6db74 } /* Literal.String.Interpol */
353 | .sx { color: #e6db74 } /* Literal.String.Other */
354 | .sr { color: #e6db74 } /* Literal.String.Regex */
355 | .s1 { color: #e6db74 } /* Literal.String.Single */
356 | .ss { color: #e6db74 } /* Literal.String.Symbol */
357 | .bp { color: #f8f8f2 } /* Name.Builtin.Pseudo */
358 | .vc { color: #f8f8f2 } /* Name.Variable.Class */
359 | .vg { color: #f8f8f2 } /* Name.Variable.Global */
360 | .vi { color: #f8f8f2 } /* Name.Variable.Instance */
361 | .il { color: #ae81ff } /* Literal.Number.Integer.Long */
362 |
363 | .gh { } /* Generic Heading & Diff Header */
364 | .gu { color: #75715e; } /* Generic.Subheading & Diff Unified/Comment? */
365 | .gd { color: #f92672; } /* Generic.Deleted & Diff Deleted */
366 | .gi { color: #a6e22e; } /* Generic.Inserted & Diff Inserted */
367 |
--------------------------------------------------------------------------------