diff --git a/LICENSE b/LICENSE deleted file mode 100644 index 2f3ee86..0000000 --- a/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2014 Spencer Lyon - -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. \ No newline at end of file diff --git a/archetypes/default.md b/archetypes/default.md new file mode 100644 index 0000000..00e77bd --- /dev/null +++ b/archetypes/default.md @@ -0,0 +1,6 @@ +--- +title: "{{ replace .Name "-" " " | title }}" +date: {{ .Date }} +draft: true +--- + diff --git a/config.toml b/config.toml index 1c29e2f..2ca5c2d 100644 --- a/config.toml +++ b/config.toml @@ -1,95 +1,4 @@ -baseurl = "/" -contentdir = "content" -layoutdir = "layouts" -publishdir = "public" -title = "Beautiful Hugo from staging" -canonifyurls = true -enableGitInfo = true - -DefaultContentLanguage = "en" -theme = "beautifulhugo" -metaDataFormat = "yaml" -pygmentsUseClasses = true -pygmentCodeFences = true -#disqusShortname = "XXX" -#googleAnalytics = "XXX" - -[Params] - subtitle = "Hugo Blog Template for GitLab Pages" - logo = "img/avatar-icon.png" - favicon = "img/favicon.ico" - dateFormat = "January 2, 2006" - commit = false - rss = true - comments = true -# gcse = "012345678901234567890:abcdefghijk" # Get your code from google.com/cse. Make sure to go to "Look and Feel" and change Layout to "Full Width" and Theme to "Classic" - -#[[Params.bigimg]] -# src = "img/triangle.jpg" -# desc = "Triangle" -#[[Params.bigimg]] -# src = "img/sphere.jpg" -# desc = "Sphere" -#[[Params.bigimg]] -# src = "img/hexagon.jpg" -# desc = "Hexagon" - -[Author] - name = "Some Person" - email = "youremail@domain.com" - facebook = "username" - googleplus = "+username" # or xxxxxxxxxxxxxxxxxxxxx - gitlab = "username" - github = "username" - twitter = "username" - reddit = "username" - linkedin = "username" - xing = "username" - stackoverflow = "users/XXXXXXX/username" - snapchat = "username" - instagram = "username" - youtube = "user/username" # or channel/channelname - soundcloud = "username" - spotify = "username" - bandcamp = "username" - itchio = "username" - keybase = "username" - - -[[menu.main]] - name = "Blog" - url = "" - weight = 1 - -[[menu.main]] - name = "About" - url = "page/about/" - weight = 3 - -[[menu.main]] - identifier = "samples" - name = "Samples" - weight = 2 - -[[menu.main]] - parent = "samples" - name = "Big Image Sample" - url = "post/2017-03-07-bigimg-sample" - weight = 1 - -[[menu.main]] - parent = "samples" - name = "Math Sample" - url = "post/2017-03-05-math-sample" - weight = 2 - -[[menu.main]] - parent = "samples" - name = "Code Sample" - url = "post/2016-03-08-code-sample" - weight = 3 - -[[menu.main]] - name = "Tags" - url = "tags" - weight = 3 +baseURL = 'https://lazeroffmichael.github.io/example-hugo-blog/' +languageCode = 'en-us' +title = 'Hugo With Layer Zero' +theme = 'nostyleplease' diff --git a/content/_index.md b/content/_index.md deleted file mode 100644 index 19cd277..0000000 --- a/content/_index.md +++ /dev/null @@ -1,9 +0,0 @@ -## Front Page Content - -This website is powered by [GitLab Pages](https://about.gitlab.com/features/pages/) -/ [Hugo](https://gohugo.io) and can be built in under 1 minute. -Literally. It uses the `beautifulhugo` theme which supports content on your front page. -Edit `/content/_index.md` to change what appears here. Delete `/content/_index.md` -if you don't want any content here. - -Head over to the [GitLab project](https://gitlab.com/pages/hugo) to get started. diff --git a/content/hello-world/cool-jellyfish.jpg b/content/hello-world/cool-jellyfish.jpg new file mode 100644 index 0000000..8e89577 Binary files /dev/null and b/content/hello-world/cool-jellyfish.jpg differ diff --git a/content/hello-world/index.md b/content/hello-world/index.md new file mode 100644 index 0000000..a815098 --- /dev/null +++ b/content/hello-world/index.md @@ -0,0 +1,16 @@ +--- +title: "Hello World" +date: 2023-02-11T19:16:51-08:00 +draft: false +tags: ['update'] +--- + +# Welcome! + +This is my very first post. All of this is written using Markdown. + +![jellyfish](cool-jellyfish.jpg) + +## Check Out The Pentesting Post + +[Pentesting]({{< ref "pentesting" >}}) diff --git a/content/page/about.md b/content/page/about.md deleted file mode 100644 index 82902e8..0000000 --- a/content/page/about.md +++ /dev/null @@ -1,19 +0,0 @@ ---- -title: About me -subtitle: Why you'd want to hang out with me -comments: false ---- - -My name is The Dude. I have the following qualities: - -- I rock a great beard -- I'm extremely loyal to my friends -- I like bowling - -That rug really tied the room together. - -### my history - -To be honest, I'm having some trouble remembering right now, so why don't you -just watch [my movie](https://en.wikipedia.org/wiki/The_Big_Lebowski) and it -will answer **all** your questions. diff --git a/content/pentesting/index.md b/content/pentesting/index.md new file mode 100644 index 0000000..d8dc67b --- /dev/null +++ b/content/pentesting/index.md @@ -0,0 +1,8 @@ +--- +title: "Pentesting" +date: 2023-02-13T12:07:13-08:00 +draft: false +--- + +# Welcome To Pentesting + diff --git a/content/post/2015-01-04-first-post.md b/content/post/2015-01-04-first-post.md deleted file mode 100644 index 4d4cf45..0000000 --- a/content/post/2015-01-04-first-post.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -title: First post! -date: 2015-01-05 ---- - -This is my first post, how exciting! \ No newline at end of file diff --git a/content/post/2015-01-15-pirates.md b/content/post/2015-01-15-pirates.md deleted file mode 100644 index f2f8f08..0000000 --- a/content/post/2015-01-15-pirates.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -title: Pirates arrrr -date: 2015-01-15 ---- - -Piracy is typically an act of robbery or criminal violence at sea. The term can include acts committed on land, in the air, or in other major bodies of water or on a shore. It does not normally include crimes committed against persons traveling on the same vessel as the perpetrator (e.g. one passenger stealing from others on the same vessel). The term has been used throughout history to refer to raids across land borders by non-state agents. \ No newline at end of file diff --git a/content/post/2015-01-19-soccer.md b/content/post/2015-01-19-soccer.md deleted file mode 100644 index 82889be..0000000 --- a/content/post/2015-01-19-soccer.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: Soccer -subtitle: Best sport ever! -date: 2015-01-19 ---- - -From Wikipedia: - -Association football, more commonly known as football or soccer,[2] is a sport played between two teams of eleven players with a spherical ball. It is played by 250 million players in over 200 countries, making it the world's most popular sport.[3][4][5][6] The game is played on a rectangular field with a goal at each end. The object of the game is to score by getting the ball into the opposing goal. - -The goalkeepers are the only players allowed to touch the ball with their hands or arms while it is in play and then only in their penalty area. Outfield players mostly use their feet to strike or pass the ball, but may use their head or torso to strike the ball instead. The team that scores the most goals by the end of the match wins. If the score is level at the end of the game, either a draw is declared or the game goes into extra time and/or a penalty shootout depending on the format of the competition. The Laws of the Game were originally codified in England by The Football Association in 1863. Association football is governed internationally by the International Federation of Association Football (FIFA; French: Fédération Internationale de Football Association) which organises a World Cup every four years.[7] \ No newline at end of file diff --git a/content/post/2015-01-27-dear-diary.md b/content/post/2015-01-27-dear-diary.md deleted file mode 100644 index bed5417..0000000 --- a/content/post/2015-01-27-dear-diary.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -title: Dear diary -date: 2015-01-27 ---- - -What is it with that Mary girl? Dragging me to school every day. As if I had a choice. What you don't hear in those nursery rhymes is that she starves me if I don't go to school with her; it's the only way I can stay alive! I'm thinking about being adopted by Little Bo Peep, sure I may get lost, but anything is better than being with Mary and those little brats at school (shudder, shudder). \ No newline at end of file diff --git a/content/post/2015-02-13-hamlet-monologue.md b/content/post/2015-02-13-hamlet-monologue.md deleted file mode 100644 index 48dd133..0000000 --- a/content/post/2015-02-13-hamlet-monologue.md +++ /dev/null @@ -1,41 +0,0 @@ ---- -title: To be -subtitle: ... or not to be? -date: 2015-02-13 ---- - -To be, or not to be--that is the question: -Whether 'tis nobler in the mind to suffer -The slings and arrows of outrageous fortune -Or to take arms against a sea of troubles -And by opposing end them. To die, to sleep-- -No more--and by a sleep to say we end -The heartache, and the thousand natural shocks -That flesh is heir to. 'Tis a consummation -Devoutly to be wished. To die, to sleep-- -To sleep--perchance to dream: ay, there's the rub, -For in that sleep of death what dreams may come -When we have shuffled off this mortal coil, -Must give us pause. There's the respect -That makes calamity of so long life. -For who would bear the whips and scorns of time, -Th' oppressor's wrong, the proud man's contumely -The pangs of despised love, the law's delay, -The insolence of office, and the spurns -That patient merit of th' unworthy takes, -When he himself might his quietus make -With a bare bodkin? Who would fardels bear, -To grunt and sweat under a weary life, -But that the dread of something after death, -The undiscovered country, from whose bourn -No traveller returns, puzzles the will, -And makes us rather bear those ills we have -Than fly to others that we know not of? -Thus conscience does make cowards of us all, -And thus the native hue of resolution -Is sicklied o'er with the pale cast of thought, -And enterprise of great pitch and moment -With this regard their currents turn awry -And lose the name of action. -- Soft you now, -The fair Ophelia! -- Nymph, in thy orisons -Be all my sins remembered. \ No newline at end of file diff --git a/content/post/2015-02-20-test-markdown.md b/content/post/2015-02-20-test-markdown.md deleted file mode 100644 index 8ef8cbf..0000000 --- a/content/post/2015-02-20-test-markdown.md +++ /dev/null @@ -1,35 +0,0 @@ ---- -title: Test markdown -subtitle: Each post also has a subtitle -date: 2015-02-20 -tags: ["example", "markdown"] ---- - -You can write regular [markdown](http://markdowntutorial.com/) here and Jekyll will automatically convert it to a nice webpage. I strongly encourage you to [take 5 minutes to learn how to write in markdown](http://markdowntutorial.com/) - it'll teach you how to transform regular text into bold/italics/headings/tables/etc. - -**Here is some bold text** - -## Here is a secondary heading - -Here's a useless table: - -| Number | Next number | Previous number | -| :------ |:--- | :--- | -| Five | Six | Four | -| Ten | Eleven | Nine | -| Seven | Eight | Six | -| Two | Three | One | - - -How about a yummy crepe? - -![Crepe](http://s3-media3.fl.yelpcdn.com/bphoto/cQ1Yoa75m2yUFFbY2xwuqw/348s.jpg) - -Here's a code chunk with syntax highlighting: - -```javascript -var foo = function(x) { - return(x + 5); -} -foo(3) -``` diff --git a/content/post/2015-02-26-flake-it-till-you-make-it.md b/content/post/2015-02-26-flake-it-till-you-make-it.md deleted file mode 100644 index 895ff58..0000000 --- a/content/post/2015-02-26-flake-it-till-you-make-it.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -title: Flake it till you make it -subtitle: Excerpt from Soulshaping by Jeff Brown -date: 2015-02-26 -bigimg: [{src: "/img/path.jpg", desc: "Path"}] ---- - -Under what circumstances should we step off a path? When is it essential that we finish what we start? If I bought a bag of peanuts and had an allergic reaction, no one would fault me if I threw it out. If I ended a relationship with a woman who hit me, no one would say that I had a commitment problem. But if I walk away from a seemingly secure route because my soul has other ideas, I am a flake? - -The truth is that no one else can definitively know the path we are here to walk. It’s tempting to listen—many of us long for the omnipotent other—but unless they are genuine psychic intuitives, they can’t know. All others can know is their own truth, and if they’ve actually done the work to excavate it, they will have the good sense to know that they cannot genuinely know anyone else’s. Only soul knows the path it is here to walk. Since you are the only one living in your temple, only you can know its scriptures and interpretive structure. - -At the heart of the struggle are two very different ideas of success—survival-driven and soul-driven. For survivalists, success is security, pragmatism, power over others. Success is the absence of material suffering, the nourishing of the soul be damned. It is an odd and ironic thing that most of the material power in our world often resides in the hands of younger souls. Still working in the egoic and material realms, they love the sensations of power and focus most of their energy on accumulation. Older souls tend not to be as materially driven. They have already played the worldly game in previous lives and they search for more subtle shades of meaning in this one—authentication rather than accumulation. They are often ignored by the culture at large, although they really are the truest warriors. - -A soulful notion of success rests on the actualization of our innate image. Success is simply the completion of a soul step, however unsightly it may be. We have finished what we started when the lesson is learned. What a fear-based culture calls a wonderful opportunity may be fruitless and misguided for the soul. Staying in a passionless relationship may satisfy our need for comfort, but it may stifle the soul. Becoming a famous lawyer is only worthwhile if the soul demands it. It is an essential failure if you are called to be a monastic this time around. If you need to explore and abandon ten careers in order to stretch your soul toward its innate image, then so be it. Flake it till you make it. \ No newline at end of file diff --git a/content/post/2016-03-08-code-sample.md b/content/post/2016-03-08-code-sample.md deleted file mode 100644 index af4514a..0000000 --- a/content/post/2016-03-08-code-sample.md +++ /dev/null @@ -1,42 +0,0 @@ ---- -title: Code Sample -subtitle: Using Hugo or Pygments -date: 2016-03-08 -tags: ["example", "code"] ---- - -The following are two code samples using syntax highlighting. - - - -The following is a code sample using triple backticks ( ``` ) code fencing provided in Hugo. This is client side highlighting and does not require any special installation. - -```javascript - var num1, num2, sum - num1 = prompt("Enter first number") - num2 = prompt("Enter second number") - sum = parseInt(num1) + parseInt(num2) // "+" means "add" - alert("Sum = " + sum) // "+" means combine into a string -``` - - -The following is a code sample using the "highlight" shortcode provided in Hugo. This is server side highlighting and requires Python and Pygments to be installed. - -{{< highlight javascript >}} - var num1, num2, sum - num1 = prompt("Enter first number") - num2 = prompt("Enter second number") - sum = parseInt(num1) + parseInt(num2) // "+" means "add" - alert("Sum = " + sum) // "+" means combine into a string -{{}} - - -And here is the same code with line numbers: - -{{< highlight javascript "linenos=inline">}} - var num1, num2, sum - num1 = prompt("Enter first number") - num2 = prompt("Enter second number") - sum = parseInt(num1) + parseInt(num2) // "+" means "add" - alert("Sum = " + sum) // "+" means combine into a string -{{}} diff --git a/content/post/2017-03-05-math-sample.md b/content/post/2017-03-05-math-sample.md deleted file mode 100644 index 8ecf666..0000000 --- a/content/post/2017-03-05-math-sample.md +++ /dev/null @@ -1,49 +0,0 @@ ---- -title: Math Sample -subtitle: Using KaTeX -date: 2017-03-05 -tags: ["example", "math"] ---- - -KaTeX can be used to generate complex math formulas server-side. - -$$ -\phi = \frac{(1+\sqrt{5})}{2} = 1.6180339887\cdots -$$ - -Additional details can be found on [GitHub](https://github.com/Khan/KaTeX) or on the [Wiki](http://tiddlywiki.com/plugins/tiddlywiki/katex/). - - -### Example 1 - -If the text between $$ contains newlines it will rendered in display mode: -``` -$$ -f(x) = \int_{-\infty}^\infty\hat f(\xi)\,e^{2 \pi i \xi x}\,d\xi -$$ -``` -$$ -f(x) = \int_{-\infty}^\infty\hat f(\xi)\,e^{2 \pi i \xi x}\,d\xi -$$ - - -### Example 2 -``` -$$ -\frac{1}{\Bigl(\sqrt{\phi \sqrt{5}}-\phi\Bigr) e^{\frac25 \pi}} = 1+\frac{e^{-2\pi}} {1+\frac{e^{-4\pi}} {1+\frac{e^{-6\pi}} {1+\frac{e^{-8\pi}} {1+\cdots} } } } -$$ -``` -​​$$ -\frac{1}{\Bigl(\sqrt{\phi \sqrt{5}}-\phi\Bigr) e^{\frac25 \pi}} = 1+\frac{e^{-2\pi}} {1+\frac{e^{-4\pi}} {1+\frac{e^{-6\pi}} {1+\frac{e^{-8\pi}} {1+\cdots} } } } -$$ -​​ - -### Example 3 -``` -$$ -1 + \frac{q^2}{(1-q)}+\frac{q^6}{(1-q)(1-q^2)}+\cdots = \prod_{j=0}^{\infty}\frac{1}{(1-q^{5j+2})(1-q^{5j+3})}, \quad\quad \text{for }\lvert q\rvert<1. -$$ -``` -$$ -1 + \frac{q^2}{(1-q)}+\frac{q^6}{(1-q)(1-q^2)}+\cdots = \prod_{j=0}^{\infty}\frac{1}{(1-q^{5j+2})(1-q^{5j+3})}, \quad\quad \text{for }\lvert q\rvert<1. -$$ diff --git a/content/post/2017-03-07-bigimg-sample.md b/content/post/2017-03-07-bigimg-sample.md deleted file mode 100644 index 754d999..0000000 --- a/content/post/2017-03-07-bigimg-sample.md +++ /dev/null @@ -1,40 +0,0 @@ ---- -title: Big Image Sample -subtitle: Using Multiple Images -date: 2017-03-07 -tags: ["example", "bigimg"] -bigimg: [{src: "/img/triangle.jpg", desc: "Triangle"}, {src: "/img/sphere.jpg", desc: "Sphere"}, {src: "/img/hexagon.jpg", desc: "Hexagon"}] ---- - -The image banners at the top of the page are refered to as "bigimg" in this theme. They are optional, and one more more can be specified. If more than one is specified, the images rotate every 10 seconds. In the front matter, bigimgs are specified using an array of hashes. - - - -A single bigimg can be specified in the front matter by the following YAML: -``` -bigimg: [{src: "/img/triangle.jpg", desc: "Triangle"}] -``` - -Multiple bigimgs can be specified in the front matter by the following YAML: -``` -bigimg: [{src: "/img/triangle.jpg", desc: "Triangle"}, - {src: "/img/sphere.jpg", desc: "Sphere"}, - {src: "/img/hexagon.jpg", desc: "Hexagon"}] -``` - -Also note that the description field is optional, and images could instead be specified by: -``` -bigimg: [{src: "/img/triangle.jpg"}, - {src: "/img/sphere.jpg"}, - {src: "/img/hexagon.jpg"}] -``` - -The above YAML array of hashes were written in "flow" style. However when generating a new page or post with `hugo new post/mypost.md`, hugo may interpret the archetype for bigimg in the default YAML style. Defining multiple bigimg's complete with descriptions in this style would be specified by: -``` -bigimg: -- {src: "/img/triangle.jpg", desc: "Triangle"} -- {src: "/img/sphere.jpg", desc: "Sphere"} -- {src: "/img/hexagon.jpg", desc: "Hexagon"} -``` - -Additional information can be found [in this YAML tutorial](https://rhnh.net/2011/01/31/yaml-tutorial/). \ No newline at end of file diff --git a/content/post/2017-03-20-photoswipe-gallery-sample.md b/content/post/2017-03-20-photoswipe-gallery-sample.md deleted file mode 100644 index d9b4c74..0000000 --- a/content/post/2017-03-20-photoswipe-gallery-sample.md +++ /dev/null @@ -1,39 +0,0 @@ ---- -title: Photoswipe Gallery Sample -subtitle: Making a Gallery -date: 2017-03-20 -tags: ["example", "photoswipe"] ---- - -Beautiful Hugo adds a few custom shortcodes created by [Li-Wen Yip](https://www.liwen.id.au/heg/) and [Gert-Jan van den Berg](https://github.com/GjjvdBurg/HugoPhotoSwipe) for making galleries with [PhotoSwipe](http://photoswipe.com) . - -{{< gallery caption-effect="fade" >}} - {{< figure thumb="-thumb" link="/img/hexagon.jpg" >}} - {{< figure thumb="-thumb" link="/img/sphere.jpg" caption="Sphere" >}} - {{< figure thumb="-thumb" link="/img/triangle.jpg" caption="Triangle" alt="This is a long comment about a triangle" >}} -{{< /gallery >}} -{{< load-photoswipe >}} - - -## Example -The above gallery was created using the following shortcodes: -``` -{{}} - {{}} - {{}} - {{}} -{{}} -{{}} -``` - -## Usage -For full details please see the [hugo-easy-gallery GitHub](https://github.com/liwenyip/hugo-easy-gallery/) page. Basic usages from above are: - -- Create a gallery with open and close tags `{{}}` and `{{}}` -- `{{}}` will use `image.jpg` for thumbnail and lightbox -- `{{}}` will use `thumb.jpg` for thumbnail and `image.jpg` for lightbox -- `{{}}` will use `image-small.jpg` for thumbnail and `image.jpg` for lightbox -- All the [features/parameters](https://gohugo.io/extras/shortcodes) of Hugo's built-in `figure` shortcode work as normal, i.e. src, link, title, caption, class, attr (attribution), attrlink, alt -- `{{}}` will fade in captions for all figures in this gallery instead of the default slide-up behavior -- Many gallery styles for captions and hover effects exist; view the [hugo-easy-gallery GitHub](https://github.com/liwenyip/hugo-easy-gallery/) for all options -- Call `{{}}` **once** anywhere you want on each page where you want to use PhotoSwipe \ No newline at end of file diff --git a/data/menu.toml b/data/menu.toml new file mode 100644 index 0000000..4c2c982 --- /dev/null +++ b/data/menu.toml @@ -0,0 +1,28 @@ +[[entries]] +title = "Layer Zero Blog" + + [[entries.entries]] + title = "A quick introduction to making a simple-static blog with Hugo" + + [[entries.entries]] + title = "Our Website - layer-zero.org" + url = "https://layer-zero.org" + + +[[entries]] +title = "all posts" + + [entries.post_list] + limit = 5 + show_more = true + show_more_text = "See archive..." + show_more_url = "posts" + +[[entries]] +title = "posts by category" + + [entries.post_list] + section = "posts" + show_more = true + show_more_text = "See more posts..." + show_more_url = "posts" diff --git a/example-hugo-blog-main.zip b/example-hugo-blog-main.zip new file mode 100644 index 0000000..f602160 Binary files /dev/null and b/example-hugo-blog-main.zip differ diff --git a/i18n/en.yaml b/i18n/en.yaml deleted file mode 100644 index 12a0026..0000000 --- a/i18n/en.yaml +++ /dev/null @@ -1,8 +0,0 @@ -# Content -- id: dateFormat - translation: "January 2, 2006" -- id: postedOnDate - translation: "Posted on" -# Footer -- id: poweredBy # Accepts HTML - translation: "{{ .Site.LastChange }}" diff --git a/readme.md b/readme.md index fbab18b..a0ece4f 100644 --- a/readme.md +++ b/readme.md @@ -1,81 +1,633 @@ -![Build Status](https://gitlab.com/pages/hugo/badges/master/build.svg) +# 📚 Getting Started With Hugo + +Author: Michael Lazeroff + +> This lab was provided in-person on February 7th, 2023 in CBC-234 + +# 💭 What is [Hugo](https://gohugo.io/)? + +Hugo is a static-site generation tool written in Go. The tool allows for a quick, beautiful, and easy way to deploy a personal website. No web development knowledge is required, and all content is written using markdown. + +## What is the purpose of Hugo? + +Hugo is best suited for displaying articles and images for a personal portfolio and blog. It is not designed for making dynamic applications, or hosting things like an online store. If your website needs to support more complex use types, other solutions will have to be used. + +## What will you learn in this guide? + +After completing the steps outlined in this guide, you will have a working understanding of + +1. Creating and configuring a website using Hugo +2. Writing content in Markdown +3. Deploying your website using Git, GitHub, and GitHub Actions --- -Example [Hugo] website using GitLab Pages. +# 🎬 Prerequisites -Learn more about GitLab Pages at https://pages.gitlab.io and the official -documentation https://docs.gitlab.com/ce/user/project/pages/. +1. Access to a command line and knowledge of basic commands +2. A Package Manager +3. Git +4. A GitHub Account +5. A Text Editor + +## Command Line + +This walkthrough will assume you have basic knowledge of how to use command line utilities. If you have never used the command line before, I would highly recommend learning some basic utilities first, prior to following this guide. + +If you are on a Windows system, check out guides for Powershell such as [Windows PowerShell/Command Line for Beginners (Tutorial)](https://www.youtube.com/watch?v=FpRGRLI8Fy8) + +For Windows, you might also consider looking into WSL, or the Windows Subsystem for Linux. See tutorials such as [Windows Subsystem for Linux (WSL) Tutorial & How To](https://www.youtube.com/watch?v=av0UQy6g2FA) + +If you are on a MacOS or Linux system, check out guides such as +[Introduction to Linux and Basic Linux Commands for Beginners](https://www.youtube.com/watch?v=IVquJh3DXUA) + +## Package Manager + +Package managers allow for easy sharing and updating of software packages. The preferred way to install Hugo will be using a package manager, so please install an appropriate package manager for your system. + +1. Windows: [Chocolatey](https://docs.chocolatey.org/en-us/) +2. Mac: [Homebrew](https://brew.sh/) +3. Linux: It is likely your distribution of Linux already comes with a package manager installed. If you are unsure, look up the package manager for your specific distribution. + +## Git and GitHub + +While configuration of Hugo can be done with basic knowledge of the command line, the steps shown in this guide to deploy your website to the internet require knowledge of Git and GitHub. Similar to the previous section, if you have never used Git or GitHub before, check out guides such as [Git and GitHub for Beginners - Crash Course](https://www.youtube.com/watch?v=RGOj5yH7evk) + +## Text Editor + +For editing config and markdown files, you will need a text editor. One of the most popular text/code editors is [Visual Studio Code](https://code.visualstudio.com/). If you have never used a text or code editor before, I would suggest starting with this one. --- - - -**Table of Contents** *generated with [DocToc](https://github.com/thlorenz/doctoc)* +# ✅ Hugo Installation -- [GitLab CI](#gitlab-ci) -- [Building locally](#building-locally) -- [GitLab User or Group Pages](#gitlab-user-or-group-pages) -- [Did you fork this project?](#did-you-fork-this-project) -- [Troubleshooting](#troubleshooting) +In order to begin using Hugo, we must install it. The preferred way to install Hugo is by using a package manager. If your package manager/system is not listed below, check out the [Installation Docs For Hugo](https://gohugo.io/categories/installation/) to see if it is there. - +If installed using a package manager, Hugo does not require the `Go` programming language to be installed on your system. -## GitLab CI +Windows +```bash +choco install hugo-extended +``` -This project's static Pages are built by [GitLab CI][ci], following the steps -defined in [`.gitlab-ci.yml`](.gitlab-ci.yml). +Mac +```bash +brew install hugo +``` -## Building locally +Linux +```bash +sudo apt install hugo +``` -To work locally with this project, you'll have to follow the steps below: +If you do not want to use a package manager to install Hugo, you can build it directly from it's source code. Check out [Installation Docs For Hugo](https://gohugo.io/categories/installation/) and select your system. -1. Fork, clone or download this project -1. [Install][] Hugo -1. Preview your project: `hugo server` -1. Add content -1. Generate the website: `hugo` (optional) +--- -Read more at Hugo's [documentation][]. +# 🎨 Creating A New Site -### Preview your site +Hugo is designed around a number of simple commands to make configuration as simple and seamless as possible. The first of these commands is the `hugo new site ` command. -If you clone or download this project to your local computer and run `hugo server`, -your site can be accessed under `localhost:1313/hugo/`. +> Note: Any commands that have < > around them should be replaced with an appropriate name. -The theme used is adapted from http://themes.gohugo.io/beautifulhugo/. +To make a new site in a folder called `blog`, run the following command: -## GitLab User or Group Pages +```bash +hugo new site blog +``` -To use this project as your user/group website, you will need one additional -step: just rename your project to `namespace.gitlab.io`, where `namespace` is -your `username` or `groupname`. This can be done by navigating to your -project's **Settings**. +In your current working directory, you should see that there is a new folder called `blog` that was created, this is where all your site configuration will be done. -You'll need to configure your site too: change this line -in your `config.toml`, from `"https://pages.gitlab.io/hugo/"` to `baseurl = "https://namespace.gitlab.io"`. -Proceed equally if you are using a [custom domain][post]: `baseurl = "http(s)://example.com"`. +To start configuring, navigate to the new folder: -Read more about [user/group Pages][userpages] and [project Pages][projpages]. +```bash +cd blog +``` -## Did you fork this project? +## Directory Structure -If you forked this project for your own use, please go to your project's -**Settings** and remove the forking relationship, which won't be necessary -unless you want to contribute back to the upstream project. +The `hugo new site` command creates the required project scaffolding automatically. The diagram below shows the structure of the project: -## Troubleshooting +``` +blog/ +├── archetypes/ +│ └── default.md +├── assets/ +├── content/ +├── data/ +├── layouts/ +├── public/ +├── static/ +├── themes/ +└── config.toml +``` -1. CSS is missing! That means two things: +If you want to learn exactly what all these folders should contain, you can check out [Directory Structure Explained](https://gohugo.io/getting-started/directory-structure/#directory-structure-explained) from Hugo's docs. - Either that you have wrongly set up the CSS URL in your templates, or - your static generator has a configuration option that needs to be explicitly - set in order to serve static assets under a relative URL. +I will, however, give a brief overview of the most important of these folders/files. -[ci]: https://about.gitlab.com/gitlab-ci/ -[hugo]: https://gohugo.io -[install]: https://gohugo.io/overview/installing/ -[documentation]: https://gohugo.io/overview/introduction/ -[userpages]: http://doc.gitlab.com/ee/pages/README.html#user-or-group-pages -[projpages]: http://doc.gitlab.com/ee/pages/README.html#project-pages -[post]: https://about.gitlab.com/2016/04/07/gitlab-pages-setup/#custom-domains +1. archetypes/ + - When creating new posts, Hugo will source files in this directory to use as templates. The `default.md` file is the basic template file for a post. +2. content/ + - This is where all your posts will exist. All of your posts will be `.md` for markdown. +3. public + - This is where all the files needed to display your website are held. Hugo first will generate the appropriate files, and then place them here. +4. static + - The static folder is where you can place images, and new CSS/HTML files for use on your website. These files are copied directly over to the `public` directory when Hugo generates all of the files. +5. themes + - The folder with your chosen theme should go here. +6. config.toml + - This is where the configuration for your site is done. Simple themes might require only the single `config.toml` file, while more complex themes might have many files to configure. + +--- + +# 🎉 Themes + +Hugo relies on themes in order to know how to style your website. There are many prebuilt themes, and there is always the option of creating your own. + +All themes will support the basic functionality of Hugo, however, themes can look drastically different to each other based on the intention of the theme author. + +For your actual website, you can browse the [Hugo Themes](https://themes.gohugo.io/) to see which one resonates with you. For this writeup, I will be showcasing an extremely minimal theme. The reason for this is that the configuration is really small, and so that you can potentially learn to style themes to your own liking. + +## Installing A Theme + +To install a theme, we must first download the theme's files into the `theme/` directory. + +For your chosen theme, read the documentation, since every theme might have a different approach to configuration. Each theme will also include an installation guide, however, most can be installed in the following manor - which is to add the theme as a Git Submodule. + +At the base of your `blog` folder, initialize the Git repo: + +```bash +git init +``` + +Add the theme as a Git Submodule: + +```bash +git submodule add https://github.com/Masellum/hugo-theme-nostyleplease themes/nostyleplease +``` + +In the above command, we are telling Git to add `https://github.com/Masellum/hugo-theme-nostyleplease` into our `themes` folder with the name `nostyleplease`. Again if you prefer to use a different theme, you can simply replace the GitHub link and desired folder name. + +## Setting The Theme + +Now that our theme is installed, we must tell Hugo that we want to use it. Setting the theme is the first change that you will make to the configuration files. + +First, you will need to open the `config.toml` file in your text editor of choice. Once the file is open, we then need to append the following line to the end: + +``` +theme = 'nostyleplease' +``` + +This will set the theme to the one we installed previously. Change the theme name appropriately if you installed a different theme. + +## Theme Specific Configuration + +Most themes will come with their own configuration model. Simple themes like `nostyleplease` will make use of only a couple of configuration files, while larger and more complex themes might use many directories of configuration files. Make sure you are reading the documentation for your chosen theme. + +--- + +# 🌎 Serving The Site + +With the theme installed and configured, we can preview our site on a local port using: + +``` +hugo server +``` + +Hugo will output text about the site, including a line saying `Web Server is available at http://localhost:1313/ (bind address 127.0.0.1)`. + +To view the website, copy the address it outputs for you into a browser. + +![new hugo site](main-page.png) + +When we make changes to our configuration, it will reflect in our local preview in real time. + +It's beautiful isn't it :) + +--- + +# 🎃 Basic Configuration + +Lets go ahead and update the title of the website in `config.toml` + +``` +title = 'Hugo With Layer Zero' +``` + +Once this is done, the title in the preview will change. + +For `nostyleplease`, you will notice at the bottom that it says to edit the menu at `data/menu.toml`. This is an example of a theme's unique approach to configuration, as other themes could have you edit the menu in a different file. + +We need to copy that file from the theme folder to our own `data/` folder. + +``` +cp themes/nostyleplease/data/menu.toml data/menu.toml +``` + +After some changes in the `data/menu.toml` file, my local preview looks like this: + +![updated](updated-main-page.png) + +These are the changes that were made: +1. Update the `info` section at the top +2. Add the external link to the Layer Zero website using `[Our Website - layer-zero.org](https://layer-zero.org)` +3. Remove the `RSS` feed section +4. Remove the `another list` section +5. Remove the `PRO TIP` section, since we know how to edit the menu + +Configure to your needs and what content you want to display. Follow the format of the other sections that were present in `data/menu.toml`. + +# 📝 Content + +The whole point of a static blog is for making content, so lets make some content! + +> Note: If you are following along exactly, DO NOT RUN ALL OF THESE COMMANDS. I am just showing what is possible first. Read through this section and perform the specified command at the end if you are wanting to follow along. + +The `hugo new ` command will create a new markdown file at the specified path IN the `content/` directory: + +``` +hugo new hello-world.md +``` + +Including just the filename will place the new file in the `content/` folder with no nesting. + +``` +content +└── hello-world.md +``` + +These markdown files will serve as the content for each post. It is recommended when using the `hugo new` command that you give the files an appropriate name. Hugo will do its best to parse the filename into an appropriate title. + +## Content Organization + +Hugo allows for users to organize their `content/` folder in whichever way they prefer. You can have all your posts on one level like this: + +`hugo new .md` + +``` +content +└── firstpost.md +└── secondpost.md +└── thirdpost.md +└── fourthpost.md +``` + +Or, you can split content up into different sub-sections using folders: + +`hugo new /.md` + +``` +content +├── essays +│   └── firstessay.md +├── projects +│   └── firstproject.md +└── writeups + └── firstwriteup.md +``` + +However, the **recommended way** is to use [Page Bundles](https://gohugo.io/content-management/page-bundles/). Page Bundles essentially allow you to organize posts into their own folders, allowing you to place all the assets necessary for the post (like images) in the same folder. + +For example, I am going to make a new post called `Hello World` with the Page Bundles design. I will run the following command: + +``` +hugo new hello-world/index.md +``` + +This is telling Hugo to make a new folder in `content/` called `hello-world/` as well as the file `index.md`. The post title will be `hello-world` since that is the name of the directory, but the content will be placed in `index.md`. + +This is what Hugo creates in the `content/` folder: + +``` +content +└── hello-world + └── index.md +``` + +If you wanted to section your posts by type, such as in the example showcasing different sub-folders, you can still do that. For example, if I wanted to place a new post in a `posts` folder, I can just run: + +``` +hugo new posts/hello-world/index.md +``` + +The `content/` folder would look like: + +``` +content +└── posts + └── hello-world + └── index.md +``` + +If you wanted to have a separate folder for something like projects, you would do the same thing. Page Bundles give the most flexibility for posts and easy of use, so it is recommended you do it this way. + +> If you are following along exactly, type the following command if you haven't already: + +``` +hugo new hello-world/index.md +``` + +## Markdown + +If you are unfamiliar with markdown I recommend checking out the [Markdown Syntax Guide](https://www.markdownguide.org/basic-syntax/). Guides such as this one layout all the different options that you have to format your text, and even include what your markdown will be rendered as. + +The below diagram shows what is happening with markdown. Markdown syntax is easily translated into HTML, which is used to display text to a webpage or any app which can render HTML. + +![[Getting Started With Hugo 2023-02-11 19.03.09.excalidraw.png]] + +Markdown is commonly used for ease of use and portability. With markdown, you can render it using a number of different apps, including VSCode. + +## Templates + +Recall that Hugo uses templates in `archetypes/` when creating new posts. Since we have not made any changes to the default file, `default.md`, creating a new post uses that file as a template: + +``` +--- +title: "{{ replace .Name "-" " " | title }}" +date: {{ .Date }} +draft: true +--- +``` + +We see that the functions it uses are very simple. The title field is populated by taking the filename and replacing any dashes with a space. The date field is filled with the current date, and the draft field is set to `true`. + +Since I already created my `hello-world` post from above, I just have to open it in the text editor to make changes. Remember, since I used the page bundle design, the file I am going to edit is `content/hello-world/index.md`. Here are some changes that I made: + +``` +--- +title: "Hello World" +date: 2023-02-11T19:16:51-08:00 +draft: false +--- + +# Welcome! + +This is my very first post. All of this is written using Markdown. +``` + +Along with adding the new content in markdown, I also changed the `draft` status to `false`. When Hugo builds your final site, it will not include posts that are marked as `draft: true`. If you want your post to be included with the final build of your site, change the status to `false`. + +After doing that, I now see this in my local preview: + +![post-show](post-show.png) + +Our post has now shown up, and if we click on it we will see the content! + +## Organizing With Tags + +You can tag content for organization purposes. Theme authors will choose different ways to handle displaying tags. + +To add a tag to a post, just add a new `tags` field in the metadata section. You can add multiple tags by including commas between the entries, eg. `['tag1', 'tag2', 'tag3']` + +``` +--- +title: "Hello World" +date: 2023-02-11T19:16:51-08:00 +draft: false +tags: ['update'] +--- + +# Welcome! + +This is my very first post. All of this is written using Markdown. +``` + +Tags are a way you can organize your posts by category or topic. Check your theme documentation to see how they support tags. + +## Adding Images + +The reason for using Page Bundles as our content organization scheme of choice is for easy handling of assets such as images in our posts. + +Lets say that I want to include this cool picture of Jellyfish in my post: + +![[jellyfish.jpg]] + +First, I will need to place the image in my post folder. Since we are working on `hello-world` I will just add the file titled `cool-jellyfish.jpg` into there. After doing that, this is what the folder contains: + +``` +content +└── hello-world + ├── cool-jellyfish.jpg + └── index.md +``` + +There are now TWO files in my `hello-world` post: my actual content in `index.md` and my image asset `cool-jellyfish.jpg`. + +To display the image in the post, you can use standard markdown syntax to display the image: + +``` +--- +title: "Hello World" +date: 2023-02-11T19:16:51-08:00 +draft: false +tags: ['update'] +--- + +# Welcome! + +This is my very first post. All of this is written using Markdown. + +![jellyfish](cool-jellyfish.jpg) +``` + +The image can now show up in your preview. + +## Linking To Other Posts + +Hugo uses special functions to resolve the paths of documents. This ensures that links between posts will always work. + +I am going to add a new post to `content/` that I want to link to my original `hello-world` post. + +To link a post, it needs to exist first, so I am going to make a new post called `pentesting` + +``` +hugo new pentesting/index.md +``` + +Our content folder now looks like this: + +``` +content +├── hello-world +│   ├── cool-jellyfish.jpg +│   └── index.md +└── pentesting + └── index.md + +``` + +In practice, you would of course do all the similar steps for the `pentesting` post such as adding the markdown content and setting the `draft` field to `false`. Inside my `hello-world` post I want to link to the `pentesting` post. I will add the following into `content/hello-world/index.md`: + +```md +[Pentesting]({{< ref "pentesting" >}}) +``` + +The `ref` function will find the document specified by using the relative path. You can reference `pentesting/index.md` or just `pentesting`, Hugo will find it regardless. + +For more information on the `ref` and `relref` functions, check out [Links and Cross References](https://gohugobrasil.netlify.app/content-management/cross-references/) from the Hugo docs. + +# 👍 Deploy On GitHub Pages + +If you have made it to this point, you should be able to do the following things with Hugo: + +1. Create a new site +2. Install themes +3. Live preview your site locally +4. Create and configure content + +Since Hugo is responsible for just generating the static files needed for a website, we must take those files and host them on something. The easiest way in my opinion is using GitHub pages, and this will be the final step of this tutorial. + +## Two Approaches To Hosting On GitHub Pages + +### Two Repo Approach + +Since all you need for your website are the contents of the `public/` directory after Hugo builds your site, it is reasonable to split up your files into two separate repos: + +1. Static/public files - these are the generated files by Hugo and are served on a Personal/Organization repo. +2. Hugo configuration files - these are all of the other files to configure your site and are served on a separate Project repo. + +With this approach, your website will be hosted at a URL like this: + +``` +https://.github.io/ +``` + +This approach has a cleaner URL, but can be a little tricky to setup. This tutorial will not be covering the two repo approach, but there are other tutorials that exist which do. + +### Mono Repo Approach + +The Mono Repo approach leverages the branching feature of Git by hosting all your configuration files on one branch, and serving all of your static files on a different branch called `gh-pages`. + +The URL for this approach looks like this: + +``` +https://.github.io// +``` + +This approach has a longer URL, but is a little easier to set up. + +## Setting Up GitHub Actions + +GitHub actions allows you to specify actions to be performed based on triggers you set up for your GitHub repo. We will be setting up a GitHub action which builds and deploys our website when we make a new push to the repo. + +Next, we will have to make a new file at the path `.github/workflows/gh-pages.yml`. Once created this should be the path setup: + +``` +.github +└── workflows + └── gh-pages.yml +``` + +Open `gh-pages.yml` in your text editor and add the following content: + +``` +name: github pages + +on: + push: + branches: + - main # Set a branch that will trigger a deployment + pull_request: + +jobs: + deploy: + runs-on: ubuntu-22.04 + permissions: + contents: write + packages: write + steps: + - uses: actions/checkout@v3 + with: + submodules: true # Fetch Hugo themes (true OR recursive) + fetch-depth: 0 # Fetch all history for .GitInfo and .Lastmod + + - name: Setup Hugo + uses: peaceiris/actions-hugo@v2 + with: + hugo-version: 'latest' + extended: true + + - name: Build + run: hugo --minify + + - name: Deploy + uses: peaceiris/actions-gh-pages@v3 + if: github.ref == 'refs/heads/main' + with: + github_token: ${{ secrets.GITHUB_TOKEN }} + publish_dir: ./public +``` + +This configuration is based on the provided workflow from the Hugo Documentation: [GH Actions](https://gohugo.io/hosting-and-deployment/hosting-on-github/#build-hugo-with-github-action) + +Here is a quick explanation of what we are specifying in the file: + +1. On a push to the "main" branch, run this workflow +2. Create a new virtual machine and install Hugo (the extended version as well) +3. Build the Hugo site (creates the files in the `public/` directory) +4. Deploy the files from the `public/` directory onto the `gh-pages` branch. + +## Create A New GitHub Repo + +Create a new repo on GitHub to host your blog. It can be named whatever you want, but for this tutorial I will call it `example-hugo-blog`. Use whatever name you prefer. Make sure it is public. There are a few more steps we will take before we push our code to the new repo. + +## Configure The Base URL + +We have to configure the base URL for our site in order for it to work. To do that, we will need to edit the `config.toml` file. Open that file and edit the base url to look like this: + +``` +baseURL = 'https://.github.io//' +``` + +For example, my baseURL would look like this: + +``` +baseURL = 'https://lazeroffmichael.github.io/example-hugo-blog/' +``` + +Change it to work for your GitHub username and repo name. This, as the name suggests, will be the baseURL when our actual website is deployed. + +## Commit and Push + +At this point we have all the configuration we need. The only thing that is left is to commit and push all of our changes. + +To commit your changes: + +``` +git add . +git commit -m "initial commit" +``` + +Before we can push our changes, we have to tell Git where we want to push our repo to. To do that, go to the empty repo on GitHub, and copy what it says under the header `…or push an existing repository from the command line` + +For my repo, this is what is says to do: + +``` +git remote add origin https://github.com/lazeroffmichael/example-hugo-blog.git +git branch -M main +git push -u origin main +``` + +Once you run these commands, you should see your code show up in the GitHub repo. + +If there are any issues with the Action, try making sure that GH actions is enabled for the repo in the settings. + +## Final GH Pages Steps + +If everything works you will have two branches: a branch called `main` and a branch called `gh-pages` with the static files created by Hugo. + +The final step is we have to tell GitHub which branch to serve our files from for GitHub Pages. + +In the settings, we need to tell Hugo to serve from the `gh-pages` branch: + +![gh-pages](gh-pages.png) + +After that is saved, you can refresh the page and the link to the new site will show up. + +Congratulations! You have set up and deployed your first Hugo site. Any new changes you commit and push to GitHub will automatically update and deploy your new site. If there are any other questions, you can reach out to `layer_zero@unlv.edu`. + +For the repo with the example code, see [https://github.com/lazeroffmichael/example-hugo-blog](https://github.com/lazeroffmichael/example-hugo-blog) + +And for the deployed website see +[https://lazeroffmichael.github.io/example-hugo-blog](https://lazeroffmichael.github.io/example-hugo-blog) diff --git a/resources/_gen/assets/scss/css/main.scss_37fc2aa4e25d61f41786348db4939b94.content b/resources/_gen/assets/scss/css/main.scss_37fc2aa4e25d61f41786348db4939b94.content new file mode 100644 index 0000000..a50e291 --- /dev/null +++ b/resources/_gen/assets/scss/css/main.scss_37fc2aa4e25d61f41786348db4939b94.content @@ -0,0 +1,3 @@ +body[a="dark"]{filter:invert(1)}body[a="dark"] img{filter:invert(1)}body[a="dark"] img.ioda{filter:invert(0)}@media (prefers-color-scheme: dark){body[a="auto"]{filter:invert(1)}body[a="auto"] img{filter:invert(1)}body[a="auto"] img.ioda{filter:invert(0)}}html,body{background:white}html{height:100%}body{color:black;font-family:monospace;font-size:16px;line-height:1.4;margin:0;min-height:100%;overflow-wrap:break-word}.post-meta{text-align:right}h2,h3,h4,h5,h6{margin-top:3rem}hr{margin:2rem 0}p{margin:1rem 0}li{margin:0.4rem 0}*:target{background:yellow}.w{max-width:640px;margin:0 auto;padding:4rem 2rem}hr{text-align:center;border:0}hr:before{content:'/////'}hr:after{content:attr(data-content) "/////"}pre{background:black;padding:1em;overflow-x:auto}table{width:100%}table,th,td{border:thin solid black;border-collapse:collapse;padding:0.4rem}code{color:white;background:black;font-size:80%;padding:0.1em 0.2em;font-size:90%}code.has-jax{-webkit-font-smoothing:antialiased;background:inherit !important;border:none !important;font-size:100%}blockquote{font-style:italic;border:thin solid black;padding:1rem}blockquote p{margin:0}img{max-width:100%;display:block;margin:0 auto}figcaption{text-align:center;opacity:0.5} + +/*# sourceMappingURL=main.css.map */ \ No newline at end of file diff --git a/resources/_gen/assets/scss/css/main.scss_37fc2aa4e25d61f41786348db4939b94.json b/resources/_gen/assets/scss/css/main.scss_37fc2aa4e25d61f41786348db4939b94.json new file mode 100644 index 0000000..c46e887 --- /dev/null +++ b/resources/_gen/assets/scss/css/main.scss_37fc2aa4e25d61f41786348db4939b94.json @@ -0,0 +1 @@ +{"Target":"css/main.a1520ddd1ec1eb152a98aa3507cfd8e990d5e9f11266b40e26a094d8b0fc558fa77285e7bb4abcdd7aa5f5d7fcf8184b55045b9b81093e03144c31bc0ca30764.css","MediaType":"text/css","Data":{"Integrity":"sha512-oVIN3R7B6xUqmKo1B8/Y6ZDV6fESZrQOJqCU2LD8VY+ncoXnu0q83Xql9df8+BhLVQRbm4EJPgMUTDG8DKMHZA=="}} \ No newline at end of file diff --git a/static/favicon.ico b/static/favicon.ico deleted file mode 100644 index 3669333..0000000 Binary files a/static/favicon.ico and /dev/null differ diff --git a/themes/Lanyon/layouts/index.html b/themes/Lanyon/layouts/index.html deleted file mode 100644 index 8059c68..0000000 --- a/themes/Lanyon/layouts/index.html +++ /dev/null @@ -1,80 +0,0 @@ - - - - - - - - - {{ .Site.Title }} - - - - - {{ partial "head_includes.html" . }} - - - - {{ partial "sidebar.html" . }} - - -
-
-
-

