Skip to content
Snippets Groups Projects
Commit b6a11977 authored by GitLab's avatar GitLab Committed by Marc Schwede
Browse files

Pages/Hugo

parents
Branches
No related tags found
No related merge requests found
Showing
with 1481 additions and 0 deletions
<!--
This file is used to render a list of all posts that belong to a specific
category.
-->
{{ partial "header.html" . }}
<body class="theme-base-08">
{{ partial "sidebar.html" . }}
<!--
Taken from Lanyon example site.
Putting everything in the wrap div makes the whole page slide over when the
navigation button is pressed.
The masthead is a special Lanyon class that is above the horizontal line at
the top of each page. To me it seemed like a place to put the page title.
We want the title to be Blog Posts and we want it to be a link to the
root of the /posts section of the site.
-->
<div class="wrap">
<div class="masthead">
<div class="container">
<h3 class="masthead-title">
<a href="/posts" title="Blog">Blog Posts</a>
</h3>
</div>
</div>
<!-- Show summary of all posts in a category -->
<div class="container content">
<h1 class="post-title">Recent Posts</h1>
<section id="main">
<div>
<h5><a href="/categories">Full Category Index</a></h5>
<h2>Posts in &ldquo;{{ .Title }}&rdquo;</h2>
{{ range .Data.Pages }}
{{ .Render "summary"}}
{{ end }}
</div>
</section>
</div>
</div>
<label for="sidebar-checkbox" class="sidebar-toggle"></label>
<!-- Include footer (ends <body> and <html>) -->
{{ partial "footer.html" }}
<!--
This file is used to generate the root file of a Hugo index.
In our case this is only the index for categories, so it will render the
page baseurl/categories
-->
{{ partial "header.html" . }}
<body class="theme-base-08">
{{ partial "sidebar.html" . }}
<!-- See /layouts/indexes/category.html for explanation of this section -->
<div class="wrap">
<div class="masthead">
<div class="container">
<h3 class="masthead-title">
<a href="/posts" title="Blog">Blog Posts</a>
</h3>
</div>
</div>
<!--
In this section we instruct Hugo to list all the different items in the
index. Because we only have an index for categories, each item will be
a category name. The name is a link to a page that displays all posts in
that category.
We also list the number of entries in each category in parenthesis next
to the category name.
-->
<div class="container content">
<section id="main">
<div>
<h1>Archive of Posts, by {{ .Data.Singular }}</h1>
<ul class="category">
{{ $data := .Data }}
{{ range $key,$value := .Data.Index.ByCount }}
<li><a href="/{{ $data.Plural }}/{{ $value.Name | urlize }}"> {{ $value.Name }} </a> ({{ $value.Count }} entries) </li>
{{ end }}
</ul>
</div>
</section>
</div>
</div>
<label for="sidebar-checkbox" class="sidebar-toggle"></label>
<!-- Include footer (ends <body> and <html>) -->
{{ partial "footer.html" }}
<!--
This file is used to render a list of all posts on our blog.
-->
{{ partial "header.html" . }}
<body class="theme-base-08">
{{ partial "sidebar.html" . }}
<!-- See /layouts/indexes/category.html for explanation of this section -->
<div class="wrap">
<div class="masthead">
<div class="container">
<h3 class="masthead-title">
<a href="/posts" title="Blog">Blog Posts</a>
</h3>
</div>
</div>
<!--
In this section we have Hugo generate a list of all blog posts, ordered
by date.
When showing each post we ask Hugo to use the template in
/layouts/posts/li.html to provide a short description of each post.
-->
<div class="container content">
<p>Here are all my blog posts, in descending order by creation date. If you would like to view them by topic, see the <a href="/categories">Categories</a> page.</p>
<h1 class="post-title">All Blog Posts (By Date)</h1>
<section id="main">
<ul id="list">
{{ range .Data.Pages }}
{{ .Render "li"}}
{{ end }}
</ul>
</section>
</div>
</div>
<label for="sidebar-checkbox" class="sidebar-toggle"></label>
<!-- Include footer (ends <body> and <html>) -->
{{ partial "footer.html" }}
<!--
This file is a template that is included various places to have a list of
that particular posts categories generated.
-->
<div class="container">
<ul class="catlist">
<li><em>Categories: </em></li>
{{ range .Params.categories }}
<li><a href="/categories/{{ . | urlize }}">{{ . }}</a> </li>
{{ end }}
</ul>
</div>
<!--
This is the main footer for the website. It is included on every page.
It is very basic. It has some text and a link back to the home page of the
site.
It includes the google analytics template from /layouts/chrome/ga.html
It also closes the <body> and <html> tags for each page.
-->
<div class="container content">
<footer>
<div>
<p class="right credit">
Fancy footer here. Link to <a href="/">Home Page</a>
</p>
</div>
</footer>
</div>
<!--
{{ partial "ga.html" . }}
-->
</body>
</html>
<!--
This file contains the necessary information for google analytics to track
visitors and their behavior on my website.
This is specific to this website and will need to be changed for any other
site
-->
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-36732392-2', 'sglyon.com');
ga('send', 'pageview');
</script>
<!--
This file simply includes all the css and fonts that should go into the
header of each page.
It is separate from the rest of the header because the actual header for the
homepage of the site is different, but we want every page of the site
(including the homepage) to have the same assets.
-->
<link rel="stylesheet" href="/css/poole.css">
<link rel="stylesheet" href="/css/syntax.css">
<link rel="stylesheet" href="/css/lanyon.css">
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=PT+Serif:400,400italic,700|PT+Sans:400">
<!--
This is the actual header for each page of the site except the homepage.
It simply shows the title of the page and includes the css/fonts found in
/layouts/chrome/header.html
-->
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<base href="{{ .Site.BaseURL }}">
<title> {{ .Title }} </title>
<link rel="canonical" href="{{ .Permalink }}">
{{ partial "head_includes.html" . }}
</head>
<!--
This is a helper file that adds previous and next links to the bottom of each
blog post. (below next and previous refer to chronological next and previous)
It will check to see if there is a previous blog post. If is, it will print
an arrow as well as the title of the previous post as a link as
left-justified text.
It will then check for a next blog post. If there is one it prints the title
of the next post with a right arrow as right justified text on the same line.
If there is ever not a next or previous post, it does nothing.
-->
<div class="container">
<hr />
<hr />
{{if .Prev}}
<span class="left">
&nbsp; <em>&laquo; Previous:</em> <a class="next" href="{{.Prev.Permalink}}">{{.Prev.Title}}</a>
</span>
{{end}}
{{if .Next}}
<span class="right">
<em>Next: </em><a class="next" href="{{.Next.Permalink}}"> &nbsp; {{ .Next.Title }}</a> &raquo;
</span>
{{end}}
</div>
<!--
This file defines the main sidebar that the user can toggle in and out of
view. This is included in every file.
Most of this was taken directly from the Lanyon example site.
Here we simply include a link to the homepage, a link to the blog posts,
and some copyright information.
-->
<!-- Target for toggling the sidebar `.sidebar-checkbox` is for regular
styles, `#sidebar-checkbox` for behavior. -->
<input type="checkbox" class="sidebar-checkbox" id="sidebar-checkbox">
<!-- Toggleable sidebar -->
<div class="sidebar" id="sidebar">
<nav class="sidebar-nav">
<a class="sidebar-nav-item" href="/">Home</a>
<a class="sidebar-nav-item" href="/posts">Blog</a>
</nav>
<div class="sidebar-item">
<p>
&copy; 2014 Spencer Lyon. Powered by <a href="https://gohugo.io">Hugo</a>. Design adapted from <a href="http://lanyon.getpoole.com">Lanyon</a>.
</p>
</div>
</div>
<!--
This file defines how a summary of a specifc post should be presented in a
list (hence the file name li.html for "list item"). This is used in the
template /layouts/indexes/posts.html
The lines of the displayed list item are as follows:
(1) The name of the post
(2) The date the post was written as left-justified text and a
right-justified horizontal list of categories for that post.
(3) The contents of the description field in the metadata of the actual
markdown source of the post.
-->
<li>
<span><h2><a href='{{ .Permalink }}'> {{ .Title }}</a> </h2></span>
<span class="left">{{ .Date.Format "Mon, Jan 2, 2006" }}</span>
<span class="right">
<ul class="catlist">
{{ range .Params.categories }}
<li><a href="/categories/{{ . | urlize }}">{{ . }}</a> </li>
{{ end }}
</ul>
</span>
<br />
{{ .Description }}
</li>
<!--
This file is responsible for rendering a single blog post.
-->
{{ partial "header.html" . }}
<body class="theme-base-08">
{{ partial "sidebar.html" . }}
<!-- See /layouts/indexes/category.html for explanation of this section -->
<div class="wrap">
<div class="masthead">
<div class="container">
<h3 class="masthead-title">
<a href="/posts" title="Blog">Blog Posts</a>
</h3>
</div>
</div>
<!--
This is where the actual post is displayed.
We first access the title metadata field from the markdown source and
display it as a heading.
We then access the date the post was written (also in the markdown
metadata) and display a formated version of it
Finally we include the actual content of the post.
-->
<div class="container content">
<h1 class="post-title">{{ .Title }}</h1>
<section id="main">
<h5 id="date"> {{ .Date.Format "Mon Jan 2, 2006" }} </h5>
{{ .Content }}
</section>
</div>
</div>
<label for="sidebar-checkbox" class="sidebar-toggle"></label>
{{ partial "prev_next.html" . }}
<br />
{{ partial "categories.html" . }}
<!-- Include footer (ends <body class="theme-base-08"> and <html>) -->
{{ partial "footer.html" }}
<!--
This file defines how a summary of a specifc post should be presented. This
is similar to the file /layouts/posts/li.html, but is meant have a bit longer
of a representation than the one in that file.
This template does the following:
(1) Shows the name of the post
(2) Shows the date the post was created (from metadata in post markdown
source)
(3) Displays a Hugo-generated summary of the post
(4) Provides a link with text Read More that points to the post
-->
<article class="post">
<header>
<h2><a href='{{ .Permalink }}'> {{ .Title }}</a> </h2>
<div class="meta">{{ .Date.Format "Mon, Jan 2, 2006" }}</div>
</header>
{{ .Summary }}
<footer>
<a href='{{ .Permalink }}'><nobr>Read more →</nobr></a>
</footer>
</article>
/*
* ___
* /\_ \
* \//\ \ __ ___ __ __ ___ ___
* \ \ \ /'__`\ /' _ `\/\ \/\ \ / __`\ /' _ `\
* \_\ \_/\ \_\.\_/\ \/\ \ \ \_\ \/\ \_\ \/\ \/\ \
* /\____\ \__/.\_\ \_\ \_\/`____ \ \____/\ \_\ \_\
* \/____/\/__/\/_/\/_/\/_/`/___/> \/___/ \/_/\/_/
* /\___/
* \/__/
*
* Designed, built, and released under MIT license by @mdo. Learn more at
* https://github.com/poole/lanyon.
*/
/*
* Contents
*
* Global resets
* Masthead
* Sidebar
* Slide effect
* Posts and pages
* Pagination
* Reverse layout
* Themes
*/
/*
* Global resets
*
* Update the foundational and global aspects of the page.
*/
/* Prevent scroll on narrow devices */
html,
body {
overflow-x: hidden;
}
html {
font-family: "PT Serif", Georgia, "Times New Roman", serif;
}
h1, h2, h3, h4, h5, h6 {
font-family: "PT Sans", Helvetica, Arial, sans-serif;
font-weight: 400;
color: #313131;
letter-spacing: -.025rem;
}
/*
* Wrapper
*
* The wrapper is used to position site content when the sidebar is toggled. We
* use an outter wrap to position the sidebar without interferring with the
* regular page content.
*/
.wrap {
position: relative;
width: 100%;
}
/*
* Container
*
* Center the page content.
*/
.container {
max-width: 28rem;
}
@media (min-width: 38rem) {
.container {
max-width: 32rem;
}
}
@media (min-width: 56rem) {
.container {
max-width: 38rem;
}
}
/*
* Masthead
*
* Super small header above the content for site name and short description.
*/
.masthead {
padding-top: 1rem;
padding-bottom: 1rem;
margin-bottom: 3rem;
border-bottom: 1px solid #eee;
}
.masthead-title {
margin-top: 0;
margin-bottom: 0;
color: #505050;
}
.masthead-title a {
color: #505050;
}
.masthead-title small {
font-size: 75%;
font-weight: 400;
color: #c0c0c0;
letter-spacing: 0;
}
@media (max-width: 48rem) {
.masthead-title {
text-align: center;
}
.masthead-title small {
display: none;
}
}
/*
* Sidebar
*
* The sidebar is the drawer, the item we are toggling with our handy hamburger
* button in the corner of the page.
*
* This particular sidebar implementation was inspired by Chris Coyier's
* "Offcanvas Menu with CSS Target" article, and the checkbox variation from the
* comments by a reader. It modifies both implementations to continue using the
* checkbox (no change in URL means no polluted browser history), but this uses
* `position` for the menu to avoid some potential content reflow issues.
*
* Source: http://css-tricks.com/off-canvas-menu-with-css-target/#comment-207504
*/
/* Style and "hide" the sidebar */
.sidebar {
position: fixed;
top: 0;
bottom: 0;
left: -14rem;
width: 14rem;
visibility: hidden;
overflow-y: auto;
font-family: "PT Sans", Helvetica, Arial, sans-serif;
font-size: .875rem; /* 15px */
color: rgba(255,255,255,.6);
background-color: #202020;
-webkit-transition: all .3s ease-in-out;
transition: all .3s ease-in-out;
}
@media (min-width: 30rem) {
.sidebar {
font-size: .75rem; /* 14px */
}
}
/* Sidebar content */
.sidebar a {
font-weight: normal;
color: #fff;
}
.sidebar-item {
padding: 1rem;
}
.sidebar-item p:last-child {
margin-bottom: 0;
}
/* Sidebar nav */
.sidebar-nav {
border-bottom: 1px solid rgba(255,255,255,.1);
}
.sidebar-nav-item {
display: block;
padding: .5rem 1rem;
border-top: 1px solid rgba(255,255,255,.1);
}
.sidebar-nav-item.active,
a.sidebar-nav-item:hover,
a.sidebar-nav-item:focus {
text-decoration: none;
background-color: rgba(255,255,255,.1);
border-color: transparent;
}
@media (min-width: 48rem) {
.sidebar-item {
padding: 1.5rem;
}
.sidebar-nav-item {
padding-left: 1.5rem;
padding-right: 1.5rem;
}
}
/* Hide the sidebar checkbox that we toggle with `.sidebar-toggle` */
.sidebar-checkbox {
display: none;
}
/* Style the `label` that we use to target the `.sidebar-checkbox` */
.sidebar-toggle {
position: absolute;
top: 1rem;
left: 1rem;
display: block;
width: 2.2rem;
padding: .5rem .65rem;
color: #505050;
background-color: #fff;
border-radius: 4px;
cursor: pointer;
}
.sidebar-toggle:before {
display: block;
content: "";
width: 100%;
padding-bottom: .125rem;
border-top: .375rem double;
border-bottom: .125rem solid;
/* Make the border inside the box */
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
.sidebar-toggle:active,
#sidebar-checkbox:checked ~ .sidebar-toggle {
color: #fff;
background-color: #505050;
}
@media (min-width: 30.1rem) {
.sidebar-toggle {
position: fixed;
width: 2.25rem;
}
.sidebar-toggle:before {
padding-bottom: .15rem;
border-top-width: .45rem;
border-bottom-width: .15rem;
}
}
/* Slide effect
*
* Handle the sliding effects of the sidebar and content in one spot, seperate
* from the default styles.
*
* As an a heads up, we don't use `transform: translate3d()` here because when
* mixed with `position: fixed;` for the sidebar toggle, it creates a new
* containing block. Put simply, the fixed sidebar toggle behaves like
* `position: absolute;` when transformed.
*
* Read more about it at http://meyerweb.com/eric/thoughts/2011/09/12/.
*/
.wrap,
.sidebar,
.sidebar-toggle {
-webkit-backface-visibility: hidden;
-ms-backface-visibility: hidden;
backface-visibility: hidden;
}
.wrap,
.sidebar-toggle {
-webkit-transition: -webkit-transform .3s ease-in-out;
transition: transform .3s ease-in-out;
}
#sidebar-checkbox:checked + .sidebar {
visibility: visible;
}
#sidebar-checkbox:checked ~ .sidebar,
#sidebar-checkbox:checked ~ .wrap,
#sidebar-checkbox:checked ~ .sidebar-toggle {
-webkit-transform: translateX(14rem);
-ms-transform: translateX(14rem);
transform: translateX(14rem);
}
/*
* Posts and pages
*
* Each post is wrapped in `.post` and is used on default and post layouts. Each
* page is wrapped in `.page` and is only used on the page layout.
*/
.page,
.post {
margin-bottom: 4em;
}
/* Blog post or page title */
.page-title,
.post-title,
.post-title a {
color: #303030;
}
.page-title,
.post-title {
margin-top: 0;
}
/* Meta data line below post title */
.post-date {
display: block;
margin-top: -.5rem;
margin-bottom: 1rem;
color: #9a9a9a;
}
/* Related posts */
.related {
padding-top: 2rem;
padding-bottom: 2rem;
border-top: 1px solid #eee;
}
.related-posts {
padding-left: 0;
list-style: none;
}
.related-posts h3 {
margin-top: 0;
}
.related-posts li small {
font-size: 75%;
color: #999;
}
.related-posts li a:hover {
color: #268bd2;
text-decoration: none;
}
.related-posts li a:hover small {
color: inherit;
}
/*
* Pagination
*
* Super lightweight (HTML-wise) blog pagination. `span`s are provide for when
* there are no more previous or next posts to show.
*/
.pagination {
overflow: hidden; /* clearfix */
margin-left: -1rem;
margin-right: -1rem;
font-family: "PT Sans", Helvetica, Arial, sans-serif;
color: #ccc;
text-align: center;
}
/* Pagination items can be `span`s or `a`s */
.pagination-item {
display: block;
padding: 1rem;
border: 1px solid #eee;
}
.pagination-item:first-child {
margin-bottom: -1px;
}
/* Only provide a hover state for linked pagination items */
a.pagination-item:hover {
background-color: #f5f5f5;
}
@media (min-width: 30rem) {
.pagination {
margin: 3rem 0;
}
.pagination-item {
float: left;
width: 50%;
}
.pagination-item:first-child {
margin-bottom: 0;
border-top-left-radius: 4px;
border-bottom-left-radius: 4px;
}
.pagination-item:last-child {
margin-left: -1px;
border-top-right-radius: 4px;
border-bottom-right-radius: 4px;
}
}
/*
* Reverse layout
*
* Flip the orientation of the page by placing the `.sidebar` and sidebar toggle
* on the right side.
*/
.layout-reverse .sidebar {
left: auto;
right: -14rem;
}
.layout-reverse .sidebar-toggle {
left: auto;
right: 1rem;
}
.layout-reverse #sidebar-checkbox:checked ~ .sidebar,
.layout-reverse #sidebar-checkbox:checked ~ .wrap,
.layout-reverse #sidebar-checkbox:checked ~ .sidebar-toggle {
-webkit-transform: translateX(-14rem);
-ms-transform: translateX(-14rem);
transform: translateX(-14rem);
}
/*
* Themes
*
* Apply custom color schemes by adding the appropriate class to the `body`.
* Based on colors from Base16: http://chriskempson.github.io/base16/#default.
*/
/* Red */
.theme-base-08 .sidebar,
.theme-base-08 .sidebar-toggle:active,
.theme-base-08 #sidebar-checkbox:checked ~ .sidebar-toggle {
background-color: #ac4142;
}
.theme-base-08 .container a,
.theme-base-08 .sidebar-toggle,
.theme-base-08 .related-posts li a:hover {
color: #ac4142;
}
/* Orange */
.theme-base-09 .sidebar,
.theme-base-09 .sidebar-toggle:active,
.theme-base-09 #sidebar-checkbox:checked ~ .sidebar-toggle {
background-color: #d28445;
}
.theme-base-09 .container a,
.theme-base-09 .sidebar-toggle,
.theme-base-09 .related-posts li a:hover {
color: #d28445;
}
/* Yellow */
.theme-base-0a .sidebar,
.theme-base-0a .sidebar-toggle:active,
.theme-base-0a #sidebar-checkbox:checked ~ .sidebar-toggle {
background-color: #f4bf75;
}
.theme-base-0a .container a,
.theme-base-0a .sidebar-toggle,
.theme-base-0a .related-posts li a:hover {
color: #f4bf75;
}
/* Green */
.theme-base-0b .sidebar,
.theme-base-0b .sidebar-toggle:active,
.theme-base-0b #sidebar-checkbox:checked ~ .sidebar-toggle {
background-color: #90a959;
}
.theme-base-0b .container a,
.theme-base-0b .sidebar-toggle,
.theme-base-0b .related-posts li a:hover {
color: #90a959;
}
/* Cyan */
.theme-base-0c .sidebar,
.theme-base-0c .sidebar-toggle:active,
.theme-base-0c #sidebar-checkbox:checked ~ .sidebar-toggle {
background-color: #75b5aa;
}
.theme-base-0c .container a,
.theme-base-0c .sidebar-toggle,
.theme-base-0c .related-posts li a:hover {
color: #75b5aa;
}
/* Blue */
.theme-base-0d .sidebar,
.theme-base-0d .sidebar-toggle:active,
.theme-base-0d #sidebar-checkbox:checked ~ .sidebar-toggle {
background-color: #6a9fb5;
}
.theme-base-0d .container a,
.theme-base-0d .sidebar-toggle,
.theme-base-0d .related-posts li a:hover {
color: #6a9fb5;
}
/* Magenta */
.theme-base-0e .sidebar,
.theme-base-0e .sidebar-toggle:active,
.theme-base-0e #sidebar-checkbox:checked ~ .sidebar-toggle {
background-color: #aa759f;
}
.theme-base-0e .container a,
.theme-base-0e .sidebar-toggle,
.theme-base-0e .related-posts li a:hover {
color: #aa759f;
}
/* Brown */
.theme-base-0f .sidebar,
.theme-base-0f .sidebar-toggle:active,
.theme-base-0f #sidebar-checkbox:checked ~ .sidebar-toggle {
background-color: #8f5536;
}
.theme-base-0f .container a,
.theme-base-0f .sidebar-toggle,
.theme-base-0f .related-posts li a:hover {
color: #8f5536;
}
/*
* ___
* /\_ \
* _____ ___ ___\//\ \ __
* /\ '__`\ / __`\ / __`\\ \ \ /'__`\
* \ \ \_\ \/\ \_\ \/\ \_\ \\_\ \_/\ __/
* \ \ ,__/\ \____/\ \____//\____\ \____\
* \ \ \/ \/___/ \/___/ \/____/\/____/
* \ \_\
* \/_/
*
* Designed, built, and released under MIT license by @mdo. Learn more at
* https://github.com/poole/poole.
*/
/*
* Contents
*
* Body resets
* Custom type
* Messages
* Container
* Masthead
* Posts and pages
* Reverse layout
* Themes
*/
/*
* Body resets
*
* Update the foundational and global aspects of the page.
*/
* {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
html,
body {
margin: 0;
padding: 0;
}
html {
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
font-size: 16px;
line-height: 1.5;
}
@media (min-width: 38rem) {
html {
font-size: 20px;
}
}
body {
color: #515151;
background-color: #fff;
-webkit-text-size-adjust: 100%;
-ms-text-size-adjust: 100%;
}
/* No `:visited` state is required by default (browsers will use `a`) */
a {
color: #268bd2;
text-decoration: none;
}
/* `:focus` is linked to `:hover` for basic accessibility */
a:hover,
a:focus {
text-decoration: underline;
}
/* Headings */
h1, h2, h3, h4, h5, h6 {
margin-bottom: .5rem;
font-weight: bold;
line-height: 1.25;
color: #313131;
text-rendering: optimizeLegibility;
}
h1 {
font-size: 2rem;
}
h2 {
margin-top: 1rem;
font-size: 1.5rem;
}
h3 {
margin-top: 1.5rem;
font-size: 1.25rem;
}
h4, h5, h6 {
font-family: "ff-meta-web-pro", "Helvetica Neue", "Helvetica", Arial, sans-serif;
margin-top: 1rem;
font-size: 1rem;
}
/* Body text */
p {
margin-top: 0;
margin-bottom: 1rem;
}
strong {
color: #303030;
}
/* Lists */
ul, ol, dl {
margin-top: 0;
padding-left: 0;
margin-bottom: 1rem;
list-style-type: none;
}
dt {
font-weight: bold;
}
dd {
margin-bottom: .5rem;
}
/* Misc */
hr {
position: relative;
margin: 1.5rem 0;
border: 0;
border-top: 1px solid #eee;
border-bottom: 1px solid #fff;
}
abbr {
font-size: 85%;
font-weight: bold;
color: #555;
text-transform: uppercase;
}
abbr[title] {
cursor: help;
border-bottom: 1px dotted #e5e5e5;
}
mono, tt, code, pre {
font-family: PragmataPro, Menlo, Monaco, "Andale Mono", "Lucida Console", "Courier New", monospace }
code {
padding: .25em .5em;
font-size: 85%;
color: #bf616a;
background-color: #f9f9f9;
border-radius: 3px;
}
pre {
display: block;
margin-top: 0;
margin-bottom: 1rem;
padding: 1rem;
font-size: .8rem;
line-height: 1.4;
white-space: pre;
overflow: auto;
background-color: #f9f9f9;
}
pre code {
padding: 0;
font-size: 100%;
color: inherit;
background-color: transparent;
}
.highlight {
margin-bottom: 1rem;
border-radius: 4px;
}
.highlight pre {
margin-bottom: 0;
}
/* Quotes */
blockquote {
padding: .5rem 1rem;
margin: .8rem 0;
color: #7a7a7a;
border-left: .25rem solid #e5e5e5;
}
blockquote p:last-child {
margin-bottom: 0;
}
@media (min-width: 30rem) {
blockquote {
padding-right: 5rem;
padding-left: 1.25rem;
}
}
img {
display: block;
margin: 0 0 1rem;
border-radius: 5px;
height: auto;
width:100%;
}
.fpimg {
padding-bottom: 2rem;
}
.lbg {
display: inline;
width: auto;
padding-left: 1rem;
}
.right {
float: right;
margin-left: 1rem;
}
.left {
float: left;
margin-right: 1rem;
}
.center {
float: center;
}
/* Tables */
table {
margin-bottom: 1rem;
width: 100%;
border-top: 1px solid #e5e5e5;
border-bottom: 1px solid #e5e5e5;
border-collapse: collapse;
}
td,
th {
padding: .25rem .5rem;
/* border: 1px solid #e5e5e5; */
}
tbody tr:nth-child(odd) td,
tbody tr:nth-child(odd) th {
background-color: #f9f9f9;
}
/*
* Custom type
*
* Extend paragraphs with `.lead` for larger introductory text.
*/
.lead {
font-size: 1.25rem;
font-weight: 300;
}
.front {
margin-bottom: 500px;
}
.credit {
padding-top: 3rem;
font-size: small;
}
ul.category {text-transform: capitalize;}
ul.category li {margin-bottom: 1rem;}
ul.catlist { list-style: none; margin: 0; padding: 0; }
ul.catlist li { display: inline; }
ul.catlist li:after { content: "・"; }
ul.catlist li:last-child:after { content: ""; }
/* This gets Google to fall into place */
.social {
font-size: 1px;
padding-bottom: 2rem;
padding-top: 0;
}
/* From https://gist.github.com/thebigreason/1296097 */
/* This gets Facebook to fall into place */
.social iframe {
vertical-align: bottom;
}
/* Set an optional width for your button wrappers */
.social span {
display: inline-block;
width: 110px;
}
/*
* Messages
*
* Show alert messages to users. You may add it to single elements like a `<p>`,
* or to a parent if there are multiple elements to show.
*/
.message {
margin-bottom: 1rem;
padding: 1rem;
color: #717171;
background-color: #f9f9f9;
}
/*
* Container
*
* Center the page content.
*/
.container {
max-width: 38rem;
padding-left: 1rem;
padding-right: 1rem;
margin-left: auto;
margin-right: auto;
}
/*
* Masthead
*
* Super small header above the content for site name and short description.
*/
.masthead {
padding-top: 1rem;
padding-bottom: 1rem;
margin-bottom: 3rem;
}
.masthead-title {
margin-top: 0;
margin-bottom: 0;
color: #505050;
}
.masthead-title a {
color: #505050;
}
.masthead-title small {
font-size: 75%;
font-weight: 400;
color: #c0c0c0;
letter-spacing: 0;
}
/*
* Posts and pages
*
* Each post is wrapped in `.post` and is used on default and post layouts. Each
* page is wrapped in `.page` and is only used on the page layout.
*/
.page,
.post {
margin-bottom: 4em;
}
/* Blog post or page title */
.page-title,
.post-title,
.post-title a {
color: #303030;
}
.page-title,
.post-title {
margin-top: 0;
}
/* Meta data line below post title */
.post-date {
display: block;
margin-top: -.5rem;
margin-bottom: 1rem;
color: #9a9a9a;
}
/* Archive list */
.archive h3 {
margin-top:0;
padding-bottom: 0;
}
# Auto detect text files and perform LF normalization
* text=auto
# Custom for Visual Studio
*.cs diff=csharp
# Standard to msysgit
*.doc diff=astextplain
*.DOC diff=astextplain
*.docx diff=astextplain
*.DOCX diff=astextplain
*.dot diff=astextplain
*.DOT diff=astextplain
*.pdf diff=astextplain
*.PDF diff=astextplain
*.rtf diff=astextplain
*.RTF diff=astextplain
# Themes directory of example site; ignored so that we can clone the repo
# inside the themes directory and test the example site with "hugo server".
exampleSite/themes/
# Windows image file caches
Thumbs.db
ehthumbs.db
# Folder config file
Desktop.ini
# Recycle Bin used on file shares
$RECYCLE.BIN/
# Windows Installer files
*.cab
*.msi
*.msm
*.msp
# Windows shortcuts
*.lnk
# Vim swap files
*.swp
# =========================
# Operating System Files
# =========================
# OSX
# =========================
.DS_Store
.AppleDouble
.LSOverride
# Thumbnails
._*
# Files that might appear on external disk
.Spotlight-V100
.Trashes
# Directories potentially created on remote AFP share
.AppleDB
.AppleDesktop
Network Trash Folder
Temporary Items
.apdisk
The MIT License (MIT)
Original work Copyright (c) 2015 Dean Attali
Modified work Copyright (c) 2017 Michael Romero
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
# Beautiful Hugo - A port of Beautiful Jekyll Theme
![Beautiful Hugo Theme Screenshot](https://github.com/halogenica/beautifulhugo/blob/master/images/screenshot.png)
## Installation
$ mkdir themes
$ cd themes
$ git clone https://github.com/halogenica/beautifulhugo.git beautifulhugo
See [the Hugo documentation](http://gohugo.io/themes/installing/) for more information.
## Extra Features
### Responsive
This theme is designed to look great on both large-screen and small-screen (mobile) devices.
### Syntax highlighting
This theme has support for both server side and client side highlighting.
#### Server side syntax highlighting
Use the `highlight` shortcode (with Pygments),
see [the Hugo documentation](http://gohugo.io/extras/highlighting/) for more information.
To use this feature install Pygments (`pip install Pygments`) and add `pygmentsuseclasses = true` to your `config.toml`.
#### Client side syntax highlighting
Use triple backticks ( ``` ) or triple tilde ( ~~~ ) around code blocks.
Client side highlighting does not require pygments to be installed.
### Disqus support
To use this feature, uncomment and fill out the `disqusShortname` parameter in `config.toml`.
### Google Analytics
To add Google Analytics, simply sign up to [Google Analytics](http://www.google.com/analytics/) to obtain your Google Tracking ID, and add this tracking ID to the `googleAnalytics` parameter in `config.toml`.
### Commit SHA on the footer
If the source of your site is in a Git repo, the SHA corresponding to the commit the site is built from can be shown on the footer. To do so, two environment variables have to be set (`GIT_COMMIT_SHA` and `GIT_COMMIT_SHA_SHORT`) and parameter `commit` has to be defined in the config file:
```
[Params]
commit = "https://github.com/<username>/<siterepo>/tree/"
```
This can be achieved by running the next command prior to calling Hugo:
```
GIT_COMMIT_SHA=`git rev-parse --verify HEAD` GIT_COMMIT_SHA_SHORT=`git rev-parse --short HEAD`
```
See at [xor-gate/xor-gate.org](https://github.com/xor-gate/xor-gate.org) an example of how to add it to a continuous integration system.
## About
This is a port of the Jekyll theme [Beautiful Jekyll](http://deanattali.com/beautiful-jekyll/) by [Dean Attali](http://deanattali.com/aboutme#contact). It supports most of the features of the original theme.
## License
MIT Licensed, see [LICENSE](https://github.com/halogenica/Hugo-BeautifulHugo/blob/master/LICENSE).
---
subtitle: ""
tags: []
---
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment