From 0f0ee51f5c45c9eacd1d1ac4e338578ead27c94b Mon Sep 17 00:00:00 2001 From: Jurgen Leschner Date: Thu, 6 Oct 2016 19:01:49 -0400 Subject: [PATCH] init --- .gitignore | 3 + Gemfile | 4 + LICENSE | 1 + README.md | 60 +++++++++ _config.yml | 5 + _layouts/default.html | 46 +++++++ _sass/hacker.scss | 247 +++++++++++++++++++++++++++++++++++ _sass/rouge-base16-dark.scss | 81 ++++++++++++ another-page.md | 9 ++ assets/css/styles.scss | 5 + assets/images/bkg.png | Bin 0 -> 1218 bytes assets/images/blacktocat.png | Bin 0 -> 268 bytes index.md | 126 ++++++++++++++++++ jekyll-theme-hacker.gemspec | 17 +++ thumbnail.png | Bin 0 -> 8740 bytes 15 files changed, 604 insertions(+) create mode 100644 .gitignore create mode 100644 Gemfile create mode 100644 LICENSE create mode 100644 README.md create mode 100644 _config.yml create mode 100644 _layouts/default.html create mode 100644 _sass/hacker.scss create mode 100644 _sass/rouge-base16-dark.scss create mode 100644 another-page.md create mode 100644 assets/css/styles.scss create mode 100644 assets/images/bkg.png create mode 100644 assets/images/blacktocat.png create mode 100644 index.md create mode 100644 jekyll-theme-hacker.gemspec create mode 100644 thumbnail.png diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..76a0bf1 --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +_site +.sass-cache +Gemfile.lock diff --git a/Gemfile b/Gemfile new file mode 100644 index 0000000..9ef6455 --- /dev/null +++ b/Gemfile @@ -0,0 +1,4 @@ +source 'https://rubygems.org' + +gem "github-pages", :github => "github/pages-gem", :branch => "jekyll-v3-3-0" +gemspec diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..370b0f8 --- /dev/null +++ b/LICENSE @@ -0,0 +1 @@ +unknown! diff --git a/README.md b/README.md new file mode 100644 index 0000000..3f1e1f2 --- /dev/null +++ b/README.md @@ -0,0 +1,60 @@ +# Hacker `jekyll-theme-hacker` gem + +Hacker is a Jekyll theme for [GitHub Pages](https://pages.github.com). + +You can preview the theme at http://pages-theme.github.io/hacker. + +### Usage + +This theme was ported from the GitHub Automatic Page Generator to a Jekyll v3.3 theme gem. + +To use it on a Pages site, add `theme: jekyll-theme-hacker` to your `_config.yml`. + +```yml +theme: jekyll-theme-hacker +title: Custom title +description: Custom description. +show_downloads: true +google_analytics: +``` + +- To override the repository name or description from GitHub used in the header, set a `title` or `description`. +- Set `show_downloads` to `false` to hide the download buttons in the header. +- Set `google_analytics` to your tracking ID to enable pageview tracking. + +This theme includes a single `default` layout. Markdown files should be prefixed with the following frontmatter. + +``` +--- +layout: default +--- + +``` + +#### CSS + +For CSS customization, create your own `/assets/css/styles.scss` in your project to replace the one from this theme, and override selected stylesheet properties. + +```scss +--- +--- + +@import "rouge-base16-dark"; +@import 'hacker'; + +``` + +#### Syntax Highlighting + +[Rouge](http://rouge.jneen.net/) is the default highlighter in Jekyll 3. This theme includes the `base16.dark` stylesheet from Rouge. + +To switch syntax highlighting colors to say `monokai`, install the `rouge` gem and run the following on the command line. + +``` +mkdir _scss +rougify style monokai > _scss/rouge-monokai.scss +``` + +Then replace `rouge-base16-dark` with `rouge-monokai` in `/assets/css/styles.scss` + +Other pygments highlighter themes should work as well. diff --git a/_config.yml b/_config.yml new file mode 100644 index 0000000..6a9a1ab --- /dev/null +++ b/_config.yml @@ -0,0 +1,5 @@ +title: Hacker theme +description: Hacker is a theme for GitHub Pages. +show_downloads: true +google_analytics: +theme: diff --git a/_layouts/default.html b/_layouts/default.html new file mode 100644 index 0000000..4b7d7cd --- /dev/null +++ b/_layouts/default.html @@ -0,0 +1,46 @@ + + + + + + + {{ site.title | default: site.github.repository_name }} by {{ site.github.owner_name }} + + + + +
+
+