- Home -

-
-
- - -
-

This is a Blog made by Hugo

- -

Welcome to my blog!

- -

This is really just a bare-bone website to stand as a template for - creating a blog that is statically generated by Hugo - and hosted on GitLab via GitLab Pages.

- -

It's using a slightly modified version of the Lanyon - Jekyll theme.

- - -

About me

- -

Sometimes people have an "About me" section on the homepage of their website.

- - - -

Recent Posts

-
-
    - {{ range first 10 .Data.Pages }} - {{ .Render "summary"}} - {{ end }} -
-
-
-
- - - -{{ partial "footer.html" . }} diff --git a/themes/Lanyon/layouts/indexes/category.html b/themes/Lanyon/layouts/indexes/category.html deleted file mode 100644 index 2869bf0..0000000 --- a/themes/Lanyon/layouts/indexes/category.html +++ /dev/null @@ -1,56 +0,0 @@ - - - -{{ partial "header.html" . }} - - - {{ partial "sidebar.html" . }} - - -
-
-
-

- Blog Posts -

-
-
- - -
-

Recent Posts

-
-
-
Full Category Index
-

Posts in “{{ .Title }}”

- {{ range .Data.Pages }} - {{ .Render "summary"}} - {{ end }} -
-
- -
-
- - - - - {{ partial "footer.html" }} - - - diff --git a/themes/Lanyon/layouts/indexes/indexes.html b/themes/Lanyon/layouts/indexes/indexes.html deleted file mode 100644 index 7865821..0000000 --- a/themes/Lanyon/layouts/indexes/indexes.html +++ /dev/null @@ -1,52 +0,0 @@ - - -{{ partial "header.html" . }} - - - {{ partial "sidebar.html" . }} - - -
-
-
-

