From d11eeff007f66faf1063684e89e7e886d82abe2f Mon Sep 17 00:00:00 2001 From: Thomas Heller Date: Sat, 18 Mar 2017 11:52:12 +0100 Subject: init --- LICENSE.md | 20 ++ README.md | 4 + archetypes/default.md | 2 + exampleSite/config.toml | 80 ++++++++ exampleSite/content/another.md | 10 + exampleSite/content/contact.md | 25 +++ exampleSite/content/features.md | 14 ++ exampleSite/content/features/nested-menus.md | 11 + .../content/features/nested-menus/third-level-1.md | 8 + .../content/features/nested-menus/third-level-2.md | 8 + .../content/features/nested-menus/third-level-3.md | 8 + exampleSite/content/features/responsive-design.md | 12 ++ exampleSite/content/features/two-column-layout.md | 61 ++++++ exampleSite/content/home.md | 35 ++++ exampleSite/content/more/items-to-show.md | 13 ++ exampleSite/content/more/some-more-menu.md | 12 ++ .../content/more/the-nested-menus-feature.md | 18 ++ layouts/404.html | 3 + layouts/_default/list.html | 0 layouts/_default/single.html | 3 + layouts/index.html | 5 + layouts/partials/footer.html | 13 ++ layouts/partials/header.html | 29 +++ layouts/partials/menu.html | 23 +++ layouts/shortcodes/summary.html | 3 + static/css/crab.css | 226 +++++++++++++++++++++ static/img/crab-logo.png | Bin 0 -> 6355 bytes theme.toml | 12 ++ 28 files changed, 658 insertions(+) create mode 100644 LICENSE.md create mode 100644 README.md create mode 100644 archetypes/default.md create mode 100644 exampleSite/config.toml create mode 100644 exampleSite/content/another.md create mode 100644 exampleSite/content/contact.md create mode 100644 exampleSite/content/features.md create mode 100644 exampleSite/content/features/nested-menus.md create mode 100644 exampleSite/content/features/nested-menus/third-level-1.md create mode 100644 exampleSite/content/features/nested-menus/third-level-2.md create mode 100644 exampleSite/content/features/nested-menus/third-level-3.md create mode 100644 exampleSite/content/features/responsive-design.md create mode 100644 exampleSite/content/features/two-column-layout.md create mode 100644 exampleSite/content/home.md create mode 100644 exampleSite/content/more/items-to-show.md create mode 100644 exampleSite/content/more/some-more-menu.md create mode 100644 exampleSite/content/more/the-nested-menus-feature.md create mode 100644 layouts/404.html create mode 100644 layouts/_default/list.html create mode 100644 layouts/_default/single.html create mode 100644 layouts/index.html create mode 100644 layouts/partials/footer.html create mode 100644 layouts/partials/header.html create mode 100644 layouts/partials/menu.html create mode 100644 layouts/shortcodes/summary.html create mode 100644 static/css/crab.css create mode 100644 static/img/crab-logo.png create mode 100644 theme.toml diff --git a/LICENSE.md b/LICENSE.md new file mode 100644 index 0000000..9c6ffd3 --- /dev/null +++ b/LICENSE.md @@ -0,0 +1,20 @@ +The MIT License (MIT) + +Copyright (c) 2017 Thomas Heller + +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/README.md b/README.md new file mode 100644 index 0000000..d89472d --- /dev/null +++ b/README.md @@ -0,0 +1,4 @@ +# Crab + +Crab is a clean website theme for the [Hugo](https://gohugo.io) static +site generator. diff --git a/archetypes/default.md b/archetypes/default.md new file mode 100644 index 0000000..ac36e06 --- /dev/null +++ b/archetypes/default.md @@ -0,0 +1,2 @@ ++++ ++++ diff --git a/exampleSite/config.toml b/exampleSite/config.toml new file mode 100644 index 0000000..a1a8f27 --- /dev/null +++ b/exampleSite/config.toml @@ -0,0 +1,80 @@ +languageCode = "en-us" +title = "Crab" +theme = "crab" +baseurl = "https://example.com" + +[params] +description = "A clean Hugo theme for websites" + +[[menu.main]] +weight = 1 +name = "Home" +url = "/" + +[[menu.main]] +weight = 2 +name = "Features" +url = "/features/" +identifier = "features" + [[menu.main]] + parent = "features" + weight = 1 + name = "Responsive design" + url = "/features/responsive-design/" + [[menu.main]] + parent = "features" + weight = 2 + name = "Nested menus" + url = "/features/nested-menus/" + identifier = "nested-menus" + [[menu.main]] + parent = "nested-menus" + weight = 1 + name = "Third level page #1" + url = "/features/nested-menus/third-level-1/" + [[menu.main]] + parent = "nested-menus" + weight = 2 + name = "Third level page #2" + url = "/features/nested-menus/third-level-2/" + [[menu.main]] + parent = "nested-menus" + weight = 3 + name = "Third level page #3" + url = "/features/nested-menus/third-level-3/" + [[menu.main]] + parent = "features" + weight = 3 + name = "Two-column layout" + url = "/features/two-column-layout/" + +[[menu.main]] +weight = 3 +name = "Another item" +url = "/another/" + +[[menu.main]] +weight = 4 +name = "More items" +url = "/more/" +identifier = "more" + [[menu.main]] + parent = "more" + weight = 1 + name = "Some more menu" + url = "/more/some-more-menu/" + [[menu.main]] + parent = "more" + weight = 2 + name = "items to show" + url = "/more/items-to-show/" + [[menu.main]] + parent = "more" + weight = 3 + name = "the nested menus feature" + url = "/more/the-nested-menus-feature/" + +[[menu.main]] +weight = 5 +name = "Contact" +url = "/contact/" diff --git a/exampleSite/content/another.md b/exampleSite/content/another.md new file mode 100644 index 0000000..500eb2e --- /dev/null +++ b/exampleSite/content/another.md @@ -0,0 +1,10 @@ ++++ +date = "2017-02-05T07:51:49+01:00" +title = "Another page" +draft = false + ++++ + +Just another demo page. + +![Crab logo](/img/crab-logo.png) diff --git a/exampleSite/content/contact.md b/exampleSite/content/contact.md new file mode 100644 index 0000000..7eece6a --- /dev/null +++ b/exampleSite/content/contact.md @@ -0,0 +1,25 @@ ++++ +date = "2017-03-18T10:59:56+01:00" +title = "Contact" +draft = false + ++++ + +{{% summary %}} +This is a an example contact page. +{{% /summary %}} + +Contact the website author: + +*Mister Crab +42 Ocean Street +Oceania, OC 98765* + +Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper +suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem +vel eum iriure dolor in hendrerit in vulputate velit esse molestie +consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et +accumsan et iusto odio dignissim qui blandit praesent luptatum zzril +delenit augue duis dolore te feugait nulla facilisi. + +Thanks for your feeback! diff --git a/exampleSite/content/features.md b/exampleSite/content/features.md new file mode 100644 index 0000000..bcf8891 --- /dev/null +++ b/exampleSite/content/features.md @@ -0,0 +1,14 @@ ++++ +date = "2017-02-05T07:51:49+01:00" +title = "Features" +draft = false + ++++ + +Some of Crab's features are: + +- [Responsive design](responsive-design/) +- [Nested menus](nested-menus/) +- [Two-column layout](two-column-layout/) + +Click on the links above to learn more. diff --git a/exampleSite/content/features/nested-menus.md b/exampleSite/content/features/nested-menus.md new file mode 100644 index 0000000..62fb222 --- /dev/null +++ b/exampleSite/content/features/nested-menus.md @@ -0,0 +1,11 @@ ++++ +title = "Nested menus" +date = "2017-03-18T11:14:35+01:00" +draft = false + ++++ + +Crab supports nested menus up to three levels deep. + +This is especially helpful for websites that focus on content with +a fixed, pre-defined strucure. diff --git a/exampleSite/content/features/nested-menus/third-level-1.md b/exampleSite/content/features/nested-menus/third-level-1.md new file mode 100644 index 0000000..257c509 --- /dev/null +++ b/exampleSite/content/features/nested-menus/third-level-1.md @@ -0,0 +1,8 @@ ++++ +date = "2017-02-05T07:51:49+01:00" +title = "Third-level page #1" +draft = false + ++++ + +A third level page is rendered like this in the menu structure. diff --git a/exampleSite/content/features/nested-menus/third-level-2.md b/exampleSite/content/features/nested-menus/third-level-2.md new file mode 100644 index 0000000..34f158f --- /dev/null +++ b/exampleSite/content/features/nested-menus/third-level-2.md @@ -0,0 +1,8 @@ ++++ +date = "2017-02-05T07:51:49+01:00" +title = "Third-level page #2" +draft = false + ++++ + +A third level page is rendered like this in the menu structure. diff --git a/exampleSite/content/features/nested-menus/third-level-3.md b/exampleSite/content/features/nested-menus/third-level-3.md new file mode 100644 index 0000000..6692791 --- /dev/null +++ b/exampleSite/content/features/nested-menus/third-level-3.md @@ -0,0 +1,8 @@ ++++ +date = "2017-02-05T07:51:49+01:00" +title = "Third-level page #3" +draft = false + ++++ + +A third level page is rendered like this in the menu structure. diff --git a/exampleSite/content/features/responsive-design.md b/exampleSite/content/features/responsive-design.md new file mode 100644 index 0000000..6a2a2a6 --- /dev/null +++ b/exampleSite/content/features/responsive-design.md @@ -0,0 +1,12 @@ ++++ +date = "2017-03-18T11:14:30+01:00" +title = "Responsive design" +draft = false + ++++ + +Crab's design is responsive, it adapts to smaller screens of mobile +devices. + +Check out this example site on your smartphone or tablet (or on your +desktop computer if you're currently on mobile). diff --git a/exampleSite/content/features/two-column-layout.md b/exampleSite/content/features/two-column-layout.md new file mode 100644 index 0000000..57b914d --- /dev/null +++ b/exampleSite/content/features/two-column-layout.md @@ -0,0 +1,61 @@ ++++ +date = "2017-03-18T11:14:41+01:00" +title = "Two-column layout" +draft = false + ++++ + +{{% summary %}} +This is what sidebar content looks like. + +Actually, this page has more info on: + +- alpha +- beta +- gamma +{{% /summary %}} + +Crab allows you to put content in a second column on the right-hand +side of the page. + +You could use this space to provide the reader with a quick summary of +what the current page is all about. + +On mobile devices, the summary is rendered directly above the actual +page content. + +## Alpha + +Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam +nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, +sed diam voluptua. At vero eos et accusam et justo duo dolores et ea +rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem +ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur +sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et +dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam +et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea +takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit +amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor +invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. +At vero eos et accusam et justo duo dolores et ea rebum. Stet clita +kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit +amet. + +## Beta + +Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse +molestie consequat, vel illum dolore eu feugiat nulla facilisis at +vero eros et accumsan et iusto odio dignissim qui blandit praesent +luptatum zzril delenit augue duis dolore te feugait nulla facilisi. +Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam +nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat +volutpat. + +## Gamma + +Nam liber tempor cum soluta nobis eleifend option congue nihil +imperdiet doming id quod mazim placerat facer possim assum. Lorem +ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy +nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. +Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper +suscipit lobortis nisl ut aliquip ex ea commodo consequat. diff --git a/exampleSite/content/home.md b/exampleSite/content/home.md new file mode 100644 index 0000000..b56bcec --- /dev/null +++ b/exampleSite/content/home.md @@ -0,0 +1,35 @@ ++++ +date = "2017-02-05T07:51:49+01:00" +title = "Home" +draft = false + ++++ + +{{% summary %}} +Summary: +Crab is a clean Hugo theme for websites. Its features include +responsiveness, nested menu support and two-column layout. +{{% /summary %}} + +Welcome to Crab! Crab is a clean Hugo theme for websites. + +Some of its features: + +- Responsive design -- view it on mobile +- Nested menus -- try the menu above +- Two-column layout + +A very popular quote: + +> Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do +> eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad +> minim veniam, quis nostrud exercitation ullamco laboris nisi ut +> aliquip ex ea commodo consequat. Duis aute irure dolor in +> reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla +> pariatur. Excepteur sint occaecat cupidatat non proident, sunt in +> culpa qui officia deserunt mollit anim id est laborum. + +This is an example site demonstrating the Crab theme for Hugo. If you +think anything could be improved about the Crab theme, feel free to +[send a PR](https://github.com/thomasheller/crab) to the Crab +repository. diff --git a/exampleSite/content/more/items-to-show.md b/exampleSite/content/more/items-to-show.md new file mode 100644 index 0000000..af7b2ab --- /dev/null +++ b/exampleSite/content/more/items-to-show.md @@ -0,0 +1,13 @@ ++++ +date = "2017-02-05T07:51:49+01:00" +title = "... items to show ..." +draft = false + ++++ + +Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean +commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus +et magnis dis parturient montes, nascetur ridiculus mus. Donec quam +felis, ultricies nec, pellentesque eu, pretium quis, sem. Nulla +consequat massa quis enim. Donec pede justo, fringilla vel, aliquet +nec, vulputate eget, arcu. diff --git a/exampleSite/content/more/some-more-menu.md b/exampleSite/content/more/some-more-menu.md new file mode 100644 index 0000000..f5fbd69 --- /dev/null +++ b/exampleSite/content/more/some-more-menu.md @@ -0,0 +1,12 @@ ++++ +date = "2017-02-05T07:51:49+01:00" +title = "Some more menu ..." +draft = false + ++++ + +In enim justo, rhoncus ut, imperdiet a, venenatis vitae, justo. Nullam +dictum felis eu pede mollis pretium. Integer tincidunt. Cras dapibus. +Vivamus elementum semper nisi. Aenean vulputate eleifend tellus. +Aenean leo ligula, porttitor eu, consequat vitae, eleifend ac, enim. +Aliquam lorem ante, dapibus in, viverra quis, feugiat a, tellus. diff --git a/exampleSite/content/more/the-nested-menus-feature.md b/exampleSite/content/more/the-nested-menus-feature.md new file mode 100644 index 0000000..91de2b2 --- /dev/null +++ b/exampleSite/content/more/the-nested-menus-feature.md @@ -0,0 +1,18 @@ ++++ +date = "2017-02-05T07:51:49+01:00" +title = "... the nested menus feature" +draft = false + ++++ + +Phasellus viverra nulla ut metus varius laoreet. Quisque rutrum. +Aenean imperdiet. Etiam ultricies nisi vel augue. Curabitur +ullamcorper ultricies nisi. Nam eget dui. Etiam rhoncus. Maecenas +tempus, tellus eget condimentum rhoncus, sem quam semper libero, sit +amet adipiscing sem neque sed ipsum. Nam quam nunc, blandit vel, +luctus pulvinar, hendrerit id, lorem. Maecenas nec odio et ante +tincidunt tempus. Donec vitae sapien ut libero venenatis faucibus. +Nullam quis ante. Etiam sit amet orci eget eros faucibus tincidunt. +Duis leo. Sed fringilla mauris sit amet nibh. Donec sodales sagittis +magna. Sed consequat, leo eget bibendum sodales, augue velit cursus +nunc. diff --git a/layouts/404.html b/layouts/404.html new file mode 100644 index 0000000..b1ccd45 --- /dev/null +++ b/layouts/404.html @@ -0,0 +1,3 @@ +{{ partial "header.html" . }} + Page not found. +{{ partial "footer.html" . }} diff --git a/layouts/_default/list.html b/layouts/_default/list.html new file mode 100644 index 0000000..e69de29 diff --git a/layouts/_default/single.html b/layouts/_default/single.html new file mode 100644 index 0000000..16f6ffc --- /dev/null +++ b/layouts/_default/single.html @@ -0,0 +1,3 @@ +{{ partial "header.html" . }} +{{ .Content }} +{{ partial "footer.html" . }} diff --git a/layouts/index.html b/layouts/index.html new file mode 100644 index 0000000..40be773 --- /dev/null +++ b/layouts/index.html @@ -0,0 +1,5 @@ +{{ partial "header.html" . }} + {{ range where .Data.Pages "Title" "Home" }} + {{ .Content }} + {{ end }} +{{ partial "footer.html" . }} diff --git a/layouts/partials/footer.html b/layouts/partials/footer.html new file mode 100644 index 0000000..ed5f5b8 --- /dev/null +++ b/layouts/partials/footer.html @@ -0,0 +1,13 @@ + + + + + + + + + + + diff --git a/layouts/partials/header.html b/layouts/partials/header.html new file mode 100644 index 0000000..2564346 --- /dev/null +++ b/layouts/partials/header.html @@ -0,0 +1,29 @@ + + + + {{ .Title }} - {{ .Site.Title }} + + + {{ .Hugo.Generator }} + + + +
+ + + + {{ partial "menu.html" .Site.Menus.main }} + +
+ +
+

