├── 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 | 26 | 27 | 28 | {% for page in site.posts reversed %} 29 | {% capture id %}{{ page.title | remove:'/' | downcase }}{% endcapture %} 30 |
31 | {% if page.icon %} 32 |
33 | section icon 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 | --------------------------------------------------------------------------------