- Blog Posts -

-
-
- - -
-
-
-

Archive of Posts, by {{ .Data.Singular }}

-
    - {{ $data := .Data }} - {{ range $key,$value := .Data.Index.ByCount }} -
  • {{ $value.Name }} ({{ $value.Count }} entries)
  • - {{ end }} -
-
-
-
-
- - - - - {{ partial "footer.html" }} - - - diff --git a/themes/Lanyon/layouts/indexes/posts.html b/themes/Lanyon/layouts/indexes/posts.html deleted file mode 100644 index 05e8e33..0000000 --- a/themes/Lanyon/layouts/indexes/posts.html +++ /dev/null @@ -1,46 +0,0 @@ - - -{{ partial "header.html" . }} - - - {{ partial "sidebar.html" . }} - - -
-
-
-

- Blog Posts -

-
-
- - -
-

Here are all my blog posts, in descending order by creation date. If you would like to view them by topic, see the Categories page.

-

All Blog Posts (By Date)

-
-
    - {{ range .Data.Pages }} - {{ .Render "li"}} - {{ end }} -
-
-
-
- - - - - {{ partial "footer.html" }} - - - diff --git a/themes/Lanyon/layouts/partials/categories.html b/themes/Lanyon/layouts/partials/categories.html deleted file mode 100644 index 0444f62..0000000 --- a/themes/Lanyon/layouts/partials/categories.html +++ /dev/null @@ -1,12 +0,0 @@ - -
-
    -
  • Categories:
  • - {{ range .Params.categories }} -
  • {{ . }}
  • - {{ end }} -