{{ .Title }}

diff --git a/layouts/partials/menu.html b/layouts/partials/menu.html new file mode 100644 index 0000000..4f8054e --- /dev/null +++ b/layouts/partials/menu.html @@ -0,0 +1,23 @@ + diff --git a/layouts/shortcodes/summary.html b/layouts/shortcodes/summary.html new file mode 100644 index 0000000..9de6169 --- /dev/null +++ b/layouts/shortcodes/summary.html @@ -0,0 +1,3 @@ +
+ {{ .Inner }} +
diff --git a/static/css/crab.css b/static/css/crab.css new file mode 100644 index 0000000..f15f534 --- /dev/null +++ b/static/css/crab.css @@ -0,0 +1,226 @@ +@import url('https://fonts.googleapis.com/css?family=Lora:400,400i,700,700i|Open+Sans:400,400i,600,600i,700,700i'); + +html, +body { + background: #fff; + color: #333; + font-family: 'Open Sans', sans-serif; +} + +#container { + margin: auto; +} + +#header { + margin-top: 2em; +} + +#site-logo { + float: right; +} + +#site-title, +a:link, +a:active, +a:visited, +a:hover { + color: #1da8be; +} + +#site-title { + font-weight: 700; + font-size: xx-large; +} + +#site-title a:link, +#site-title a:active, +#site-title a:visited, +#site-title a:hover { + text-decoration: none; +} + +#site-slogan, +#footer { + color: #777; +} + +#site-slogan { + margin-top: .75em; +} + +nav { + clear: both; + margin-top: 3em; +} + +nav ul { + list-style-type: none; + padding: 0; +} + +nav ul.first > li { + display: block; + margin: .5em 0; +} + +nav ul.second, +nav ul.third { + display: none; +} + +nav a:link, +nav a:active, +nav a:visited, +nav a:hover { + text-decoration: none; +} + +nav a:link, +nav a:active, +nav a:visited { + color: #444; +} + +nav a:hover { + color: #1da8be; +} + +#content, +#footer, +hr { + border-top: 1px dashed #aaa; +} + +#content { + margin-top: 2em; +} + +#article { + margin-top: 2em; +} + +h1, +h2, +h3, +h4, +h5, +h6 { + font-family: 'Lora', serif; + font-weight: 400; +} + +#article p, #article ol li, #article ul li { + text-align: justify; +} + +#article blockquote { + font-family: 'Lora', serif; + font-style: italic; + font-size: 1.05em; + line-height: 1.5em; +} + +#article dl dt { + font-weight: bold; +} + +#article dl dt em { + font-weight: normal; +} + +hr { + border-bottom: 0; + border-left: 0; + border-right: 0; + margin: 2.5em 0; +} + +span.upper { + text-transform: uppercase; +} + +img.right { + float: right; + margin: 0 0 1em 1em; +} + +img.left { + float: left; + margin: 0 1em 1em 0; +} + +#footer { + clear: both; + padding-top: 2em; + font-size: 90%; +} + +@media (min-width: 768px) { +} + +@media (min-width: 992px) { + #container { + width: 950px; + } + + nav ul li a { + display: block; + font-size: 90%; + } + + nav ul.first > li { + display: inline-block; + position: relative; + padding-right: 1.25em; + } + + nav ul.second, + nav ul.third { + position: absolute; + background: #fff; + width: 212px; + border: 1px solid #ddd; + box-shadow: 1px 1px 1px 0px rgba(0,0,0,0.25); + } + + nav ul.second { + z-index: 2; + } + + nav ul.third { + z-index: 3; + } + + nav ul.second li { + position: relative; + } + + nav ul.third { + left: 212px; + top: -1px; + } + + nav ul.first li:hover ul.second, + nav ul.second li:hover ul.third { + display: block; + } + + nav ul.second li a, + nav ul.third li a { + padding: 0.75em 1em; + } + + #article { + width: 576px; + position: relative; + } + + #summary { + display: block; + position: absolute; + top: 0px; + left: 608px; + width: 342px; + } +} + diff --git a/static/img/crab-logo.png b/static/img/crab-logo.png new file mode 100644 index 0000000..81bd26d Binary files /dev/null and b/static/img/crab-logo.png differ diff --git a/theme.toml b/theme.toml new file mode 100644 index 0000000..547cc91 --- /dev/null +++ b/theme.toml @@ -0,0 +1,12 @@ +name = "Crab" +license = "MIT" +licenselink = "https://github.com/thomasheller/crab/blob/master/LICENSE.md" +description = "A clean Hugo theme for websites" +homepage = "https://github.com/thomasheller/crab" +tags = ["clean"] +features = ["responsive", "404"] +min_version = 0.18 + +[author] +name = "Thomas Heller" +homepage = "https://github.com/thomasheller" -- cgit v1.2.3