{{ site.title | default: site.github.repository_name }}

+

{{ site.description | default: site.github.project_tagline }}

+ +
+ {% if site.show_downloads %} + Download as .zip + Download as .tar.gz + {% endif %} + View on GitHub +
+
+
+ +
+
+ {{ content }} +
+
+ + {% if site.google_analytics %} + + + {% endif %} + + diff --git a/_sass/hacker.scss b/_sass/hacker.scss new file mode 100644 index 0000000..aa35550 --- /dev/null +++ b/_sass/hacker.scss @@ -0,0 +1,247 @@ +body { + margin: 0; + padding: 0; + background: #151515 url("../images/bkg.png") 0 0; + color: #eaeaea; + font-size: 16px; + line-height: 1.5; + font-family: Monaco, "Bitstream Vera Sans Mono", "Lucida Console", Terminal, monospace; +} + +/* General & 'Reset' Stuff */ + +.container { + width: 90%; + max-width: 600px; + margin: 0 auto; +} + +section { + display: block; + margin: 0 0 20px 0; +} + +h1, h2, h3, h4, h5, h6 { + margin: 0 0 20px; +} + +li { + line-height: 1.4 ; +} + +/* Header,
+ header - container + h1 - project name + h2 - project description +*/ + +header { + background: rgba(0, 0, 0, 0.1); + width: 100%; + border-bottom: 1px dashed #b5e853; + padding: 20px 0; + margin: 0 0 40px 0; +} + +header h1 { + font-size: 30px; + line-height: 1.5; + margin: 0 0 0 -40px; + font-weight: bold; + font-family: Monaco, "Bitstream Vera Sans Mono", "Lucida Console", Terminal, monospace; + color: #b5e853; + text-shadow: 0 1px 1px rgba(0, 0, 0, 0.1), + 0 0 5px rgba(181, 232, 83, 0.1), + 0 0 10px rgba(181, 232, 83, 0.1); + letter-spacing: -1px; + -webkit-font-smoothing: antialiased; +} + +header h1:before { + content: "./ "; + font-size: 24px; +} + +header h2 { + font-size: 18px; + font-weight: 300; + color: #666; +} + +#downloads .btn { + display: inline-block; + text-align: center; + margin: 0; +} + +/* Main Content +*/ + +#main_content { + width: 100%; + -webkit-font-smoothing: antialiased; +} +section img { + max-width: 100% +} + +h1, h2, h3, h4, h5, h6 { + font-weight: normal; + font-family: Monaco, "Bitstream Vera Sans Mono", "Lucida Console", Terminal, monospace; + color: #b5e853; + letter-spacing: -0.03em; + text-shadow: 0 1px 1px rgba(0, 0, 0, 0.1), + 0 0 5px rgba(181, 232, 83, 0.1), + 0 0 10px rgba(181, 232, 83, 0.1); +} + +#main_content h1 { + font-size: 30px; +} + +#main_content h2 { + font-size: 24px; +} + +#main_content h3 { + font-size: 18px; +} + +#main_content h4 { + font-size: 14px; +} + +#main_content h5 { + font-size: 12px; + text-transform: uppercase; + margin: 0 0 5px 0; +} + +#main_content h6 { + font-size: 12px; + text-transform: uppercase; + color: #999; + margin: 0 0 5px 0; +} + +dt { + font-style: italic; + font-weight: bold; +} + +ul li { + list-style: none; +} + +ul li:before { + content: ">>"; + font-family: Monaco, "Bitstream Vera Sans Mono", "Lucida Console", Terminal, monospace; + font-size: 13px; + color: #b5e853; + margin-left: -37px; + margin-right: 21px; + line-height: 16px; +} + +blockquote { + color: #aaa; + padding-left: 10px; + border-left: 1px dotted #666; +} + +pre { + background: rgba(0, 0, 0, 0.9); + border: 1px solid rgba(255, 255, 255, 0.15); + padding: 10px; + font-size: 16px; + color: #b5e853; + border-radius: 2px; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + text-wrap: normal; + overflow: auto; + overflow-y: hidden; +} + +table { + width: 100%; + margin: 0 0 20px 0; +} + +th { + text-align: left; + border-bottom: 1px dashed #b5e853; + padding: 5px 10px; +} + +td { + padding: 5px 10px; +} + +hr { + height: 0; + border: 0; + border-bottom: 1px dashed #b5e853; + color: #b5e853; +} + +/* Buttons +*/ + +.btn { + display: inline-block; + background: -webkit-linear-gradient(top, rgba(40, 40, 40, 0.3), rgba(35, 35, 35, 0.3) 50%, rgba(10, 10, 10, 0.3) 50%, rgba(0, 0, 0, 0.3)); + padding: 8px 18px; + border-radius: 50px; + border: 2px solid rgba(0, 0, 0, 0.7); + border-bottom: 2px solid rgba(0, 0, 0, 0.7); + border-top: 2px solid rgba(0, 0, 0, 1); + color: rgba(255, 255, 255, 0.8); + font-family: Helvetica, Arial, sans-serif; + font-weight: bold; + font-size: 13px; + text-decoration: none; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.75); + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05); +} + +.btn:hover { + background: -webkit-linear-gradient(top, rgba(40, 40, 40, 0.6), rgba(35, 35, 35, 0.6) 50%, rgba(10, 10, 10, 0.8) 50%, rgba(0, 0, 0, 0.8)); +} + +.btn .icon { + display: inline-block; + width: 16px; + height: 16px; + margin: 1px 8px 0 0; + float: left; +} + +.btn-github .icon { + opacity: 0.6; + background: url("../images/blacktocat.png") 0 0 no-repeat; +} + +/* Links + a, a:hover, a:visited +*/ + +a { + color: #63c0f5; + text-shadow: 0 0 5px rgba(104, 182, 255, 0.5); +} + +/* Clearfix */ + +.cf:before, .cf:after { + content:""; + display:table; +} + +.cf:after { + clear:both; +} + +.cf { + zoom:1; +} diff --git a/_sass/rouge-base16-dark.scss b/_sass/rouge-base16-dark.scss new file mode 100644 index 0000000..c303bd5 --- /dev/null +++ b/_sass/rouge-base16-dark.scss @@ -0,0 +1,81 @@ +/* + generated by rouge http://rouge.jneen.net/ + original base16 by Chris Kempson (https://github.com/chriskempson/base16) +*/ + +.highlight table td { padding: 5px; } +.highlight table pre { margin: 0; } +.highlight, .highlight .w { + color: #d0d0d0; +} +.highlight .err { + color: #151515; + background-color: #ac4142; +} +.highlight .c, .highlight .cd, .highlight .cm, .highlight .c1, .highlight .cs { + color: #888; +} +.highlight .cp { + color: #f4bf75; +} +.highlight .nt { + color: #f4bf75; +} +.highlight .o, .highlight .ow { + color: #d0d0d0; +} +.highlight .p, .highlight .pi { + color: #d0d0d0; +} +.highlight .gi { + color: #90a959; +} +.highlight .gd { + color: #ac4142; +} +.highlight .gh { + color: #6a9fb5; + font-weight: bold; +} +.highlight .k, .highlight .kn, .highlight .kp, .highlight .kr, .highlight .kv { + color: #aa759f; +} +.highlight .kc { + color: #d28445; +} +.highlight .kt { + color: #d28445; +} +.highlight .kd { + color: #d28445; +} +.highlight .s, .highlight .sb, .highlight .sc, .highlight .sd, .highlight .s2, .highlight .sh, .highlight .sx, .highlight .s1 { + color: #90a959; +} +.highlight .sr { + color: #75b5aa; +} +.highlight .si { + color: #8f5536; +} +.highlight .se { + color: #8f5536; +} +.highlight .nn { + color: #f4bf75; +} +.highlight .nc { + color: #f4bf75; +} +.highlight .no { + color: #f4bf75; +} +.highlight .na { + color: #6a9fb5; +} +.highlight .m, .highlight .mf, .highlight .mh, .highlight .mi, .highlight .il, .highlight .mo, .highlight .mb, .highlight .mx { + color: #90a959; +} +.highlight .ss { + color: #90a959; +} diff --git a/another-page.md b/another-page.md new file mode 100644 index 0000000..03ce0c2 --- /dev/null +++ b/another-page.md @@ -0,0 +1,9 @@ +--- +layout: default +--- + +## Welcome to another page + +_yay_ + +[back](./) diff --git a/assets/css/styles.scss b/assets/css/styles.scss new file mode 100644 index 0000000..db98985 --- /dev/null +++ b/assets/css/styles.scss @@ -0,0 +1,5 @@ +--- +--- + +@import "rouge-base16-dark"; +@import 'hacker'; diff --git a/assets/images/bkg.png b/assets/images/bkg.png new file mode 100644 index 0000000000000000000000000000000000000000..d10e5caf1adb7466673bc9cef83621fe855caa3f GIT binary patch literal 1218 zcmeAS@N?(olHy`uVBq!ia0y~yU=jggMrNQ$#TNBtK#DEEC&X1sN=jNkczmscWgJUHsE1R2ws}X9=R$~%X@*3=-vhL@-NfkR)!pBoqVTzzlmJ$gw$h( za!N&gzAjH}?UE-yuB@->I#KvPao+dRzrL@oCvVpee)R8SO|Rip8+r3Dza~8XxNqSP zmGuR0<=?XLN*y=&ko@A*R?n;zmFGjmpL|X=el)GDnT?nCc-hJ9h-*>(U-v7SP21O( zoNu0S!J*))p{S5clIq(!Rnv%W88O`}e-}D7AF~mxZfpV+3kwX-$FQx)Y;JvA%`)@d zWYLYgd8JI0aw{r!Iv89Q>eyImcyRi@1&bblZJ%(NN9SER*F|RI`9Vy^n|kYj&a|m< zH+i{|PR}_n7 z-gd`kwp)J%TC%IUg`6V4t}fWH9jMCX-LAENwM{str7XO1;E!GNEuasI-gOzw-pnlj z>{){B-p0ScV3upi-pM7+*5to^wpdM0Lo6uhXKvGLxTUb-aiDN)U^44#klW=8|4*sV zntfrzKU=lq{IC4u?*i3*Ut)0K@G9flAeW??UW>QI-$6b&yzF|LRw2jj$QO!RxR2R@ z!p-JEk`UjzM%QUGt5 zsq{^Wh=(VtSvB4F14E?hZ{X9Y?R-}fa@G1cS_4|1{K5DvW*TQF%BQWRm-W8rcnHXW5F_LnOa!0te-Gud{_`k1m{6m9unPa(^B$ zKx8W_XRUv@r+&lLzc+3*l|BZA<&8P3LiGe?mL9UxX48rf2YHj@p3l_yh=pvc)~tHC z{nO?fprlo3bGdkWi`e7f5A45eIR!{NSV4~V*iRMLf15OnS&>IfjrQ$5*USNy<-2E*PZ71vSAxg$R}ir z*HrJV2QIesUSGbBCF#9c#svfK2|7o#H8-glPWYpw_zvjL75X#RJY~u`5Y-X(HrD(= zUCM<84_%p-W@|H8MF_Nfy!EQ%2FOzxtQJYFtLINQ#Ng@b=d#Wzp$P!*bu5qo literal 0 HcmV?d00001 diff --git a/assets/images/blacktocat.png b/assets/images/blacktocat.png new file mode 100644 index 0000000000000000000000000000000000000000..9759d7762ca84fd279f8bd59706641e13c1926f0 GIT binary patch literal 268 zcmV+n0rUQeP)_yxDRcl8_oH}KY@N>TT1a{44=<&$4$p^ zC0ICT$pbdEYvno{KSou>!krh=N_9R{CeAf*BB#+UjGZ;AZi3Y`MhCJsH?yrf4($-OfLDgK%x| SfwxWo0000 Two CSS properties walk into a bar. +> A barstool in a completely different bar falls over. + +# [](#header-1)Header 1 + +This is a normal paragraph following a header. Bacon ipsum dolor sit amet t-bone doner shank drumstick, pork belly porchetta chuck sausage brisket ham hock rump pig. Chuck kielbasa leberkas, pork bresaola ham hock filet mignon cow shoulder short ribs biltong. + +## [](#header-2)Header 2 + +> This is a blockquote following a header. Bacon ipsum dolor sit amet t-bone doner shank drumstick, pork belly porchetta chuck sausage brisket ham hock rump pig. Chuck kielbasa leberkas, pork bresaola ham hock filet mignon cow shoulder short ribs biltong. + +### [](#header-3)Header 3 + +```js +// Javascript code with syntax highlighting. +var fun = function lang(l) { + dateformat.i18n = require('./lang/' + l) + return true; +} +``` + +```ruby +# Ruby code with syntax highlighting +GitHubPages::Dependencies.gems.each do |gem, version| + s.add_dependency(gem, "= #{version}") +end +``` + +#### [](#header-4)Header 4 + +* This is an unordered list following a header. +* This is an unordered list following a header. +* This is an unordered list following a header. + +##### [](#header-5)Header 5 + +1. This is an ordered list following a header. +2. This is an ordered list following a header. +3. This is an ordered list following a header. + +###### [](#header-6)Header 6 + +| head1 | head two | three | +|:-------------|:------------------|:------| +| ok | good swedish fish | nice | +| out of stock | good and plenty | nice | +| ok | good `oreos` | hmm | +| ok | good `zoute` drop | yumm | + +### There's a horizontal rule below this. + +* * * + +### Here is an unordered list: + +* Item foo +* Item bar +* Item baz +* Item zip + +### And an ordered list: + +1. Item one +1. Item two +1. Item three +1. Item four + +### And a nested list: + +- level 1 item + - level 2 item + - level 2 item + - level 3 item + - level 3 item +- level 1 item + - level 2 item + - level 2 item + - level 2 item +- level 1 item + - level 2 item + - level 2 item +- level 1 item + +### Small image + +![](https://unsplash.it/300/200) + +### Large image + +![](https://unsplash.it/1200/800) + + +### Definition lists can be used with HTML syntax. + +
+
Name
+
Godzilla
+
Born
+
1952
+
Birthplace
+
Japan
+
Color
+
Green
+
+ +``` +Long, single-line code blocks should not wrap. They should horizontally scroll if they are too long. This line should be long enough to demonstrate this. +``` + +``` +The final element. +``` diff --git a/jekyll-theme-hacker.gemspec b/jekyll-theme-hacker.gemspec new file mode 100644 index 0000000..d016f48 --- /dev/null +++ b/jekyll-theme-hacker.gemspec @@ -0,0 +1,17 @@ +# encoding: utf-8 + +Gem::Specification.new do |s| + s.name = "jekyll-theme-hacker" + s.version = "0.0.1" + s.authors = ["Please come forward"] + s.email = ["support@github.com"] + s.homepage = "https://github.com/pages-themes/hacker" + s.summary = "Hacker is a theme for GitHub Pages" + + s.files = `git ls-files -z`.split("\x0").select do |f| + f.match(%r{^((_includes|_layouts|_sass|assets)/|(LICENSE|README)((\.(txt|md|markdown)|$)))}i) + end + + s.platform = Gem::Platform::RUBY + s.add_runtime_dependency "jekyll", "~> 3.3" +end diff --git a/thumbnail.png b/thumbnail.png new file mode 100644 index 0000000000000000000000000000000000000000..01bd0a8ee3c607bdbaed5113968e0c36132c9891 GIT binary patch literal 8740 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 O0000