-
diff --git a/themes/Lanyon/layouts/partials/footer.html b/themes/Lanyon/layouts/partials/footer.html deleted file mode 100644 index bdf453c..0000000 --- a/themes/Lanyon/layouts/partials/footer.html +++ /dev/null @@ -1,27 +0,0 @@ - - -
-
-
-

- Fancy footer here. Link to Home Page -

-
-
-
- - - - - diff --git a/themes/Lanyon/layouts/partials/ga.html b/themes/Lanyon/layouts/partials/ga.html deleted file mode 100644 index a4629fd..0000000 --- a/themes/Lanyon/layouts/partials/ga.html +++ /dev/null @@ -1,17 +0,0 @@ - - diff --git a/themes/Lanyon/layouts/partials/head_includes.html b/themes/Lanyon/layouts/partials/head_includes.html deleted file mode 100644 index 14e152d..0000000 --- a/themes/Lanyon/layouts/partials/head_includes.html +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - diff --git a/themes/Lanyon/layouts/partials/header.html b/themes/Lanyon/layouts/partials/header.html deleted file mode 100644 index c71ac9b..0000000 --- a/themes/Lanyon/layouts/partials/header.html +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - {{ .Title }} - - {{ partial "head_includes.html" . }} - diff --git a/themes/Lanyon/layouts/partials/prev_next.html b/themes/Lanyon/layouts/partials/prev_next.html deleted file mode 100644 index 833d065..0000000 --- a/themes/Lanyon/layouts/partials/prev_next.html +++ /dev/null @@ -1,29 +0,0 @@ - - -
-
-
- {{if .Prev}} - -   « Previous: - - {{end}} - - {{if .Next}} - - Next: » - - {{end}} -
diff --git a/themes/Lanyon/layouts/partials/sidebar.html b/themes/Lanyon/layouts/partials/sidebar.html deleted file mode 100644 index 32a2572..0000000 --- a/themes/Lanyon/layouts/partials/sidebar.html +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - - diff --git a/themes/Lanyon/layouts/posts/li.html b/themes/Lanyon/layouts/posts/li.html deleted file mode 100644 index 166cba7..0000000 --- a/themes/Lanyon/layouts/posts/li.html +++ /dev/null @@ -1,26 +0,0 @@ - -
  • -

    {{ .Title }}

    - {{ .Date.Format "Mon, Jan 2, 2006" }} - -
      - {{ range .Params.categories }} -
    • {{ . }}
    • - {{ end }} -
    -
    - -
    - {{ .Description }} -
  • diff --git a/themes/Lanyon/layouts/posts/single.html b/themes/Lanyon/layouts/posts/single.html deleted file mode 100644 index e6b4553..0000000 --- a/themes/Lanyon/layouts/posts/single.html +++ /dev/null @@ -1,51 +0,0 @@ - - -{{ partial "header.html" . }} - - - {{ partial "sidebar.html" . }} - - -
    -
    -
    -

    - Blog Posts -

    -
    -
    - - -
    -

    {{ .Title }}

    -
    -
    {{ .Date.Format "Mon Jan 2, 2006" }}
    - {{ .Content }} -
    -
    -
    - - - - {{ partial "prev_next.html" . }} -
    - {{ partial "categories.html" . }} - - - - {{ partial "footer.html" }} - - - diff --git a/themes/Lanyon/layouts/posts/summary.html b/themes/Lanyon/layouts/posts/summary.html deleted file mode 100644 index 5021ca9..0000000 --- a/themes/Lanyon/layouts/posts/summary.html +++ /dev/null @@ -1,24 +0,0 @@ - - - diff --git a/themes/Lanyon/static/css/lanyon.css b/themes/Lanyon/static/css/lanyon.css deleted file mode 100644 index 721c9d3..0000000 --- a/themes/Lanyon/static/css/lanyon.css +++ /dev/null @@ -1,527 +0,0 @@ -/* - * ___ - * /\_ \ - * \//\ \ __ ___ __ __ ___ ___ - * \ \ \ /'__`\ /' _ `\/\ \/\ \ / __`\ /' _ `\ - * \_\ \_/\ \_\.\_/\ \/\ \ \ \_\ \/\ \_\ \/\ \/\ \ - * /\____\ \__/.\_\ \_\ \_\/`____ \ \____/\ \_\ \_\ - * \/____/\/__/\/_/\/_/\/_/`/___/> \/___/ \/_/\/_/ - * /\___/ - * \/__/ - * - * 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; -} diff --git a/themes/Lanyon/static/css/poole.css b/themes/Lanyon/static/css/poole.css deleted file mode 100644 index 5c362cb..0000000 --- a/themes/Lanyon/static/css/poole.css +++ /dev/null @@ -1,396 +0,0 @@ -/* - * ___ - * /\_ \ - * _____ ___ ___\//\ \ __ - * /\ '__`\ / __`\ / __`\\ \ \ /'__`\ - * \ \ \_\ \/\ \_\ \/\ \_\ \\_\ \_/\ __/ - * \ \ ,__/\ \____/\ \____//\____\ \____\ - * \ \ \/ \/___/ \/___/ \/____/\/____/ - * \ \_\ - * \/_/ - * - * 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 `

    `, - * 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; -} - diff --git a/themes/beautifulhugo/.gitattributes b/themes/beautifulhugo/.gitattributes deleted file mode 100644 index bdb0cab..0000000 --- a/themes/beautifulhugo/.gitattributes +++ /dev/null @@ -1,17 +0,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 diff --git a/themes/beautifulhugo/.gitignore b/themes/beautifulhugo/.gitignore deleted file mode 100644 index 81b9599..0000000 --- a/themes/beautifulhugo/.gitignore +++ /dev/null @@ -1,50 +0,0 @@ -# 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 diff --git a/themes/beautifulhugo/LICENSE b/themes/beautifulhugo/LICENSE deleted file mode 100644 index 7787b8f..0000000 --- a/themes/beautifulhugo/LICENSE +++ /dev/null @@ -1,22 +0,0 @@ -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. diff --git a/themes/beautifulhugo/README.md b/themes/beautifulhugo/README.md deleted file mode 100644 index 25d97f4..0000000 --- a/themes/beautifulhugo/README.md +++ /dev/null @@ -1,67 +0,0 @@ -# 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///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). diff --git a/themes/beautifulhugo/archetypes/default.md b/themes/beautifulhugo/archetypes/default.md deleted file mode 100644 index d9fd371..0000000 --- a/themes/beautifulhugo/archetypes/default.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -subtitle: "" -tags: [] ---- diff --git a/themes/beautifulhugo/data/beautifulhugo/social.toml b/themes/beautifulhugo/data/beautifulhugo/social.toml deleted file mode 100644 index 5968c80..0000000 --- a/themes/beautifulhugo/data/beautifulhugo/social.toml +++ /dev/null @@ -1,121 +0,0 @@ -[[social_icons]] -id = "email" -url = "mailto:%s" -title = "Email me" -icon = "fas fa-envelope" - -[[social_icons]] -id = "facebook" -url = "https://www.facebook.com/%s" -title = "Facebook" -icon = "fab fa-facebook" - -[[social_icons]] -id = "googleplus" -url = "https://www.plus.google.com/%s" -title = "Google+" -icon = "fab fa-google-plus" - -[[social_icons]] -id = "gitlab" -url = "https://gitlab.com/%s" -title = "GitLab" -icon = "fab fa-gitlab" - -[[social_icons]] -id = "github" -url = "https://github.com/%s" -title = "GitHub" -icon = "fab fa-github" - -[[social_icons]] -id = "twitter" -url = "https://twitter.com/%s" -title = "Twitter" -icon = "fab fa-twitter" - -[[social_icons]] -id = "reddit" -url = "https://reddit.com/u/%s" -title = "Reddit" -icon = "fab fa-reddit-alien" - -[[social_icons]] -id = "linkedin" -url = "https://linkedin.com/in/%s" -title = "LinkedIn" -icon = "fab fa-linkedin" - -[[social_icons]] -id = "xing" -url = "https://www.xing.com/profile/%s" -title = "Xing" -icon = "fab fa-xing" - -[[social_icons]] -id = "stackoverflow" -url = "https://stackoverflow.com/%s" -title = "StackOverflow" -icon = "fab fa-stack-overflow" - -[[social_icons]] -id = "snapchat" -url = "https://www.snapchat.com/add/%s" -title = "Snapchat" -icon = "fab fa-snapchat-ghost" - -[[social_icons]] -id = "instagram" -url = "https://www.instagram.com/%s" -title = "Instagram" -icon = "fab fa-instagram" - -[[social_icons]] -id = "youtube" -url = "https://www.youtube.com/%s" -title = "Youtube" -icon = "fab fa-youtube" - -[[social_icons]] -id = "soundcloud" -url = "https://soundcloud.com/%s" -title = "SoundCloud" -icon = "fab fa-soundcloud" - -[[social_icons]] -id = "spotify" -url = "https://open.spotify.com/user/%s" -title = "Spotify" -icon = "fab fa-spotify" - -[[social_icons]] -id = "bandcamp" -url = "https://%s.bandcamp.com/" -title = "Bandcamp" -icon = "fab fa-bandcamp" - -[[social_icons]] -id = "itchio" -url = "https://itch.io/profile/%s" -title = "itch.io" -icon = "fas fa-gamepad" - -[[social_icons]] -id = "steam" -url = "https://steamcommunity.com/id/%s" -title = "Steam" -icon = "fab fa-steam" - -[[social_icons]] -id = "keybase" -url = "https://keybase.io/%s" -title = "Keybase" -icon = "fab fa-keybase" - -[[social_icons]] -id = "Goodreads" -url = "https://www.goodreads.com/%s" -title = "Goodreads" -icon = "fab fa-goodreads" - - diff --git a/themes/beautifulhugo/i18n/en.yaml b/themes/beautifulhugo/i18n/en.yaml deleted file mode 100644 index 64c2f7b..0000000 --- a/themes/beautifulhugo/i18n/en.yaml +++ /dev/null @@ -1,40 +0,0 @@ -# Content -- id: dateFormat - translation: "January 2, 2006" -- id: postedOnDate - translation: "Posted on {{ .Count }}" -- id: translationsLabel - translation: "Other languages: " -- id: translationsSeparator - translation: ", " -- id: readMore - translation: "Read More" -- id: olderPosts - translation: "Older Posts" -- id: newerPosts - translation: "Newer Posts" -- id: previousPost - translation: "Previous Post" -- id: nextPost - translation: "Next Post" - -# 404 page -- id: pageNotFound - translation: "Whoops, this page doesn't exist. Move along. (404 error)" - -# Footer -- id: poweredBy # Accepts HTML - translation: 'Hugo v{{ .Hugo.Version }} powered  •  Theme by Beautiful Jekyll adapted to Beautiful Hugo' - -# Navigation -- id: toggleNavigation - translation: "Toggle navigation" -- id: languageSwitcherLabel - translation: "Language" -- id: gcseLabelShort - translation: "Search" -- id: gcseLabelLong - translation: "Search {{ .Site.Title }}" -- id: gcseClose - translation: "Close" - diff --git a/themes/beautifulhugo/i18n/ja.yaml b/themes/beautifulhugo/i18n/ja.yaml deleted file mode 100644 index c7c77b2..0000000 --- a/themes/beautifulhugo/i18n/ja.yaml +++ /dev/null @@ -1,38 +0,0 @@ -# Content -- id: dateFormat - translation: "2006年1月2日" -- id: postedOnDate - translation: "{{ .Count }}に投稿" -- id: translationsLabel - translation: "翻訳:" -- id: translationsSeparator - translation: "・" -- id: readMore - translation: "続きを読む" -- id: olderPosts - translation: "古いページ" -- id: newerPosts - translation: "新しいページ" -- id: previousPost - translation: "前ページ" -- id: nextPost - translation: "次ページ" - -# 404 page -- id: pageNotFound - translation: "おっと、このページが存在しない。他にあたってください。(404エラー)" - -# Footer -- id: poweredBy # Accepts HTML - translation: '起動力にHugo v{{ .Hugo.Version }}  •  テーマにBeautiful Jekyllに基づいているBeautiful Hugo' - -# Navigation -- id: toggleNavigation - translation: "メニューを切り替え" -- id: gcseLabelShort - translation: "検索" -- id: gcseLabelLong - translation: "{{ .Site.Title }}を検索" -- id: gcseClose - translation: "閉じる" - diff --git a/themes/beautifulhugo/i18n/ru.yaml b/themes/beautifulhugo/i18n/ru.yaml deleted file mode 100644 index deeaecf..0000000 --- a/themes/beautifulhugo/i18n/ru.yaml +++ /dev/null @@ -1,40 +0,0 @@ -# Content -- id: dateFormat - translation: "Январь 2, 2006" -- id: postedOnDate - translation: "Опубликовано {{ .Count }}" -- id: translationsLabel - translation: "Другие языки: " -- id: translationsSeparator - translation: ", " -- id: readMore - translation: "Далее" -- id: olderPosts - translation: "Предыдущие записи" -- id: newerPosts - translation: "Новые записи" -- id: previousPost - translation: "Предыдущий" -- id: nextPost - translation: "Следующий" - -# 404 page -- id: pageNotFound - translation: "Уууупс, страница не найдена. Поищите ещё. (ошибка 404)" - -# Footer -- id: poweredBy # Accepts HTML - translation: 'На базе Hugo v{{ .Hugo.Version }}  •  Тема Beautiful Hugo на базе Beautiful Jekyll' - -# Navigation -- id: toggleNavigation - translation: "Навигация" -- id: languageSwitcherLabel - translation: "Язык" -- id: gcseLabelShort - translation: "Поиск" -- id: gcseLabelLong - translation: "Поиск по {{ .Site.Title }}" -- id: gcseClose - translation: "Закрыть" - diff --git a/themes/beautifulhugo/images/screenshot.png b/themes/beautifulhugo/images/screenshot.png deleted file mode 100644 index 0d68a8a..0000000 Binary files a/themes/beautifulhugo/images/screenshot.png and /dev/null differ diff --git a/themes/beautifulhugo/images/tn.png b/themes/beautifulhugo/images/tn.png deleted file mode 100644 index 97904cc..0000000 Binary files a/themes/beautifulhugo/images/tn.png and /dev/null differ diff --git a/themes/beautifulhugo/layouts/404.html b/themes/beautifulhugo/layouts/404.html deleted file mode 100644 index 9fbcb45..0000000 --- a/themes/beautifulhugo/layouts/404.html +++ /dev/null @@ -1,11 +0,0 @@ -{{ define "header" }}{{ end }} -{{ define "main" }} -

    -
    -

    {{ i18n "pageNotFound" }}

    -
    - -
    -
    -{{ end }} - diff --git a/themes/beautifulhugo/layouts/_default/baseof.html b/themes/beautifulhugo/layouts/_default/baseof.html deleted file mode 100644 index 13923d9..0000000 --- a/themes/beautifulhugo/layouts/_default/baseof.html +++ /dev/null @@ -1,11 +0,0 @@ - - - {{ partial "head.html" . }} - - {{ partial "nav.html" . }} - {{ block "header" . }}{{ partial "header.html" . }}{{ end }} - {{ block "main" . }}{{ end }} - {{ partial "footer.html" . }} - - - diff --git a/themes/beautifulhugo/layouts/_default/list.html b/themes/beautifulhugo/layouts/_default/list.html deleted file mode 100644 index e9f4c65..0000000 --- a/themes/beautifulhugo/layouts/_default/list.html +++ /dev/null @@ -1,80 +0,0 @@ -{{ define "header" }} -
    -
    -
    -
    -
    -
    -

    {{ if .Data.Singular }}#{{ end }}{{ .Title }}

    -
    -
    -
    -
    -
    -
    -
    -{{ end }} -{{ define "main" }} -
    -
    -
    - {{ with .Content }} -
    - {{.}} -
    - {{ end }} -
    - {{ range .Paginator.Pages }} - - {{ end }} -
    - {{ if or (.Paginator.HasPrev) (.Paginator.HasNext) }} - - {{ end }} -
    -
    -
    -{{ end }} - diff --git a/themes/beautifulhugo/layouts/_default/single.html b/themes/beautifulhugo/layouts/_default/single.html deleted file mode 100644 index d1408f4..0000000 --- a/themes/beautifulhugo/layouts/_default/single.html +++ /dev/null @@ -1,33 +0,0 @@ -{{ define "main" }} -
    -
    -
    -
    - {{ .Content }} -
    - - - - {{ if (.Params.comments) | or (and (or (not (isset .Params "comments")) (eq .Params.comments nil)) (.Site.Params.comments)) }} - {{ if .Site.DisqusShortname }} -
    - {{ template "_internal/disqus.html" . }} -
    - {{ end }} - {{ end }} - -
    -
    -
    -{{ end }} diff --git a/themes/beautifulhugo/layouts/_default/terms.html b/themes/beautifulhugo/layouts/_default/terms.html deleted file mode 100644 index 6ab687e..0000000 --- a/themes/beautifulhugo/layouts/_default/terms.html +++ /dev/null @@ -1,14 +0,0 @@ -{{ define "main" }} - {{ $data := .Data }} -
    - -
    -{{ end }} - diff --git a/themes/beautifulhugo/layouts/index.html b/themes/beautifulhugo/layouts/index.html deleted file mode 100644 index 5587697..0000000 --- a/themes/beautifulhugo/layouts/index.html +++ /dev/null @@ -1,63 +0,0 @@ -{{ define "main" }} -
    -
    -
    - {{ with .Content }} -
    - {{.}} -
    - {{ end }} - -
    - {{ $pag := .Paginate (where .Data.Pages "Type" "post") }} - {{ range $pag.Pages }} - - {{ end }} -
    - - {{ if or (.Paginator.HasPrev) (.Paginator.HasNext) }} - - {{ end }} -
    -
    -
    -{{ end }} - diff --git a/themes/beautifulhugo/layouts/partials/disqus.html b/themes/beautifulhugo/layouts/partials/disqus.html deleted file mode 100644 index 8029525..0000000 --- a/themes/beautifulhugo/layouts/partials/disqus.html +++ /dev/null @@ -1,7 +0,0 @@ -{{ if (.Params.comments) | or (and (or (not (isset .Params "comments")) (eq .Params.comments nil)) (.Site.Params.comments)) }} - {{ if .Site.DisqusShortname }} -
    - {{ template "_internal/disqus.html" . }} -
    - {{ end }} -{{ end }} \ No newline at end of file diff --git a/themes/beautifulhugo/layouts/partials/footer.html b/themes/beautifulhugo/layouts/partials/footer.html deleted file mode 100644 index 18b2d3e..0000000 --- a/themes/beautifulhugo/layouts/partials/footer.html +++ /dev/null @@ -1,78 +0,0 @@ -
    -
    -
    -
    - - - -

    - {{ i18n "poweredBy" . | safeHTML }} - {{ with .Site.Params.commit }} • [{{ getenv "GIT_COMMIT_SHA_SHORT" }}]{{ end }} -

    -
    -
    -
    -
    - - - - - - - - - - -{{ if ($.Scratch.Get "photoswipeloaded") }} - - - -{{ end }} - -{{ if .Site.Params.gcse }} - -{{ end }} - -{{- partial "footer_custom.html" . }} diff --git a/themes/beautifulhugo/layouts/partials/footer_custom.html b/themes/beautifulhugo/layouts/partials/footer_custom.html deleted file mode 100644 index af173b5..0000000 --- a/themes/beautifulhugo/layouts/partials/footer_custom.html +++ /dev/null @@ -1,4 +0,0 @@ - \ No newline at end of file diff --git a/themes/beautifulhugo/layouts/partials/head.html b/themes/beautifulhugo/layouts/partials/head.html deleted file mode 100644 index fd0b8a0..0000000 --- a/themes/beautifulhugo/layouts/partials/head.html +++ /dev/null @@ -1,51 +0,0 @@ - - - - - -{{- with .Title | default .Site.Title }} - {{ . }} - - -{{- end }} -{{- with .Description | default .Params.subtitle | default .Summary }} - - - -{{- end }} - -{{- with .Site.Params.favicon }} - -{{- end -}} - -{{- with .Params.share_img | default .Params.image | default .Site.Params.logo }} - - -{{- end }} - -{{- with .Site.Author.twitter }} - - -{{- end }} -{{- with .Site.Params.fb_app_id }} - -{{- end }} - - - - - {{ .Hugo.Generator -}} - - - - - - - - - - - -{{- partial "head_custom.html" . }} -{{ template "_internal/google_analytics_async.html" . }} - diff --git a/themes/beautifulhugo/layouts/partials/head_custom.html b/themes/beautifulhugo/layouts/partials/head_custom.html deleted file mode 100644 index 3d012e4..0000000 --- a/themes/beautifulhugo/layouts/partials/head_custom.html +++ /dev/null @@ -1,4 +0,0 @@ - \ No newline at end of file diff --git a/themes/beautifulhugo/layouts/partials/header.html b/themes/beautifulhugo/layouts/partials/header.html deleted file mode 100644 index 2b1e43b..0000000 --- a/themes/beautifulhugo/layouts/partials/header.html +++ /dev/null @@ -1,70 +0,0 @@ -{{ if .IsHome }} - {{ $.Scratch.Set "title" .Site.Title }} - {{ if .Site.Params.subtitle }}{{ $.Scratch.Set "subtitle" .Site.Params.subtitle }}{{ end }} - {{ if .Site.Params.bigimg }}{{ $.Scratch.Set "bigimg" .Site.Params.bigimg }}{{ end }} -{{ else }} - {{ $.Scratch.Set "title" .Title }} - {{ if .Params.subtitle }}{{ $.Scratch.Set "subtitle" .Params.subtitle }}{{ end }} - {{ if .Params.bigimg }}{{ $.Scratch.Set "bigimg" .Params.bigimg }}{{ end }} -{{ end }} -{{ $bigimg := $.Scratch.Get "bigimg" }} - -{{ if or $bigimg ($.Scratch.Get "title") }} - {{ if $bigimg }} -
    - {{ end }} - -
    - {{ if $bigimg }} -
    - {{ $subtitle := $.Scratch.Get "subtitle" }} -
    -
    -
    -
    -

    {{ with $.Scratch.Get "title" }}{{.}}{{ else }}
    {{ end }}

    - {{ if $subtitle }} - {{ if eq .Type "page" }} -
    - {{ $subtitle }} - {{ else }} -

    {{ $subtitle }}

    - {{ end }} - {{ end }} - {{ if eq .Type "post" }} - {{ partial "post_meta.html" . }} - {{ end }} -
    -
    -
    -
    - -
    - {{end}} -
    - {{ $subtitle := $.Scratch.Get "subtitle" }} -
    -
    -
    -
    -

    {{ with $.Scratch.Get "title" }}{{.}}{{ else }}
    {{ end }}

    - {{ if $subtitle }} - {{ if eq .Type "page" }} -
    - {{ $subtitle }} - {{ else }} -

    {{ $subtitle }}

    - {{ end }} - {{ end }} - {{ if eq .Type "post" }} - {{ partial "post_meta.html" . }} - {{ end }} -
    -
    -
    -
    -
    -
    -{{ else }} -
    -{{ end }} diff --git a/themes/beautifulhugo/layouts/partials/nav.html b/themes/beautifulhugo/layouts/partials/nav.html deleted file mode 100644 index 3d18c1e..0000000 --- a/themes/beautifulhugo/layouts/partials/nav.html +++ /dev/null @@ -1,96 +0,0 @@ - - - -{{ if isset .Site.Params "gcse" }} - -{{ end }} diff --git a/themes/beautifulhugo/layouts/partials/post_meta.html b/themes/beautifulhugo/layouts/partials/post_meta.html deleted file mode 100644 index 4a1e679..0000000 --- a/themes/beautifulhugo/layouts/partials/post_meta.html +++ /dev/null @@ -1,11 +0,0 @@ - - diff --git a/themes/beautifulhugo/layouts/partials/translation_link.html b/themes/beautifulhugo/layouts/partials/translation_link.html deleted file mode 100644 index 1f9a817..0000000 --- a/themes/beautifulhugo/layouts/partials/translation_link.html +++ /dev/null @@ -1,2 +0,0 @@ -{{ default .Lang .Site.Language.LanguageName }} - diff --git a/themes/beautifulhugo/layouts/shortcodes/figure.html b/themes/beautifulhugo/layouts/shortcodes/figure.html deleted file mode 100644 index b8dcbc9..0000000 --- a/themes/beautifulhugo/layouts/shortcodes/figure.html +++ /dev/null @@ -1,29 +0,0 @@ - - -{{- if not ($.Page.Scratch.Get "figurecount") }}{{ end }} -{{- $.Page.Scratch.Add "figurecount" 1 -}} - -{{- $thumb := .Get "src" | default (printf "%s." (.Get "thumb") | replace (.Get "link") ".") }} -
    -
    -
    - -
    - {{- if or (or (.Get "title") (.Get "caption")) (.Get "attr")}} -
    - {{- with .Get "title" }}

    {{.}}

    {{ end }} - {{- if or (.Get "caption") (.Get "attr")}} -

    - {{- .Get "caption" -}} - {{- with .Get "attrlink"}}{{ .Get "attr" }}{{ else }}{{ .Get "attr"}}{{ end -}} -

    - {{- end }} -
    - {{- end }} - {{ with .Get "link" | default (.Get "src") }}{{ end }} -
    -
    \ No newline at end of file diff --git a/themes/beautifulhugo/layouts/shortcodes/gallery.html b/themes/beautifulhugo/layouts/shortcodes/gallery.html deleted file mode 100644 index bd74f8b..0000000 --- a/themes/beautifulhugo/layouts/shortcodes/gallery.html +++ /dev/null @@ -1,40 +0,0 @@ - - -{{- if not ($.Page.Scratch.Get "figurecount") }}{{ end }} -{{- $.Page.Scratch.Add "figurecount" 1 }} - \ No newline at end of file diff --git a/themes/beautifulhugo/layouts/shortcodes/load-photoswipe-theme.html b/themes/beautifulhugo/layouts/shortcodes/load-photoswipe-theme.html deleted file mode 100644 index 4b3bfad..0000000 --- a/themes/beautifulhugo/layouts/shortcodes/load-photoswipe-theme.html +++ /dev/null @@ -1,75 +0,0 @@ - - - -{{ if not ($.Page.Scratch.Get "photoswipeloaded") }} - {{ $.Page.Scratch.Set "photoswipeloaded" 1 }} - - - - - - - - - - - -{{ end }} \ No newline at end of file diff --git a/themes/beautifulhugo/layouts/shortcodes/load-photoswipe.html b/themes/beautifulhugo/layouts/shortcodes/load-photoswipe.html deleted file mode 100644 index 9eec863..0000000 --- a/themes/beautifulhugo/layouts/shortcodes/load-photoswipe.html +++ /dev/null @@ -1,71 +0,0 @@ - - - -{{ if not ($.Page.Scratch.Get "photoswipeloaded") }} - {{ $.Page.Scratch.Set "photoswipeloaded" 1 }} - - - - - - - - - - - - - -{{ end }} \ No newline at end of file diff --git a/themes/beautifulhugo/static/css/highlight.min.css b/themes/beautifulhugo/static/css/highlight.min.css deleted file mode 100644 index 77ff6fa..0000000 --- a/themes/beautifulhugo/static/css/highlight.min.css +++ /dev/null @@ -1 +0,0 @@ -.hljs{display:block;overflow-x:auto;padding:0.5em;background:#f9f9f9;-webkit-text-size-adjust:none}.hljs,.hljs-subst,.hljs-tag .hljs-title,.nginx .hljs-title{color:black}.hljs-string,.hljs-title,.hljs-constant,.hljs-parent,.hljs-tag .hljs-value,.hljs-rule .hljs-value,.hljs-preprocessor,.hljs-pragma,.hljs-name,.haml .hljs-symbol,.ruby .hljs-symbol,.ruby .hljs-symbol .hljs-string,.hljs-template_tag,.django .hljs-variable,.smalltalk .hljs-class,.hljs-addition,.hljs-flow,.hljs-stream,.bash .hljs-variable,.pf .hljs-variable,.apache .hljs-tag,.apache .hljs-cbracket,.tex .hljs-command,.tex .hljs-special,.erlang_repl .hljs-function_or_atom,.asciidoc .hljs-header,.markdown .hljs-header,.coffeescript .hljs-attribute{color:#800}.smartquote,.hljs-comment,.hljs-annotation,.diff .hljs-header,.hljs-chunk,.asciidoc .hljs-blockquote,.markdown .hljs-blockquote{color:#888}.hljs-number,.hljs-date,.hljs-regexp,.hljs-literal,.hljs-hexcolor,.smalltalk .hljs-symbol,.smalltalk .hljs-char,.go .hljs-constant,.hljs-change,.lasso .hljs-variable,.makefile .hljs-variable,.asciidoc .hljs-bullet,.markdown .hljs-bullet,.asciidoc .hljs-link_url,.markdown .hljs-link_url{color:#080}.hljs-label,.hljs-javadoc,.ruby .hljs-string,.hljs-decorator,.hljs-filter .hljs-argument,.hljs-localvars,.hljs-array,.hljs-attr_selector,.hljs-important,.hljs-pseudo,.hljs-pi,.haml .hljs-bullet,.hljs-doctype,.hljs-deletion,.hljs-envvar,.hljs-shebang,.apache .hljs-sqbracket,.nginx .hljs-built_in,.tex .hljs-formula,.erlang_repl .hljs-reserved,.hljs-prompt,.asciidoc .hljs-link_label,.markdown .hljs-link_label,.vhdl .hljs-attribute,.clojure .hljs-attribute,.asciidoc .hljs-attribute,.lasso .hljs-attribute,.coffeescript .hljs-property,.hljs-phony{color:#88f}.hljs-keyword,.hljs-id,.hljs-title,.hljs-built_in,.css .hljs-tag,.hljs-javadoctag,.hljs-phpdoc,.hljs-dartdoc,.hljs-yardoctag,.smalltalk .hljs-class,.hljs-winutils,.bash .hljs-variable,.pf .hljs-variable,.apache .hljs-tag,.hljs-type,.hljs-typename,.tex .hljs-command,.asciidoc .hljs-strong,.markdown .hljs-strong,.hljs-request,.hljs-status{font-weight:bold}.asciidoc .hljs-emphasis,.markdown .hljs-emphasis{font-style:italic}.nginx .hljs-built_in{font-weight:normal}.coffeescript .javascript,.javascript .xml,.lasso .markup,.tex .hljs-formula,.xml .javascript,.xml .vbscript,.xml .css,.xml .hljs-cdata{opacity:0.5} diff --git a/themes/beautifulhugo/static/css/hugo-easy-gallery.css b/themes/beautifulhugo/static/css/hugo-easy-gallery.css deleted file mode 100644 index a2c5b32..0000000 --- a/themes/beautifulhugo/static/css/hugo-easy-gallery.css +++ /dev/null @@ -1,157 +0,0 @@ -/* -Put this file in /static/css/hugo-easy-gallery.css -Documentation and licence at https://github.com/liwenyip/hugo-easy-gallery/ -*/ - - -/* -Grid Layout Styles -*/ -.gallery { - overflow: hidden; - margin: 10px; - max-width: 768px; -} -.gallery .box { - float: left; - position: relative; - /* Default: 1 tile wide */ - width: 100%; - padding-bottom: 100%; -} -@media only screen and (min-width : 365px) { - /* Tablet view: 2 tiles */ - .gallery .box { - width: 50%; - padding-bottom: 50%; - } -} -@media only screen and (min-width : 480px) { - /* Small desktop / ipad view: 3 tiles */ - .gallery .box { - width: 33.3%; - padding-bottom: 33.3%; /* */ - } -} -@media only screen and (min-width : 9999px) { - /* Medium desktop: 4 tiles */ - .box { - width: 25%; - padding-bottom: 25%; - } -} - -/* -Transition styles -*/ -.gallery.hover-transition figure, -.gallery.hover-effect-zoom .img, -.gallery:not(.caption-effect-appear) figcaption, -.fancy-figure:not(.caption-effect-appear) figcaption { - -webkit-transition: all 0.3s ease-in-out; - -moz-transition: all 0.3s ease-in-out; - -o-transition: all 0.3s ease-in-out; - transition: all 0.3s ease-in-out; -} -/* -figure styles -*/ -figure { - position:relative; /* purely to allow absolution positioning of figcaption */ - overflow: hidden; -} -.gallery figure { - position: absolute; - left: 5px; - right: 5px; - top: 5px; - bottom: 5px; -} -.gallery.hover-effect-grow figure:hover { - transform: scale(1.05); -} -.gallery.hover-effect-shrink figure:hover { - transform: scale(0.95); -} -.gallery.hover-effect-slidedown figure:hover { - transform: translateY(5px); -} -.gallery.hover-effect-slideup figure:hover { - transform: translateY(-5px); -} - -/* -img / a styles -*/ - -.gallery .img { - position: absolute; - left: 0; - right: 0; - top: 0; - bottom: 0; - background-size: cover; - background-position: 50% 50%; - background-repeat: no-repeat; -} -.gallery.hover-effect-zoom figure:hover .img { - transform: scale(1.05); -} -.gallery img { - display: none; /* only show the img if not inside a gallery */ -} -figure a { - position: absolute; - left: 0; - right: 0; - top: 0; - bottom: 0; -} - -/* -figcaption styles -*/ -.gallery figcaption, -.fancy-figure figcaption { - position: absolute; - bottom: 0; - left: 0; - right: 0; - background: #000; - color: #FFF; - text-align: center; - font-size: 75%; /* change this if you want bigger text */ - background: rgba(0, 0, 0, 0.5); - opacity: 1; -} -.gallery.caption-position-none figcaption, -.fancy-figure.caption-position-none figcaption { - display: none; -} -.gallery.caption-position-center figcaption, -.fancy-figure.caption-position-center figcaption { - top: 0; - padding: 40% 5px; -} -.gallery.caption-position-bottom figcaption, -.fancy-figure.caption-position-bottom figcaption { - padding: 5px; -} -.gallery.caption-effect-fade figure:not(:hover) figcaption, -.gallery.caption-effect-appear figure:not(:hover) figcaption, -.fancy-figure.caption-effect-fade figure:not(:hover) figcaption, -.fancy-figure.caption-effect-appear figure:not(:hover) figcaption { - background: rgba(0, 0, 0, 0); - opacity: 0; -} -.gallery.caption-effect-slide.caption-position-bottom figure:not(:hover) figcaption, -.fancy-figure.caption-effect-slide.caption-position-bottom figure:not(:hover) figcaption { - margin-bottom: -100%; -} -.gallery.caption-effect-slide.caption-position-center figure:not(:hover) figcaption, -.fancy-figure.caption-effect-slide.caption-position-center figure:not(:hover) figcaption { - top: 100%; -} -figcaption p { - margin: auto; /* override style in theme */ -} diff --git a/themes/beautifulhugo/static/css/main-minimal.css b/themes/beautifulhugo/static/css/main-minimal.css deleted file mode 100644 index 6baca79..0000000 --- a/themes/beautifulhugo/static/css/main-minimal.css +++ /dev/null @@ -1,13 +0,0 @@ -.main-content { - padding-bottom: 50px; -} - -footer.footer-min { - position: fixed; - bottom: 0; - width: 100%; - padding: 3px; - background-color: #f5f5f5; - border-top: 1px solid #eeeeee; - text-align: center; -} \ No newline at end of file diff --git a/themes/beautifulhugo/static/css/main.css b/themes/beautifulhugo/static/css/main.css deleted file mode 100644 index 2ffd999..0000000 --- a/themes/beautifulhugo/static/css/main.css +++ /dev/null @@ -1,704 +0,0 @@ -@import url("pygment_highlights.css"); - -/* --- General --- */ - -body { - font-family: 'Lora', 'Times New Roman', serif; - font-size: 18px; - color: #404040; - position: relative; - background: #FFF; -} -p { - line-height: 1.5; - margin: 30px 0; -} -p a { - /* text-decoration: underline */ - color: #008AFF; -} -h1,h2,h3,h4,h5,h6 { - font-family: 'Open Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif; - font-weight: 800; -} -a { - color: #008AFF; -} -a:hover, -a:focus { - color: #0085a1; -} -blockquote { - color: #808080; - font-style: italic; -} -blockquote p:first-child { - margin-top: 0; -} -hr.small { - max-width: 100px; - margin: 15px auto; - border-width: 4px; - border-color: inherit; - border-radius: 3px; -} - -.main-content { - padding-top: 80px; -} -@media only screen and (min-width: 768px) { - .main-content { - padding-top: 130px; - } -} - -.main-explain-area { - font-family: 'Open Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif; - padding: 15px inherit; -} - -.hideme { - display: none; -} - -::-moz-selection { - color: white; - text-shadow: none; - background: #0085a1; -} -::selection { - color: white; - text-shadow: none; - background: #0085a1; -} -img::selection { - color: white; - background: transparent; -} -img::-moz-selection { - color: white; - background: transparent; -} - -img { - display: block; - margin: auto; - max-width: 100%; -} - -.disqus-comments { - margin-top: 30px; -} - -@media only screen and (min-width: 768px) { - .disqus-comments { - margin-top: 40px; - } -} - -/* --- Navbar --- */ - -.navbar-custom { - background: #F5F5F5; - border-bottom: 1px solid #EAEAEA; - font-family: 'Open Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif; -} - -.navbar-custom .nav li a { - text-transform: uppercase; - font-size: 12px; - letter-spacing: 1px; -} - -.navbar-custom .navbar-brand, -.navbar-custom .nav li a { - font-weight: 800; - color: #404040; -} - -.navbar-custom .navbar-brand:hover, -.navbar-custom .navbar-brand:focus , -.navbar-custom .nav li a:hover, -.navbar-custom .nav li a:focus { - color: #0085a1; -} - -.navbar-custom .navbar-brand-logo { - padding-top: 0; - -webkit-transition: padding .5s ease-in-out; - -moz-transition: padding .5s ease-in-out; - transition: padding .5s ease-in-out; -} -.navbar-custom .navbar-brand-logo img { - height: 50px; - -webkit-transition: height .5s ease-in-out; - -moz-transition: height .5s ease-in-out; - transition: height .5s ease-in-out; -} -.navbar-custom.top-nav-short .navbar-brand-logo { - padding-top: 5px; -} -.navbar-custom.top-nav-short .navbar-brand-logo img { - height: 40px; -} - -@media only screen and (min-width: 768px) { - .navbar-custom { - padding: 20px 0; - -webkit-transition: background .5s ease-in-out,padding .5s ease-in-out; - -moz-transition: background .5s ease-in-out,padding .5s ease-in-out; - transition: background .5s ease-in-out,padding .5s ease-in-out; - } - - .navbar-custom.top-nav-short { - padding: 0; - } -} - -.navbar-custom .avatar-container { - opacity: 1; - position: absolute; - -webkit-transition: opacity 0.5s ease-in-out; - -moz-transition: opacity 0.5s ease-in-out; - transition: opacity 0.5s ease-in-out; - left: 50%; - width: 50px; - margin-top: -25px; -} -.navbar-custom .avatar-container .avatar-img-border { - width: 100%; - border-radius: 50%; - margin-left: -50%; - display: inline-block; - box-shadow: 0 0 8px rgba(0, 0, 0, .8); - -webkit-box-shadow: 0 0 5px rgba(0, 0, 0, .8); - -moz-box-shadow: 0 0 8px rgba(0, 0, 0, .8); -} -.navbar-custom .avatar-container .avatar-img { - width: 100%; - border-radius: 50%; - display: block; -} - -.navbar-custom.top-nav-short .avatar-container{ - opacity: 0; -} - -.navbar-custom.top-nav-expanded .avatar-container { - display: none; -} - -@media only screen and (min-width: 768px) { - .navbar-custom .avatar-container { - width: 100px; - margin-top: -50px; - } - - .navbar-custom .avatar-container .avatar-img-border { - width: 100%; - box-shadow: 1px 1px 2px rgba(0, 0, 0, .8); - -webkit-box-shadow: 1px 1px 2px rgba(0, 0, 0, .8); - -moz-box-shadow: 1px 1px 2px rgba(0, 0, 0, .8); - } - - .navbar-custom .avatar-container .avatar-img { - width: 100%; - } -} - -/* Multi-level navigation links */ -.navbar-custom .nav .navlinks-container { - position: relative; -} -.navbar-custom .nav .navlinks-parent:after { - content: " \25BC"; -} -.navbar-custom .nav .navlinks-children { - width: 100%; - display: none; - word-break: break-word; -} -.navbar-custom .nav .navlinks-container .navlinks-children a { - display: block; - padding: 10px; - padding-left: 30px; - background: #f5f5f5; - text-decoration: none !important; - border-width: 0 1px 1px 1px; - font-weight: normal; -} -@media only screen and (max-width: 767px) { - .navbar-custom .nav .navlinks-container.show-children { - background: #eee; - } - .navbar-custom .nav .navlinks-container.show-children .navlinks-children { - display: block; - } -} -@media only screen and (min-width: 768px) { - .navbar-custom .nav .navlinks-container { - text-align: center; - } - .navbar-custom .nav .navlinks-container:hover { - background: #eee; - } - .navbar-custom .nav .navlinks-container:hover .navlinks-children { - display: block; - } - .navbar-custom .nav .navlinks-children { - position: absolute; - } - .navbar-custom .nav .navlinks-container .navlinks-children a { - padding-left: 10px; - border: 1px solid #eaeaea; - border-width: 0 1px 1px; - } -} - -/* --- Footer --- */ - -footer { - padding: 30px 0; - background: #F5F5F5; - border-top: 1px #EAEAEA solid; - margin-top: 50px; - font-size: 14px; -} - -footer a { - color: #404040; -} - -footer .list-inline { - margin: 0; - padding: 0; -} -footer .copyright { - font-family: Open Sans; - text-align: center; - margin-bottom: 0; -} -footer .theme-by { - text-align: center; - margin: 10px 0 0; -} - -@media only screen and (min-width: 768px) { - footer { - padding: 50px 0; - } - footer .footer-links { - font-size: 18px; - } - footer .copyright { - font-size: 16px; - } -} - -/* --- Post preview --- */ - -.post-preview { - padding: 20px 0; - border-bottom: 1px solid #eee; -} - -@media only screen and (min-width: 768px) { - .post-preview { - padding: 35px 0; - } -} - -.post-preview:last-child { - border-bottom: 0; -} - -.post-preview a { - text-decoration: none; - color: #404040; -} - -.post-preview a:focus, -.post-preview a:hover { - text-decoration: none; - color: #0085a1; -} - -.post-preview .post-title { - font-size: 30px; - margin-top: 0; -} -.post-preview .post-subtitle { - margin: 0; - font-weight: 300; - margin-bottom: 10px; -} -.post-preview .post-meta, -.post-heading .post-meta { - color: #808080; - font-size: 18px; - font-style: italic; - margin: 0 0 10px; -} -.post-preview .post-meta a, -.post-heading .post-meta a { - color: #404040; - text-decoration: none; -} -.post-preview .post-entry { - font-family: 'Open Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif; -} -.post-entry-container { - display: inline-block; - width: 100%; -} -.post-entry { - width: 100%; -} -.post-image { - float: right; - height: 192px; - width: 192px; - margin-top: -35px; - filter: grayscale(90%); -} -.post-image:hover { - filter: grayscale(0%); -} -.post-image img { - border-radius: 100px; - height: 192px; - width: 192px; -} -.post-preview .post-read-more { - font-weight: 800; - float: right; -} - -@media only screen and (min-width: 768px) { - .post-preview .post-title { - font-size: 36px; - } -} - -/* --- Tags --- */ - -.blog-tags { - font-family: 'Open Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif; - color: #999; - font-size: 15px; - margin-bottom: 30px; -} - -.blog-tags a { - color: #008AFF; - text-decoration: none; - padding: 0px 5px; -} - -.blog-tags a:hover { - border-radius: 2px; - color: #008AFF; - background-color: #CCC; -} - -.post-preview .blog-tags { - margin-top: 5px; - margin-bottom: 0; -} - -@media only screen and (min-width: 768px) { - .post-preview .blog-tags { - margin-top: 10px; - } -} - -@media only screen and (max-width: 500px) { - .post-image, .post-image img { - height: 100px; - width: 100px; - } - - .post-image { - width: 100%; - text-align: center; - margin-top: 0; - float: left; - } -} -/* --- Post and page headers --- */ - -.intro-header { - margin: 80px 0 20px; - position: relative; -} -.intro-header.big-img { - background: no-repeat center center; - -webkit-background-size: cover; - -moz-background-size: cover; - background-size: cover; - -o-background-size: cover; - margin-top: 51px; /* The small navbar is 50px tall + 1px border */ - margin-bottom: 35px; -} -.intro-header.big-img .big-img-transition { - position: absolute; - width: 100%; - height: 100%; - opacity: 0; - background: no-repeat center center; - -webkit-background-size: cover; - -moz-background-size: cover; - background-size: cover; - -o-background-size: cover; - -webkit-transition: opacity 1s linear; - -moz-transition: opacity 1s linear; - transition: opacity 1s linear; -} -.intro-header .page-heading { - text-align: center; -} -.intro-header.big-img .page-heading, -.intro-header.big-img .post-heading { - padding: 100px 0; - color: #FFF; - text-shadow: 1px 1px 3px #000; -} -.intro-header .page-heading h1 { - margin-top: 0; - font-size: 50px; -} -.intro-header .post-heading h1 { - margin-top: 0; - font-size: 35px; -} -.intro-header .page-heading .page-subheading, -.intro-header .post-heading .post-subheading { - font-size: 27px; - line-height: 1.1; - display: block; - font-family: 'Open Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif; - font-weight: 300; - margin: 10px 0 0; -} -.intro-header .post-heading .post-subheading { - margin-bottom: 20px; -} -.intro-header.big-img .page-heading .page-subheading, -.intro-header.big-img .post-heading .post-subheading { - font-weight: 400; -} -.intro-header.big-img .page-heading hr { - box-shadow: 1px 1px 3px #000; - -webkit-box-shadow: 1px 1px 3px #000; - -moz-box-shadow: 1px 1px 3px #000; -} -.intro-header.big-img .post-heading .post-meta { - color: #EEE; -} -.intro-header.big-img .img-desc { - background: rgba(30, 30, 30, 0.6); - position: absolute; - padding: 5px 10px; - font-size: 11px; - color: #EEE; - font-family: 'Open Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif; - right: 0; - bottom: 0; - display: none; -} -@media only screen and (min-width: 768px) { - .intro-header { - margin-top: 130px; - } - .intro-header.big-img { - margin-top: 91px; /* Full navbar is small navbar + 20px padding on each side when expanded */ - } - .intro-header.big-img .page-heading, - .intro-header.big-img .post-heading { - padding: 150px 0; - } - .intro-header .page-heading h1 { - font-size: 80px; - } - .intro-header .post-heading h1 { - font-size: 50px; - } - .intro-header.big-img .img-desc { - font-size: 14px; - } -} - -.header-section.has-img .no-img { - margin-top: 0; - background: #FCFCFC; - margin: 0 0 40px; - padding: 20px 0; - box-shadow: 0 0 5px #AAA; -} -/* Many phones are 320 or 360px, so make sure images are a proper aspect ratio in those cases */ -.header-section.has-img .intro-header.no-img { - display: none; -} -@media only screen and (max-width: 365px) { - .header-section.has-img .intro-header.no-img { - display: block; - } - .intro-header.big-img { - width: 100%; - height: 220px; - } - .intro-header.big-img .page-heading, - .intro-header.big-img .post-heading { - display: none; - } - .header-section.has-img .big-img { - margin-bottom: 0; - } -} -@media only screen and (max-width: 325px) { - .intro-header.big-img { - height: 200px; - } -} - -.caption { - text-align: center; - font-size: 14px; - padding: 10px; - font-style: italic; - margin: 0; - display: block; - border-bottom-right-radius: 5px; - border-bottom-left-radius: 5px; -} - -/* --- Pager --- */ - -.pager li a { - font-family: 'Open Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif; - text-transform: uppercase; - font-size: 14px; - font-weight: 800; - letter-spacing: 1px; - padding: 10px 5px; - background: #FFF; - border-radius: 0; - color: #404040; -} -@media only screen and (min-width: 768px) { - .pager li a { - padding: 15px 25px; - } -} -.pager li a:hover, -.pager li a:focus { - color: #FFF; - background: #0085a1; - border: 1px solid #0085a1; -} - -.pager { - margin: 10px 0 0; -} - -.pager.blog-pager { - margin-top: 0; -} - -@media only screen and (min-width: 768px) { - .pager.blog-pager { - margin-top: 10px; - } -} - -/* --- Tables --- */ - -table { - padding: 0; -} -table tr { - border-top: 1px solid #cccccc; - background-color: #ffffff; - margin: 0; - padding: 0; -} -table tr:nth-child(2n) { - background-color: #f8f8f8; -} -table tr th { - font-weight: bold; - border: 1px solid #cccccc; - text-align: left; - margin: 0; - padding: 6px 13px; -} -table tr td { - border: 1px solid #cccccc; - text-align: left; - margin: 0; - padding: 6px 13px; -} -table tr th :first-child, -table tr td :first-child { - margin-top: 0; -} -table tr th :last-child, -table tr td :last-child { - margin-bottom: 0; -} - -/* --- Code blocks --- */ - -pre { - font-size: 16px; - line-height: 1.5em; -} -pre code { - white-space: pre; -} -pre.highlight, .highlight > pre, td.code pre { - background: #FAFAFA; - background-image: linear-gradient(#F9F9F9 50%, #FDFDFD 50%); - background-repeat: repeat; - background-size: 3em 3em; - background-position: 0px 10px; - border-left: 7px solid #444; -} -code table, code table td, code table th, code table tbody, code table tr, -td.gutter pre { - padding: 0; - border: none; - background-color: #fff; -} -.highlight > pre { - padding: 0; -} -td.code pre { - border-width: 0 0 0 2px; - border-style: solid; - border-color: #444; - border-radius: 0; -} -td.gutter { - padding-top: 3px; -} - -/* --- Social media sharing section --- */ - -#social-share-section { - margin-bottom: 30px; -} - -/* --- Google Custom Search Engine Popup --- */ -#modalSearch table tr, #modalSearch table tr td, #modalSearch table tr th { - border:none; -} -.reset-box-sizing, .reset-box-sizing *, .reset-box-sizing *:before, .reset-box-sizing *:after, .gsc-inline-block { - -webkit-box-sizing: content-box; - -moz-box-sizing: content-box; - box-sizing: content-box; -} -input.gsc-input, .gsc-input-box, .gsc-input-box-hover, .gsc-input-box-focus, .gsc-search-button { - box-sizing: content-box; - line-height: normal; -} diff --git a/themes/beautifulhugo/static/css/pygment_highlights.css b/themes/beautifulhugo/static/css/pygment_highlights.css deleted file mode 100644 index 015cf7c..0000000 --- a/themes/beautifulhugo/static/css/pygment_highlights.css +++ /dev/null @@ -1,66 +0,0 @@ -/* .highlight { background: #ffffff; } */ -/* .highlight pre { background-color: #fff; font-size: 16px } */ -.highlight .c { color: #999988; font-style: italic } /* Comment */ -.highlight .err { color: #a61717; background-color: #e3d2d2 } /* Error */ -.highlight .k { font-weight: bold } /* Keyword */ -.highlight .o { font-weight: bold } /* Operator */ -.highlight .cm { color: #999988; font-style: italic } /* Comment.Multiline */ -.highlight .cp { color: #999999; font-weight: bold } /* Comment.Preproc */ -.highlight .c1 { color: #999988; font-style: italic } /* Comment.Single */ -.highlight .cs { color: #999999; font-weight: bold; font-style: italic } /* Comment.Special */ -.highlight .gd { color: #000000; background-color: #ffdddd } /* Generic.Deleted */ -.highlight .gd .x { color: #000000; background-color: #ffaaaa } /* Generic.Deleted.Specific */ -.highlight .ge { font-style: italic } /* Generic.Emph */ -.highlight .gr { color: #aa0000 } /* Generic.Error */ -.highlight .gh { color: #999999 } /* Generic.Heading */ -.highlight .gi { color: #000000; background-color: #ddffdd } /* Generic.Inserted */ -.highlight .gi .x { color: #000000; background-color: #aaffaa } /* Generic.Inserted.Specific */ -.highlight .go { color: #888888 } /* Generic.Output */ -.highlight .gp { color: #555555 } /* Generic.Prompt */ -.highlight .gs { font-weight: bold } /* Generic.Strong */ -.highlight .gu { color: #aaaaaa } /* Generic.Subheading */ -.highlight .gt { color: #aa0000 } /* Generic.Traceback */ -.highlight .kc { font-weight: bold } /* Keyword.Constant */ -.highlight .kd { font-weight: bold } /* Keyword.Declaration */ -.highlight .kp { font-weight: bold } /* Keyword.Pseudo */ -.highlight .kr { font-weight: bold } /* Keyword.Reserved */ -.highlight .kt { color: #445588; font-weight: bold } /* Keyword.Type */ -.highlight .m { color: #009999 } /* Literal.Number */ -.highlight .s { color: #d14 } /* Literal.String */ -.highlight .na { color: #008080 } /* Name.Attribute */ -.highlight .nb { color: #0086B3 } /* Name.Builtin */ -.highlight .nc { color: #445588; font-weight: bold } /* Name.Class */ -.highlight .no { color: #008080 } /* Name.Constant */ -.highlight .ni { color: #800080 } /* Name.Entity */ -.highlight .ne { color: #990000; font-weight: bold } /* Name.Exception */ -.highlight .nf { color: #990000; font-weight: bold } /* Name.Function */ -.highlight .nn { color: #555555 } /* Name.Namespace */ -.highlight .nt { color: #000080 } /* Name.Tag */ -.highlight .nv { color: #008080 } /* Name.Variable */ -.highlight .ow { font-weight: bold } /* Operator.Word */ -.highlight .w { color: #bbbbbb } /* Text.Whitespace */ -.highlight .mf { color: #009999 } /* Literal.Number.Float */ -.highlight .mh { color: #009999 } /* Literal.Number.Hex */ -.highlight .mi { color: #009999 } /* Literal.Number.Integer */ -.highlight .mo { color: #009999 } /* Literal.Number.Oct */ -.highlight .sb { color: #d14 } /* Literal.String.Backtick */ -.highlight .sc { color: #d14 } /* Literal.String.Char */ -.highlight .sd { color: #d14 } /* Literal.String.Doc */ -.highlight .s2 { color: #d14 } /* Literal.String.Double */ -.highlight .se { color: #d14 } /* Literal.String.Escape */ -.highlight .sh { color: #d14 } /* Literal.String.Heredoc */ -.highlight .si { color: #d14 } /* Literal.String.Interpol */ -.highlight .sx { color: #d14 } /* Literal.String.Other */ -.highlight .sr { color: #009926 } /* Literal.String.Regex */ -.highlight .s1 { color: #d14 } /* Literal.String.Single */ -.highlight .ss { color: #990073 } /* Literal.String.Symbol */ -.highlight .bp { color: #999999 } /* Name.Builtin.Pseudo */ -.highlight .vc { color: #008080 } /* Name.Variable.Class */ -.highlight .vg { color: #008080 } /* Name.Variable.Global */ -.highlight .vi { color: #008080 } /* Name.Variable.Instance */ -.highlight .il { color: #009999 } /* Literal.Number.Integer.Long */ - -/* Make line numbers unselectable: excludes line numbers from copy-paste user ops */ -.highlight .lineno {color:rgba(0,0,0,0.3);padding: 0 10px;-webkit-user-select: none;-moz-user-select: none; -o-user-select: none;} -.lineno::-moz-selection {background-color: transparent;} /* Mozilla specific */ -.lineno::selection {background-color: transparent;} /* Other major browsers */ diff --git a/themes/beautifulhugo/static/img/404-southpark.jpg b/themes/beautifulhugo/static/img/404-southpark.jpg deleted file mode 100644 index 354eb12..0000000 Binary files a/themes/beautifulhugo/static/img/404-southpark.jpg and /dev/null differ diff --git a/themes/beautifulhugo/static/img/avatar-favicon.png b/themes/beautifulhugo/static/img/avatar-favicon.png deleted file mode 100644 index 94aed04..0000000 Binary files a/themes/beautifulhugo/static/img/avatar-favicon.png and /dev/null differ diff --git a/themes/beautifulhugo/static/img/avatar-icon.png b/themes/beautifulhugo/static/img/avatar-icon.png deleted file mode 100644 index cc83179..0000000 Binary files a/themes/beautifulhugo/static/img/avatar-icon.png and /dev/null differ diff --git a/themes/beautifulhugo/static/img/favicon.ico b/themes/beautifulhugo/static/img/favicon.ico deleted file mode 100644 index 3479cbb..0000000 Binary files a/themes/beautifulhugo/static/img/favicon.ico and /dev/null differ diff --git a/themes/beautifulhugo/static/img/hexagon-thumb.jpg b/themes/beautifulhugo/static/img/hexagon-thumb.jpg deleted file mode 100644 index 2572be9..0000000 Binary files a/themes/beautifulhugo/static/img/hexagon-thumb.jpg and /dev/null differ diff --git a/themes/beautifulhugo/static/img/hexagon.jpg b/themes/beautifulhugo/static/img/hexagon.jpg deleted file mode 100644 index cf244bb..0000000 Binary files a/themes/beautifulhugo/static/img/hexagon.jpg and /dev/null differ diff --git a/themes/beautifulhugo/static/img/path.jpg b/themes/beautifulhugo/static/img/path.jpg deleted file mode 100644 index 5855c09..0000000 Binary files a/themes/beautifulhugo/static/img/path.jpg and /dev/null differ diff --git a/themes/beautifulhugo/static/img/sphere-thumb.jpg b/themes/beautifulhugo/static/img/sphere-thumb.jpg deleted file mode 100644 index fa5e2ee..0000000 Binary files a/themes/beautifulhugo/static/img/sphere-thumb.jpg and /dev/null differ diff --git a/themes/beautifulhugo/static/img/sphere.jpg b/themes/beautifulhugo/static/img/sphere.jpg deleted file mode 100644 index 820cf7e..0000000 Binary files a/themes/beautifulhugo/static/img/sphere.jpg and /dev/null differ diff --git a/themes/beautifulhugo/static/img/triangle-thumb.jpg b/themes/beautifulhugo/static/img/triangle-thumb.jpg deleted file mode 100644 index 8eb0761..0000000 Binary files a/themes/beautifulhugo/static/img/triangle-thumb.jpg and /dev/null differ diff --git a/themes/beautifulhugo/static/img/triangle.jpg b/themes/beautifulhugo/static/img/triangle.jpg deleted file mode 100644 index 2dfbcec..0000000 Binary files a/themes/beautifulhugo/static/img/triangle.jpg and /dev/null differ diff --git a/themes/beautifulhugo/static/js/bootstrap.js b/themes/beautifulhugo/static/js/bootstrap.js deleted file mode 100644 index 4139b6f..0000000 --- a/themes/beautifulhugo/static/js/bootstrap.js +++ /dev/null @@ -1,2306 +0,0 @@ -/*! - * Bootstrap v3.3.2 (http://getbootstrap.com) - * Copyright 2011-2015 Twitter, Inc. - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - */ - -if (typeof jQuery === 'undefined') { - throw new Error('Bootstrap\'s JavaScript requires jQuery') -} - -+function ($) { - 'use strict'; - var version = $.fn.jquery.split(' ')[0].split('.') - if ((version[0] < 2 && version[1] < 9) || (version[0] == 1 && version[1] == 9 && version[2] < 1)) { - throw new Error('Bootstrap\'s JavaScript requires jQuery version 1.9.1 or higher') - } -}(jQuery); - -/* ======================================================================== - * Bootstrap: transition.js v3.3.2 - * http://getbootstrap.com/javascript/#transitions - * ======================================================================== - * Copyright 2011-2015 Twitter, Inc. - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - * ======================================================================== */ - - -+function ($) { - 'use strict'; - - // CSS TRANSITION SUPPORT (Shoutout: http://www.modernizr.com/) - // ============================================================ - - function transitionEnd() { - var el = document.createElement('bootstrap') - - var transEndEventNames = { - WebkitTransition : 'webkitTransitionEnd', - MozTransition : 'transitionend', - OTransition : 'oTransitionEnd otransitionend', - transition : 'transitionend' - } - - for (var name in transEndEventNames) { - if (el.style[name] !== undefined) { - return { end: transEndEventNames[name] } - } - } - - return false // explicit for ie8 ( ._.) - } - - // http://blog.alexmaccaw.com/css-transitions - $.fn.emulateTransitionEnd = function (duration) { - var called = false - var $el = this - $(this).one('bsTransitionEnd', function () { called = true }) - var callback = function () { if (!called) $($el).trigger($.support.transition.end) } - setTimeout(callback, duration) - return this - } - - $(function () { - $.support.transition = transitionEnd() - - if (!$.support.transition) return - - $.event.special.bsTransitionEnd = { - bindType: $.support.transition.end, - delegateType: $.support.transition.end, - handle: function (e) { - if ($(e.target).is(this)) return e.handleObj.handler.apply(this, arguments) - } - } - }) - -}(jQuery); - -/* ======================================================================== - * Bootstrap: alert.js v3.3.2 - * http://getbootstrap.com/javascript/#alerts - * ======================================================================== - * Copyright 2011-2015 Twitter, Inc. - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - * ======================================================================== */ - - -+function ($) { - 'use strict'; - - // ALERT CLASS DEFINITION - // ====================== - - var dismiss = '[data-dismiss="alert"]' - var Alert = function (el) { - $(el).on('click', dismiss, this.close) - } - - Alert.VERSION = '3.3.2' - - Alert.TRANSITION_DURATION = 150 - - Alert.prototype.close = function (e) { - var $this = $(this) - var selector = $this.attr('data-target') - - if (!selector) { - selector = $this.attr('href') - selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') // strip for ie7 - } - - var $parent = $(selector) - - if (e) e.preventDefault() - - if (!$parent.length) { - $parent = $this.closest('.alert') - } - - $parent.trigger(e = $.Event('close.bs.alert')) - - if (e.isDefaultPrevented()) return - - $parent.removeClass('in') - - function removeElement() { - // detach from parent, fire event then clean up data - $parent.detach().trigger('closed.bs.alert').remove() - } - - $.support.transition && $parent.hasClass('fade') ? - $parent - .one('bsTransitionEnd', removeElement) - .emulateTransitionEnd(Alert.TRANSITION_DURATION) : - removeElement() - } - - - // ALERT PLUGIN DEFINITION - // ======================= - - function Plugin(option) { - return this.each(function () { - var $this = $(this) - var data = $this.data('bs.alert') - - if (!data) $this.data('bs.alert', (data = new Alert(this))) - if (typeof option == 'string') data[option].call($this) - }) - } - - var old = $.fn.alert - - $.fn.alert = Plugin - $.fn.alert.Constructor = Alert - - - // ALERT NO CONFLICT - // ================= - - $.fn.alert.noConflict = function () { - $.fn.alert = old - return this - } - - - // ALERT DATA-API - // ============== - - $(document).on('click.bs.alert.data-api', dismiss, Alert.prototype.close) - -}(jQuery); - -/* ======================================================================== - * Bootstrap: button.js v3.3.2 - * http://getbootstrap.com/javascript/#buttons - * ======================================================================== - * Copyright 2011-2015 Twitter, Inc. - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - * ======================================================================== */ - - -+function ($) { - 'use strict'; - - // BUTTON PUBLIC CLASS DEFINITION - // ============================== - - var Button = function (element, options) { - this.$element = $(element) - this.options = $.extend({}, Button.DEFAULTS, options) - this.isLoading = false - } - - Button.VERSION = '3.3.2' - - Button.DEFAULTS = { - loadingText: 'loading...' - } - - Button.prototype.setState = function (state) { - var d = 'disabled' - var $el = this.$element - var val = $el.is('input') ? 'val' : 'html' - var data = $el.data() - - state = state + 'Text' - - if (data.resetText == null) $el.data('resetText', $el[val]()) - - // push to event loop to allow forms to submit - setTimeout($.proxy(function () { - $el[val](data[state] == null ? this.options[state] : data[state]) - - if (state == 'loadingText') { - this.isLoading = true - $el.addClass(d).attr(d, d) - } else if (this.isLoading) { - this.isLoading = false - $el.removeClass(d).removeAttr(d) - } - }, this), 0) - } - - Button.prototype.toggle = function () { - var changed = true - var $parent = this.$element.closest('[data-toggle="buttons"]') - - if ($parent.length) { - var $input = this.$element.find('input') - if ($input.prop('type') == 'radio') { - if ($input.prop('checked') && this.$element.hasClass('active')) changed = false - else $parent.find('.active').removeClass('active') - } - if (changed) $input.prop('checked', !this.$element.hasClass('active')).trigger('change') - } else { - this.$element.attr('aria-pressed', !this.$element.hasClass('active')) - } - - if (changed) this.$element.toggleClass('active') - } - - - // BUTTON PLUGIN DEFINITION - // ======================== - - function Plugin(option) { - return this.each(function () { - var $this = $(this) - var data = $this.data('bs.button') - var options = typeof option == 'object' && option - - if (!data) $this.data('bs.button', (data = new Button(this, options))) - - if (option == 'toggle') data.toggle() - else if (option) data.setState(option) - }) - } - - var old = $.fn.button - - $.fn.button = Plugin - $.fn.button.Constructor = Button - - - // BUTTON NO CONFLICT - // ================== - - $.fn.button.noConflict = function () { - $.fn.button = old - return this - } - - - // BUTTON DATA-API - // =============== - - $(document) - .on('click.bs.button.data-api', '[data-toggle^="button"]', function (e) { - var $btn = $(e.target) - if (!$btn.hasClass('btn')) $btn = $btn.closest('.btn') - Plugin.call($btn, 'toggle') - e.preventDefault() - }) - .on('focus.bs.button.data-api blur.bs.button.data-api', '[data-toggle^="button"]', function (e) { - $(e.target).closest('.btn').toggleClass('focus', /^focus(in)?$/.test(e.type)) - }) - -}(jQuery); - -/* ======================================================================== - * Bootstrap: carousel.js v3.3.2 - * http://getbootstrap.com/javascript/#carousel - * ======================================================================== - * Copyright 2011-2015 Twitter, Inc. - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - * ======================================================================== */ - - -+function ($) { - 'use strict'; - - // CAROUSEL CLASS DEFINITION - // ========================= - - var Carousel = function (element, options) { - this.$element = $(element) - this.$indicators = this.$element.find('.carousel-indicators') - this.options = options - this.paused = - this.sliding = - this.interval = - this.$active = - this.$items = null - - this.options.keyboard && this.$element.on('keydown.bs.carousel', $.proxy(this.keydown, this)) - - this.options.pause == 'hover' && !('ontouchstart' in document.documentElement) && this.$element - .on('mouseenter.bs.carousel', $.proxy(this.pause, this)) - .on('mouseleave.bs.carousel', $.proxy(this.cycle, this)) - } - - Carousel.VERSION = '3.3.2' - - Carousel.TRANSITION_DURATION = 600 - - Carousel.DEFAULTS = { - interval: 5000, - pause: 'hover', - wrap: true, - keyboard: true - } - - Carousel.prototype.keydown = function (e) { - if (/input|textarea/i.test(e.target.tagName)) return - switch (e.which) { - case 37: this.prev(); break - case 39: this.next(); break - default: return - } - - e.preventDefault() - } - - Carousel.prototype.cycle = function (e) { - e || (this.paused = false) - - this.interval && clearInterval(this.interval) - - this.options.interval - && !this.paused - && (this.interval = setInterval($.proxy(this.next, this), this.options.interval)) - - return this - } - - Carousel.prototype.getItemIndex = function (item) { - this.$items = item.parent().children('.item') - return this.$items.index(item || this.$active) - } - - Carousel.prototype.getItemForDirection = function (direction, active) { - var activeIndex = this.getItemIndex(active) - var willWrap = (direction == 'prev' && activeIndex === 0) - || (direction == 'next' && activeIndex == (this.$items.length - 1)) - if (willWrap && !this.options.wrap) return active - var delta = direction == 'prev' ? -1 : 1 - var itemIndex = (activeIndex + delta) % this.$items.length - return this.$items.eq(itemIndex) - } - - Carousel.prototype.to = function (pos) { - var that = this - var activeIndex = this.getItemIndex(this.$active = this.$element.find('.item.active')) - - if (pos > (this.$items.length - 1) || pos < 0) return - - if (this.sliding) return this.$element.one('slid.bs.carousel', function () { that.to(pos) }) // yes, "slid" - if (activeIndex == pos) return this.pause().cycle() - - return this.slide(pos > activeIndex ? 'next' : 'prev', this.$items.eq(pos)) - } - - Carousel.prototype.pause = function (e) { - e || (this.paused = true) - - if (this.$element.find('.next, .prev').length && $.support.transition) { - this.$element.trigger($.support.transition.end) - this.cycle(true) - } - - this.interval = clearInterval(this.interval) - - return this - } - - Carousel.prototype.next = function () { - if (this.sliding) return - return this.slide('next') - } - - Carousel.prototype.prev = function () { - if (this.sliding) return - return this.slide('prev') - } - - Carousel.prototype.slide = function (type, next) { - var $active = this.$element.find('.item.active') - var $next = next || this.getItemForDirection(type, $active) - var isCycling = this.interval - var direction = type == 'next' ? 'left' : 'right' - var that = this - - if ($next.hasClass('active')) return (this.sliding = false) - - var relatedTarget = $next[0] - var slideEvent = $.Event('slide.bs.carousel', { - relatedTarget: relatedTarget, - direction: direction - }) - this.$element.trigger(slideEvent) - if (slideEvent.isDefaultPrevented()) return - - this.sliding = true - - isCycling && this.pause() - - if (this.$indicators.length) { - this.$indicators.find('.active').removeClass('active') - var $nextIndicator = $(this.$indicators.children()[this.getItemIndex($next)]) - $nextIndicator && $nextIndicator.addClass('active') - } - - var slidEvent = $.Event('slid.bs.carousel', { relatedTarget: relatedTarget, direction: direction }) // yes, "slid" - if ($.support.transition && this.$element.hasClass('slide')) { - $next.addClass(type) - $next[0].offsetWidth // force reflow - $active.addClass(direction) - $next.addClass(direction) - $active - .one('bsTransitionEnd', function () { - $next.removeClass([type, direction].join(' ')).addClass('active') - $active.removeClass(['active', direction].join(' ')) - that.sliding = false - setTimeout(function () { - that.$element.trigger(slidEvent) - }, 0) - }) - .emulateTransitionEnd(Carousel.TRANSITION_DURATION) - } else { - $active.removeClass('active') - $next.addClass('active') - this.sliding = false - this.$element.trigger(slidEvent) - } - - isCycling && this.cycle() - - return this - } - - - // CAROUSEL PLUGIN DEFINITION - // ========================== - - function Plugin(option) { - return this.each(function () { - var $this = $(this) - var data = $this.data('bs.carousel') - var options = $.extend({}, Carousel.DEFAULTS, $this.data(), typeof option == 'object' && option) - var action = typeof option == 'string' ? option : options.slide - - if (!data) $this.data('bs.carousel', (data = new Carousel(this, options))) - if (typeof option == 'number') data.to(option) - else if (action) data[action]() - else if (options.interval) data.pause().cycle() - }) - } - - var old = $.fn.carousel - - $.fn.carousel = Plugin - $.fn.carousel.Constructor = Carousel - - - // CAROUSEL NO CONFLICT - // ==================== - - $.fn.carousel.noConflict = function () { - $.fn.carousel = old - return this - } - - - // CAROUSEL DATA-API - // ================= - - var clickHandler = function (e) { - var href - var $this = $(this) - var $target = $($this.attr('data-target') || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '')) // strip for ie7 - if (!$target.hasClass('carousel')) return - var options = $.extend({}, $target.data(), $this.data()) - var slideIndex = $this.attr('data-slide-to') - if (slideIndex) options.interval = false - - Plugin.call($target, options) - - if (slideIndex) { - $target.data('bs.carousel').to(slideIndex) - } - - e.preventDefault() - } - - $(document) - .on('click.bs.carousel.data-api', '[data-slide]', clickHandler) - .on('click.bs.carousel.data-api', '[data-slide-to]', clickHandler) - - $(window).on('load', function () { - $('[data-ride="carousel"]').each(function () { - var $carousel = $(this) - Plugin.call($carousel, $carousel.data()) - }) - }) - -}(jQuery); - -/* ======================================================================== - * Bootstrap: collapse.js v3.3.2 - * http://getbootstrap.com/javascript/#collapse - * ======================================================================== - * Copyright 2011-2015 Twitter, Inc. - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - * ======================================================================== */ - - -+function ($) { - 'use strict'; - - // COLLAPSE PUBLIC CLASS DEFINITION - // ================================ - - var Collapse = function (element, options) { - this.$element = $(element) - this.options = $.extend({}, Collapse.DEFAULTS, options) - this.$trigger = $(this.options.trigger).filter('[href="#' + element.id + '"], [data-target="#' + element.id + '"]') - this.transitioning = null - - if (this.options.parent) { - this.$parent = this.getParent() - } else { - this.addAriaAndCollapsedClass(this.$element, this.$trigger) - } - - if (this.options.toggle) this.toggle() - } - - Collapse.VERSION = '3.3.2' - - Collapse.TRANSITION_DURATION = 350 - - Collapse.DEFAULTS = { - toggle: true, - trigger: '[data-toggle="collapse"]' - } - - Collapse.prototype.dimension = function () { - var hasWidth = this.$element.hasClass('width') - return hasWidth ? 'width' : 'height' - } - - Collapse.prototype.show = function () { - if (this.transitioning || this.$element.hasClass('in')) return - - var activesData - var actives = this.$parent && this.$parent.children('.panel').children('.in, .collapsing') - - if (actives && actives.length) { - activesData = actives.data('bs.collapse') - if (activesData && activesData.transitioning) return - } - - var startEvent = $.Event('show.bs.collapse') - this.$element.trigger(startEvent) - if (startEvent.isDefaultPrevented()) return - - if (actives && actives.length) { - Plugin.call(actives, 'hide') - activesData || actives.data('bs.collapse', null) - } - - var dimension = this.dimension() - - this.$element - .removeClass('collapse') - .addClass('collapsing')[dimension](0) - .attr('aria-expanded', true) - - this.$trigger - .removeClass('collapsed') - .attr('aria-expanded', true) - - this.transitioning = 1 - - var complete = function () { - this.$element - .removeClass('collapsing') - .addClass('collapse in')[dimension]('') - this.transitioning = 0 - this.$element - .trigger('shown.bs.collapse') - } - - if (!$.support.transition) return complete.call(this) - - var scrollSize = $.camelCase(['scroll', dimension].join('-')) - - this.$element - .one('bsTransitionEnd', $.proxy(complete, this)) - .emulateTransitionEnd(Collapse.TRANSITION_DURATION)[dimension](this.$element[0][scrollSize]) - } - - Collapse.prototype.hide = function () { - if (this.transitioning || !this.$element.hasClass('in')) return - - var startEvent = $.Event('hide.bs.collapse') - this.$element.trigger(startEvent) - if (startEvent.isDefaultPrevented()) return - - var dimension = this.dimension() - - this.$element[dimension](this.$element[dimension]())[0].offsetHeight - - this.$element - .addClass('collapsing') - .removeClass('collapse in') - .attr('aria-expanded', false) - - this.$trigger - .addClass('collapsed') - .attr('aria-expanded', false) - - this.transitioning = 1 - - var complete = function () { - this.transitioning = 0 - this.$element - .removeClass('collapsing') - .addClass('collapse') - .trigger('hidden.bs.collapse') - } - - if (!$.support.transition) return complete.call(this) - - this.$element - [dimension](0) - .one('bsTransitionEnd', $.proxy(complete, this)) - .emulateTransitionEnd(Collapse.TRANSITION_DURATION) - } - - Collapse.prototype.toggle = function () { - this[this.$element.hasClass('in') ? 'hide' : 'show']() - } - - Collapse.prototype.getParent = function () { - return $(this.options.parent) - .find('[data-toggle="collapse"][data-parent="' + this.options.parent + '"]') - .each($.proxy(function (i, element) { - var $element = $(element) - this.addAriaAndCollapsedClass(getTargetFromTrigger($element), $element) - }, this)) - .end() - } - - Collapse.prototype.addAriaAndCollapsedClass = function ($element, $trigger) { - var isOpen = $element.hasClass('in') - - $element.attr('aria-expanded', isOpen) - $trigger - .toggleClass('collapsed', !isOpen) - .attr('aria-expanded', isOpen) - } - - function getTargetFromTrigger($trigger) { - var href - var target = $trigger.attr('data-target') - || (href = $trigger.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '') // strip for ie7 - - return $(target) - } - - - // COLLAPSE PLUGIN DEFINITION - // ========================== - - function Plugin(option) { - return this.each(function () { - var $this = $(this) - var data = $this.data('bs.collapse') - var options = $.extend({}, Collapse.DEFAULTS, $this.data(), typeof option == 'object' && option) - - if (!data && options.toggle && option == 'show') options.toggle = false - if (!data) $this.data('bs.collapse', (data = new Collapse(this, options))) - if (typeof option == 'string') data[option]() - }) - } - - var old = $.fn.collapse - - $.fn.collapse = Plugin - $.fn.collapse.Constructor = Collapse - - - // COLLAPSE NO CONFLICT - // ==================== - - $.fn.collapse.noConflict = function () { - $.fn.collapse = old - return this - } - - - // COLLAPSE DATA-API - // ================= - - $(document).on('click.bs.collapse.data-api', '[data-toggle="collapse"]', function (e) { - var $this = $(this) - - if (!$this.attr('data-target')) e.preventDefault() - - var $target = getTargetFromTrigger($this) - var data = $target.data('bs.collapse') - var option = data ? 'toggle' : $.extend({}, $this.data(), { trigger: this }) - - Plugin.call($target, option) - }) - -}(jQuery); - -/* ======================================================================== - * Bootstrap: dropdown.js v3.3.2 - * http://getbootstrap.com/javascript/#dropdowns - * ======================================================================== - * Copyright 2011-2015 Twitter, Inc. - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - * ======================================================================== */ - - -+function ($) { - 'use strict'; - - // DROPDOWN CLASS DEFINITION - // ========================= - - var backdrop = '.dropdown-backdrop' - var toggle = '[data-toggle="dropdown"]' - var Dropdown = function (element) { - $(element).on('click.bs.dropdown', this.toggle) - } - - Dropdown.VERSION = '3.3.2' - - Dropdown.prototype.toggle = function (e) { - var $this = $(this) - - if ($this.is('.disabled, :disabled')) return - - var $parent = getParent($this) - var isActive = $parent.hasClass('open') - - clearMenus() - - if (!isActive) { - if ('ontouchstart' in document.documentElement && !$parent.closest('.navbar-nav').length) { - // if mobile we use a backdrop because click events don't delegate - $('