commit 7735f87ac02f12c1443b5638aef7f71d9ef2f226 Author: Maik de Kruif Date: Wed Jul 8 16:49:47 2020 +0200 Initial commit diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..0159ce0 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +# Hugo default output directory +public/ diff --git a/archetypes/default.md b/archetypes/default.md new file mode 100644 index 0000000..7201aca --- /dev/null +++ b/archetypes/default.md @@ -0,0 +1,13 @@ ++++ +author = "Maik de Kruif" +title = "{{ replace .Name "-" " " | title }}" +date = {{ .Date }} +description = "" +images = [] +tags = [ + "untagged", +] +categories = [ + "uncategorized", +] ++++ diff --git a/archetypes/posts.md b/archetypes/posts.md new file mode 100644 index 0000000..7201aca --- /dev/null +++ b/archetypes/posts.md @@ -0,0 +1,13 @@ ++++ +author = "Maik de Kruif" +title = "{{ replace .Name "-" " " | title }}" +date = {{ .Date }} +description = "" +images = [] +tags = [ + "untagged", +] +categories = [ + "uncategorized", +] ++++ diff --git a/config.toml b/config.toml new file mode 100644 index 0000000..106d0a4 --- /dev/null +++ b/config.toml @@ -0,0 +1,172 @@ +# baseURL = "https://blog.maik.dev/" +baseURL = "http://localhost:1313/" +title = "Maik de Kruif" +languageCode = "en-us" +# theme = "hello-friend-ng" +theme = "maik-blog" + +paginate = 10 +rssLimit = 10 + +copyright = "© Maik de Kruif (maik_dev). All rights reserved." + +PygmentsCodeFences = true +PygmentsStyle = "monokai" + +archetypeDir = "archetypes" +contentDir = "content" +dataDir = "data" +layoutDir = "layouts" +publishDir = "public" + +buildDrafts = false +buildFuture = false +buildExpired = false +canonifyURLs = true + +enableRobotsTXT = true +enableGitInfo = false +enableEmoji = true +enableMissingTranslationPlaceholders = false +disableRSS = false +disableSitemap = false +disable404 = false +disableHugoGeneratorInject = false + +[permalinks] + posts = "/posts/:year/:month/:title/" + +[author] + name = "Maik de Kruif" + +[params] + dateform = "Jan 2, 2006" + dateformShort = "Jan 2" + dateformNum = "2006-01-02" + dateformNumTime = "2006-01-02 15:04 -0700" + + # Metadata mostly used in document's head + description = "Hey there, my name is Maik de Kruif, I create websites, bots and other kinds of software. At the moment, I'm still studying computer science at Avans University of Applied Sciences. I am also a big fan of open-source software, which is why you'll find many of my projects on Github. And last but not least, I love playing around with cyber-security related stuff." + keywords = "" + images = [""] + + homeSubtitle = "Maik de Kruif (maik_dev)" + + # Prefix of link to the git commit detail page. GitInfo must be enabled. + # gitUrl = "" + + # Set disableReadOtherPosts to true in order to hide the links to other posts. + disableReadOtherPosts = false + + # Sharing buttons + # There are a lot of buttons preconfigured. If you want to change them, + # generate the buttons here: https://sharingbuttons.io + # and add them into your own `layouts/partials/sharing-buttons.html` + enableSharingButtons = true + + # Integrate Javascript files or stylesheets by adding the url to the external assets or by + # linking local files with their path relative to the static folder, e.g. "css/styles.css" + customCSS = [] + customJS = [] + + # Toggle this option need to rebuild SCSS, requires extended version of Hugo + justifyContent = false # Set "text-align: justify" to .post-content. + + # Default theme "light" or "dark" + defaultTheme = "dark" + themeColor = "#252627" + + # Colors for favicons + [params.favicon.color] + mask = "#252627" + msapplication = "#252627" + theme = "#252627" + + [params.logo] + logoText = "$ cd /home/" + logoHomeLink = "/" + # Set true to remove the logo cursor entirely. + # logoCursorDisabled = false + # Set to a valid CSS color to change the cursor in the logo. + # logoCursorColor = "#67a2c9" + # Set to a valid CSS time value to change the animation duration, "0s" to disable. + # logoCursorAnimate = "2s" + + # Uncomment this if you want a portrait on your start page + # [params.portrait] + # path = "/img/image.jpg" + # alt = "Portrait" + # maxWidth = "50px" + + # Social icons + [[params.social]] + name = "email" + url = "mailto:maik@maik.dev" + + [[params.social]] + name = "github" + url = "https://github.com/maikka39" + + [[params.social]] + name = "linkedin" + url = "https://www.linkedin.com/in/maikdekruif/" + + [[params.social]] + name = "stackoverflow" + url = "https://stackoverflow.com/users/9146982/maik-de-kruif" + + [[params.social]] + name = "rss" + url = "posts/index.xml" + + [[params.social]] + name = "twitter" + url = "https://twitter.com/maik_dev" + + # [[params.social]] + # name = "hackerrank" + # url = "https://www.hackerrank.com/maik_dev" + + [[params.social]] + name = "instagram" + url = "https://www.instagram.com/maik.dev/" + + # [[params.social]] + # name = "medium" + # url = "https://medium.com/@maikka39" + + [[params.social]] + name = "steam" + url = "https://steamcommunity.com/id/maikka39" + + [[params.social]] + name = "reddit" + url = "https://www.reddit.com/user/maikka39" + + [[params.social]] + name = "lbry" + url = "https://lbry.tv/@Maik:c" + + [[params.social]] + name = "youtube" + url = "https://www.youtube.com/channel/UCepNO6s7q0Kcyn8cc3rZNFA" + +[languages] + [languages.en] + subtitle = "maik.dev" + weight = 1 + copyright = 'All rights reserved.' + +[menu] + [[menu.main]] + identifier = "about" + name = "About" + url = "about/" + [[menu.main]] + identifier = "portfolio" + name = "Portfolio" + url = "portfolio/" + [[menu.main]] + identifier = "posts" + name = "Posts" + url = "posts/" diff --git a/content/about.md b/content/about.md new file mode 100644 index 0000000..2e4eb9c --- /dev/null +++ b/content/about.md @@ -0,0 +1,15 @@ ++++ +author = "Maik de Kruif" +title = "About" +date = 2020-07-06T16:33:01+02:00 +description = "" +images = [] +tags = [ + "aboutme", +] +categories = [ + "me", +] ++++ + +Hey there, my name is Maik de Kruif, I create websites, bots and other kinds of software. At the moment, I'm still studying computer science at Avans University of Applied Sciences. I am also a big fan of open-source software, which is why you'll find many of my projects on [GitHub](https://github.com/maikka39"). And last but not least, I love playing around with cyber-security related stuff. diff --git a/content/portfolio.md b/content/portfolio.md new file mode 100644 index 0000000..b31718e --- /dev/null +++ b/content/portfolio.md @@ -0,0 +1,18 @@ ++++ +author = "Maik de Kruif" +title = "Portfolio" +date = 2020-07-06T16:37:43+02:00 +description = "Coming soon!" +images = [] +tags = [ + "portfolio", + "aboutme", +] +categories = [ + "me", +] ++++ + +## Coming soon + +Please come back later. diff --git a/content/posts/test.md b/content/posts/test.md new file mode 100644 index 0000000..5c968b0 --- /dev/null +++ b/content/posts/test.md @@ -0,0 +1,14 @@ ++++ +author = "Maik de Kruif" +title = "Test Post" +date = 2020-07-08T16:41:25+02:00 +description = "My first post on this website." +tags = [ + "untagged", +] +categories = [ + "uncategorized", +] ++++ + +This page should be working diff --git a/resources/_gen/assets/scss/scss/main.scss_de1a7f5f1c8c46959803c429bb697ff0.content b/resources/_gen/assets/scss/scss/main.scss_de1a7f5f1c8c46959803c429bb697ff0.content new file mode 100644 index 0000000..dbb5566 --- /dev/null +++ b/resources/_gen/assets/scss/scss/main.scss_de1a7f5f1c8c46959803c429bb697ff0.content @@ -0,0 +1,3 @@ +/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */::-webkit-scrollbar{width:8px;height:8px;background:#212020}::-webkit-scrollbar-thumb{background:#888}::-webkit-scrollbar-thumb:hover{background:#dcdcdc}html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace, monospace;font-display:auto;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-display:auto;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-display:auto;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,[type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}:root{--phoneWidth: (max-width: 684px);--tabletWidth: (max-width: 900px)}@font-face{font-family:'Inter UI';font-style:normal;font-display:auto;font-weight:400;src:url("../fonts/Inter-UI-Regular.woff2") format("woff2"),url("../fonts/Inter-UI-Regular.woff") format("woff")}@font-face{font-family:'Inter UI';font-style:italic;font-display:auto;font-weight:400;src:url("../fonts/Inter-UI-Italic.woff2") format("woff2"),url("../fonts/Inter-UI-Italic.woff") format("woff")}@font-face{font-family:'Inter UI';font-style:normal;font-display:auto;font-weight:600;src:url("../fonts/Inter-UI-Medium.woff2") format("woff2"),url("../fonts/Inter-UI-Medium.woff") format("woff")}@font-face{font-family:'Inter UI';font-style:italic;font-display:auto;font-weight:600;src:url("../fonts/Inter-UI-MediumItalic.woff2") format("woff2"),url("../fonts/Inter-UI-MediumItalic.woff") format("woff")}@font-face{font-family:'Inter UI';font-style:normal;font-display:auto;font-weight:800;src:url("../fonts/Inter-UI-Bold.woff2") format("woff2"),url("../fonts/Inter-UI-Bold.woff") format("woff")}@font-face{font-family:'Inter UI';font-style:italic;font-display:auto;font-weight:800;src:url("../fonts/Inter-UI-BoldItalic.woff2") format("woff2"),url("../fonts/Inter-UI-BoldItalic.woff") format("woff")}.button-container{display:table;margin-left:auto;margin-right:auto}button,.button,a.button{position:relative;display:flex;align-items:center;justify-content:center;padding:8px 18px;margin-bottom:5px;background:#eaeaea;text-decoration:none;text-align:center;font-weight:500;border-radius:8px;border:1px solid transparent;appearance:none;cursor:pointer;outline:none}.dark-theme button,.dark-theme .button,.dark-theme a.button{background:#3b3d42;color:inherit}button.outline,.button.outline,a.button.outline{background:transparent;border-color:#eaeaea;box-shadow:none;padding:8px 18px}.dark-theme button.outline,.dark-theme .button.outline,.dark-theme a.button.outline{border-color:#3b3d42;color:inherit}button.outline :hover,.button.outline :hover,a.button.outline :hover{transform:none;box-shadow:none}button.primary,.button.primary,a.button.primary{box-shadow:0 4px 6px rgba(50,50,93,0.11),0 1px 3px rgba(0,0,0,0.08)}button.primary:hover,.button.primary:hover,a.button.primary:hover{box-shadow:0 2px 6px rgba(50,50,93,0.21),0 1px 3px rgba(0,0,0,0.08)}button.link,.button.link,a.button.link{background:none;font-size:1rem}button.small,.button.small,a.button.small{font-size:.8rem}button.wide,.button.wide,a.button.wide{min-width:200px;padding:14px 24px}.code-toolbar{margin-bottom:20px}.code-toolbar .toolbar-item a{position:relative;display:inline-flex;align-items:center;justify-content:center;padding:3px 8px;margin-bottom:5px;background:#eaeaea;text-decoration:none;text-align:center;font-size:13px;font-weight:500;border-radius:8px;border:1px solid transparent;appearance:none;cursor:pointer;outline:none}.dark-theme .code-toolbar .toolbar-item a{background:#3b3d42;color:inherit}.header{background:#fafafa;display:flex;align-items:center;justify-content:center;position:relative;padding:20px}.dark-theme .header{background:#252627}.header__right{display:flex;flex-direction:row;align-items:center}@media (max-width: 684px){.header__right{flex-direction:row-reverse}}.header__inner{display:flex;align-items:center;justify-content:space-between;margin:0 auto;width:760px;max-width:100%}.theme-toggle{display:flex;align-items:center;justify-content:center;line-height:1;cursor:pointer}.theme-toggler{fill:currentColor}.unselectable{user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.logo{display:flex;align-items:center;text-decoration:none;font-weight:bold;font-display:auto;font-family:monospace, monospace}.logo img{height:44px}.logo__mark{margin-right:5px}.logo__text{font-size:1.125rem}.logo__cursor{display:inline-block;width:10px;height:1rem;background:#252627;margin-left:5px;border-radius:1px;animation:cursor 1s infinite}.dark-theme .logo__cursor{background:#fafafa}@media (prefers-reduced-motion: reduce){.logo__cursor{animation:none}}@keyframes cursor{0%{visibility:hidden}50%{visibility:hidden}100%{visibility:visible}}.menu{background:#fafafa;border-right:1px solid;margin-right:18px;z-index:9999}.dark-theme .menu{background:#252627}@media (max-width: 684px){.menu{position:absolute;top:50px;right:0;border:none;margin:0;padding:10px}}.menu__inner{display:flex;align-items:center;justify-content:flex-start;max-width:100%;margin:0 auto;padding:0 15px;font-size:1rem;list-style:none}.menu__inner li{margin:0 12px}@media (max-width: 684px){.menu__inner{flex-direction:column;align-items:flex-start;padding:0}.menu__inner li{margin:0;padding:5px}}.menu-trigger{width:24px;height:24px;fill:currentColor;margin-left:10px;cursor:pointer}.menu a{display:inline-block;margin-right:15px;text-decoration:none}.menu a:hover{text-decoration:underline}.menu a:last-of-type{margin-right:0}html{box-sizing:border-box;line-height:1.6;letter-spacing:.06em;scroll-behavior:smooth}*,*:before,*:after{box-sizing:inherit}body{margin:0;padding:0;font-family:'Inter UI', -apple-system, BlinkMacSystemFont, "Roboto", "Segoe UI", Helvetica, Arial, sans-serif;font-display:auto;font-size:1rem;line-height:1.54;background-color:#fff;color:#222;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;font-feature-settings:"liga", "tnum", "case", "calt", "zero", "ss01", "locl";-webkit-overflow-scrolling:touch;-webkit-text-size-adjust:100%;display:flex;min-height:100vh;flex-direction:column}@media (max-width: 684px){body{font-size:1rem}}body.dark-theme{background-color:#292a2d;color:#a9a9b3}h2,h3,h4,h5,h6{display:flex;align-items:center;line-height:1.3}h1{font-size:2.625rem}h2{font-size:1.625rem}h3{font-size:1.375rem}h4{font-size:1.125rem}@media (max-width: 684px){h1{font-size:2rem}h2{font-size:1.4rem}h3{font-size:1.15rem}h4{font-size:1.125rem}}a{color:inherit}img{display:block;max-width:100%}img.left{margin-right:auto}img.center{margin-left:auto;margin-right:auto}img.right{margin-left:auto}img.circle{border-radius:50%;max-width:25%;margin:auto}figure{display:table;max-width:100%;margin:25px 0}figure.left{margin-right:auto}figure.left-floated{margin-right:auto;float:left}figure.left-floated img{margin:20px 20px 20px 0}figure.center{margin-left:auto;margin-right:auto}figure.right{margin-left:auto}figure.right-floated{margin-left:auto;float:right}figure.right-floated img{margin:20px 0 20px 20px}figure.rounded img{border-radius:50%}figure figcaption{font-size:14px;margin-top:5px;opacity:.8}figure figcaption.left{text-align:left}figure figcaption.center{text-align:center}figure figcaption.right{text-align:right}code{font-family:Consolas, Monaco, Andale Mono, Ubuntu Mono, monospace;font-display:auto;font-feature-settings:normal;background:#eaeaea;padding:1px 6px;margin:0 2px;border-radius:5px;font-size:.95rem}.dark-theme code{background:#3b3d42}pre{background:#212020;padding:10px 10px 10px 20px;border-radius:8px;font-size:.95rem;overflow:auto}@media (max-width: 684px){pre{white-space:pre-wrap;word-wrap:break-word}}pre code{background:none !important;color:#ccc;margin:0;padding:0;font-size:inherit}.dark-theme pre code{color:inherit}blockquote{border-left:2px solid;margin:40px;padding:10px 20px}@media (max-width: 684px){blockquote{margin:10px;padding:10px}}blockquote:before{content:'”';font-family:Georgia, serif;font-display:auto;font-size:3.875rem;position:absolute;left:-40px;top:-20px}blockquote p:first-of-type{margin-top:0}blockquote p:last-of-type{margin-bottom:0}ul,ol{margin-left:40px;padding:0}@media (max-width: 684px){ul,ol{margin-left:20px}}ol ol{list-style-type:lower-alpha}.container{flex:1 auto;display:flex;flex-direction:column;justify-content:center;text-align:center}.content{display:flex;flex-direction:column;flex:1 auto;align-items:center;justify-content:center;margin:0}@media (max-width: 684px){.content{margin-top:0}}hr{width:100%;border:none;background:#dcdcdc;height:1px}.dark-theme hr{background:#4a4b50}svg{height:1em}.hidden{display:none}@media (max-width: 684px){.hide-on-phone{display:none}}@media (max-width: 900px){.hide-on-tablet{display:none}}.screen-reader-text{border:0;clip:rect(1px, 1px, 1px, 1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute !important;width:1px;word-wrap:normal !important}.screen-reader-text:focus{background-color:#f1f1f1;border-radius:3px;box-shadow:0 0 2px 2px rgba(0,0,0,0.6);clip:auto !important;clip-path:none;color:#21759b;display:block;font-size:14px;font-size:0.875rem;font-weight:bold;height:auto;width:auto;top:5px;left:5px;line-height:normal;padding:15px 23px 14px;text-decoration:none;z-index:100000}.socials{user-select:none}.socials svg{font-size:1.5rem}.posts{width:100%;max-width:800px;text-align:left;padding:20px;margin:20px auto}@media (max-width: 900px){.posts{max-width:660px}}.posts:not(:last-of-type){border-bottom:1px solid #dcdcdc}.dark-theme .posts:not(:last-of-type){border-color:#4a4b50}.posts-group{display:flex;margin-bottom:1.9em;line-height:normal}@media (max-width: 900px){.posts-group{display:block}}.posts-list{flex-grow:1;margin:0;padding:0;list-style:none}.posts .post-title{font-size:1rem;margin:5px 0 5px 0}.posts .post-year{padding-top:6px;margin-right:1.8em;font-size:1.6em;opacity:.6}@media (max-width: 900px){.posts .post-year{margin:-6px 0 4px}}.posts .post-item{border-bottom:1px grey dashed}.posts .post-item a{display:flex;justify-content:space-between;align-items:baseline;padding:12px 0;text-decoration:none}.posts .post-day{flex-shrink:0;margin-left:1em;opacity:.6}.post{width:100%;max-width:800px;text-align:left;padding:20px;margin:20px auto}@media (max-width: 900px){.post{max-width:600px}}.post-date:after{content:'—'}.post-title{font-size:2.625rem;margin:0 0 20px}@media (max-width: 684px){.post-title{font-size:2rem}}.post-title a{text-decoration:none}.post-tags{display:block;margin-bottom:20px;font-size:1rem;opacity:0.5}.post-tags a{text-decoration:none}.post-content{margin-top:30px}.post-cover{border-radius:8px;margin:40px -50px;width:860px;max-width:860px}@media (max-width: 900px){.post-cover{margin:20px 0;width:100%}}.post-info{margin-top:30px;font-size:0.8rem;line-height:normal;opacity:.6}.post-info p{margin:0.8em 0}.post-info a:hover{border-bottom:1px solid white}.post-info svg{margin-right:0.8em}.post-info .tag{margin-right:0.5em}.post-info .tag::before{content:"#"}.post-info .feather{display:inline-block;vertical-align:-.125em;width:1em;height:1em}.post .flag{border-radius:50%;margin:0 5px}.pagination{margin-top:20px}.pagination__title{display:flex;text-align:center;position:relative;margin:20px 0}.pagination__title-h{text-align:center;margin:0 auto;padding:5px 10px;background:#fff;color:#999;font-size:0.8rem;text-transform:uppercase;text-decoration:none;letter-spacing:0.1em;z-index:1}.dark-theme .pagination__title-h{background:#292a2d;color:#73747b}.pagination__title hr{position:absolute;left:0;right:0;width:100%;margin-top:15px;z-index:0}.pagination__buttons{display:flex;align-items:center;justify-content:center}.pagination__buttons a{text-decoration:none;font-weight:bold}.button{position:relative;display:inline-flex;align-items:center;justify-content:center;background:#eaeaea;font-size:1rem;font-weight:600;border-radius:8px;max-width:40%;padding:0;cursor:pointer;appearance:none}.dark-theme .button{background:#3b3d42}.button+.button{margin-left:10px}.button a{display:flex;padding:8px 16px;text-decoration:none;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.button__text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.button.next .button__icon{margin-left:8px}.button.previous .button__icon{margin-right:8px}.footer{padding:40px 20px;flex-grow:0;color:#999}.footer__inner{display:flex;align-items:center;justify-content:center;margin:0 auto;width:760px;max-width:100%}@media (max-width: 900px){.footer__inner{flex-direction:column}}.footer__content{display:flex;flex-direction:row;align-items:center;font-size:1rem;color:#999}@media (max-width: 900px){.footer__content{flex-direction:column;margin-top:10px}}.footer__content>*:not(:last-child)::after{content:"•";padding:0 5px}@media (max-width: 900px){.footer__content>*:not(:last-child)::after{content:"";padding:0}}.footer__content>*:last-child{padding:0 5px}@media (max-width: 900px){.footer__content>*:last-child{padding:0}}.sharing-buttons{display:flex;flex-wrap:wrap;justify-content:space-between}.sharing-buttons .resp-sharing-button__icon,.sharing-buttons .resp-sharing-button__link{display:inline-block}.sharing-buttons .resp-sharing-button__link{text-decoration:none;margin:0.5em}.sharing-buttons .resp-sharing-button{border-radius:5px;transition:25ms ease-out;padding:0.5em 0.75em;font-family:Helvetica Neue, Helvetica, Arial, sans-serif}.sharing-buttons .resp-sharing-button__icon svg{width:1em;height:1em;margin-right:0.4em;vertical-align:top}.sharing-buttons .resp-sharing-button--small svg{margin:0;vertical-align:middle} + +/*# sourceMappingURL=main.css.map */ \ No newline at end of file diff --git a/resources/_gen/assets/scss/scss/main.scss_de1a7f5f1c8c46959803c429bb697ff0.json b/resources/_gen/assets/scss/scss/main.scss_de1a7f5f1c8c46959803c429bb697ff0.json new file mode 100644 index 0000000..9be2500 --- /dev/null +++ b/resources/_gen/assets/scss/scss/main.scss_de1a7f5f1c8c46959803c429bb697ff0.json @@ -0,0 +1 @@ +{"Target":"main.e9b492b7c8114a36f5efea9cdbb748d9ce34ab94852195af017a2411e8f19c3d.css","MediaType":"text/css","Data":{"Integrity":"sha256-6bSSt8gRSjb17+qc27dI2c40q5SFIZWvAXokEejxnD0="}} \ No newline at end of file diff --git a/static/android-chrome-192x192.png b/static/android-chrome-192x192.png new file mode 100644 index 0000000..20ad945 Binary files /dev/null and b/static/android-chrome-192x192.png differ diff --git a/static/android-chrome-512x512.png b/static/android-chrome-512x512.png new file mode 100644 index 0000000..6f94f4a Binary files /dev/null and b/static/android-chrome-512x512.png differ diff --git a/static/apple-touch-icon.png b/static/apple-touch-icon.png new file mode 100644 index 0000000..a46eb19 Binary files /dev/null and b/static/apple-touch-icon.png differ diff --git a/static/favicon-16x16.png b/static/favicon-16x16.png new file mode 100644 index 0000000..1b077a0 Binary files /dev/null and b/static/favicon-16x16.png differ diff --git a/static/favicon-32x32.png b/static/favicon-32x32.png new file mode 100644 index 0000000..69b7673 Binary files /dev/null and b/static/favicon-32x32.png differ diff --git a/static/favicon.ico b/static/favicon.ico new file mode 100644 index 0000000..93a8e2c Binary files /dev/null and b/static/favicon.ico differ diff --git a/static/mstile-150x150.png b/static/mstile-150x150.png new file mode 100644 index 0000000..20b494b Binary files /dev/null and b/static/mstile-150x150.png differ diff --git a/static/safari-pinned-tab.svg b/static/safari-pinned-tab.svg new file mode 100644 index 0000000..40d4e7c --- /dev/null +++ b/static/safari-pinned-tab.svg @@ -0,0 +1,33 @@ + + + + +Created by potrace 1.11, written by Peter Selinger 2001-2013 + + + + + + + diff --git a/static/site.webmanifest b/static/site.webmanifest new file mode 100644 index 0000000..b20abb7 --- /dev/null +++ b/static/site.webmanifest @@ -0,0 +1,19 @@ +{ + "name": "", + "short_name": "", + "icons": [ + { + "src": "/android-chrome-192x192.png", + "sizes": "192x192", + "type": "image/png" + }, + { + "src": "/android-chrome-512x512.png", + "sizes": "512x512", + "type": "image/png" + } + ], + "theme_color": "#ffffff", + "background_color": "#ffffff", + "display": "standalone" +} diff --git a/themes/maik-blog/archetypes/default.md b/themes/maik-blog/archetypes/default.md new file mode 100644 index 0000000..63c1c63 --- /dev/null +++ b/themes/maik-blog/archetypes/default.md @@ -0,0 +1,8 @@ +--- +title: "{{ replace .Name "-" " " | title }}" +date: {{ .Date }} +draft: true +comments: false +images: +--- + diff --git a/themes/maik-blog/archetypes/posts.md b/themes/maik-blog/archetypes/posts.md new file mode 100644 index 0000000..82889f3 --- /dev/null +++ b/themes/maik-blog/archetypes/posts.md @@ -0,0 +1,10 @@ +--- +title: "{{ replace .Name "-" " " | title }}" +date: {{ .Date }} +draft: true +toc: false +images: +tags: + - untagged +--- + diff --git a/themes/maik-blog/assets/js/main.js b/themes/maik-blog/assets/js/main.js new file mode 100644 index 0000000..f4a810a --- /dev/null +++ b/themes/maik-blog/assets/js/main.js @@ -0,0 +1 @@ +// Some code could be here ... diff --git a/themes/maik-blog/assets/js/menu.js b/themes/maik-blog/assets/js/menu.js new file mode 100644 index 0000000..3d7dba6 --- /dev/null +++ b/themes/maik-blog/assets/js/menu.js @@ -0,0 +1,22 @@ +// Mobile menu + +const menuTrigger = document.querySelector(".menu-trigger"); +const menu = document.querySelector(".menu"); +const mobileQuery = getComputedStyle(document.body).getPropertyValue( + "--phoneWidth" +); +const isMobile = () => window.matchMedia(mobileQuery).matches; +const isMobileMenu = () => { + menuTrigger && menuTrigger.classList.toggle("hidden", !isMobile()); + menu && menu.classList.toggle("hidden", isMobile()); +}; + +isMobileMenu(); + +menuTrigger && + menuTrigger.addEventListener( + "click", + () => menu && menu.classList.toggle("hidden") + ); + +window.addEventListener("resize", isMobileMenu); \ No newline at end of file diff --git a/themes/maik-blog/assets/js/theme.js b/themes/maik-blog/assets/js/theme.js new file mode 100644 index 0000000..930f638 --- /dev/null +++ b/themes/maik-blog/assets/js/theme.js @@ -0,0 +1,25 @@ +// Toggle theme + +const theme = window.localStorage && window.localStorage.getItem("theme"); +const themeToggle = document.querySelector(".theme-toggle"); +const isDark = theme === "dark"; +var metaThemeColor = document.querySelector("meta[name=theme-color]"); + +if (theme !== null) { + document.body.classList.toggle("dark-theme", isDark); + isDark + ? metaThemeColor.setAttribute("content", "#252627") + : metaThemeColor.setAttribute("content", "#fafafa"); +} + +themeToggle.addEventListener("click", () => { + document.body.classList.toggle("dark-theme"); + window.localStorage && + window.localStorage.setItem( + "theme", + document.body.classList.contains("dark-theme") ? "dark" : "light" + ); + document.body.classList.contains("dark-theme") + ? metaThemeColor.setAttribute("content", "#252627") + : metaThemeColor.setAttribute("content", "#fafafa"); +}); diff --git a/themes/maik-blog/assets/scss/_buttons.scss b/themes/maik-blog/assets/scss/_buttons.scss new file mode 100644 index 0000000..8669fd4 --- /dev/null +++ b/themes/maik-blog/assets/scss/_buttons.scss @@ -0,0 +1,99 @@ +.button-container { + display: table; + margin-left: auto; + margin-right: auto; +} + +button, +.button, +a.button { + position: relative; + display: flex; + align-items: center; + justify-content: center; + padding: 8px 18px; + margin-bottom: 5px; + background: $light-background-secondary; + text-decoration: none; + text-align: center; + font-weight: 500; + border-radius: 8px; + border: 1px solid transparent; + appearance: none; + cursor: pointer; + outline: none; + + .dark-theme & { + background: $dark-background-secondary; + color: inherit; + } + + /* variants */ + + &.outline { + background: transparent; + border-color: $light-background-secondary; + box-shadow: none; + padding: 8px 18px; + + .dark-theme & { + border-color: $dark-background-secondary; + color: inherit; + } + + :hover { + transform: none; + box-shadow: none; + } + } + + &.primary { + box-shadow: 0 4px 6px rgba(50, 50, 93, .11), 0 1px 3px rgba(0, 0, 0, .08); + + &:hover { + box-shadow: 0 2px 6px rgba(50, 50, 93, .21), 0 1px 3px rgba(0, 0, 0, .08); + } + } + + &.link { + background: none; + font-size: 1rem; + } + + &.small { + font-size: .8rem; + } + + &.wide { + min-width: 200px; + padding: 14px 24px; + } +} + +.code-toolbar { + margin-bottom: 20px; + + .toolbar-item a { + position: relative; + display: inline-flex; + align-items: center; + justify-content: center; + padding: 3px 8px; + margin-bottom: 5px; + background: $light-background-secondary; + text-decoration: none; + text-align: center; + font-size: 13px; + font-weight: 500; + border-radius: 8px; + border: 1px solid transparent; + appearance: none; + cursor: pointer; + outline: none; + + .dark-theme & { + background: $dark-background-secondary; + color: inherit; + } + } +} \ No newline at end of file diff --git a/themes/maik-blog/assets/scss/_fonts.scss b/themes/maik-blog/assets/scss/_fonts.scss new file mode 100644 index 0000000..5b7fd83 --- /dev/null +++ b/themes/maik-blog/assets/scss/_fonts.scss @@ -0,0 +1,53 @@ +@font-face { + font-family: 'Inter UI'; + font-style: normal; + font-display: auto; + font-weight: 400; + src: url("../fonts/Inter-UI-Regular.woff2") format("woff2"), + url("../fonts/Inter-UI-Regular.woff") format("woff"); +} + +@font-face { + font-family: 'Inter UI'; + font-style: italic; + font-display: auto; + font-weight: 400; + src: url("../fonts/Inter-UI-Italic.woff2") format("woff2"), + url("../fonts/Inter-UI-Italic.woff") format("woff"); +} + +@font-face { + font-family: 'Inter UI'; + font-style: normal; + font-display: auto; + font-weight: 600; + src: url("../fonts/Inter-UI-Medium.woff2") format("woff2"), + url("../fonts/Inter-UI-Medium.woff") format("woff"); +} + +@font-face { + font-family: 'Inter UI'; + font-style: italic; + font-display: auto; + font-weight: 600; + src: url("../fonts/Inter-UI-MediumItalic.woff2") format("woff2"), + url("../fonts/Inter-UI-MediumItalic.woff") format("woff"); +} + +@font-face { + font-family: 'Inter UI'; + font-style: normal; + font-display: auto; + font-weight: 800; + src: url("../fonts/Inter-UI-Bold.woff2") format("woff2"), + url("../fonts/Inter-UI-Bold.woff") format("woff"); +} + +@font-face { + font-family: 'Inter UI'; + font-style: italic; + font-display: auto; + font-weight: 800; + src: url("../fonts/Inter-UI-BoldItalic.woff2") format("woff2"), + url("../fonts/Inter-UI-BoldItalic.woff") format("woff"); +} \ No newline at end of file diff --git a/themes/maik-blog/assets/scss/_footer.scss b/themes/maik-blog/assets/scss/_footer.scss new file mode 100644 index 0000000..6510c27 --- /dev/null +++ b/themes/maik-blog/assets/scss/_footer.scss @@ -0,0 +1,49 @@ +.footer { + padding: 40px 20px; + flex-grow: 0; + color: $light-color-secondary; + + &__inner { + display: flex; + align-items: center; + justify-content: center; + margin: 0 auto; + width: 760px; + max-width: 100%; + + @media #{$media-size-tablet} { + flex-direction: column; + } + } + + &__content { + display: flex; + flex-direction: row; + align-items: center; + font-size: 1rem; + color: $light-color-secondary; + + @media #{$media-size-tablet} { + flex-direction: column; + margin-top: 10px; + } + + &>*:not(:last-child)::after { + content: "•"; + padding: 0 5px; + + @media #{$media-size-tablet} { + content: ""; + padding: 0; + } + } + + &>*:last-child { + padding: 0 5px; + + @media #{$media-size-tablet} { + padding: 0; + } + } + } +} \ No newline at end of file diff --git a/themes/maik-blog/assets/scss/_header.scss b/themes/maik-blog/assets/scss/_header.scss new file mode 100644 index 0000000..659fa91 --- /dev/null +++ b/themes/maik-blog/assets/scss/_header.scss @@ -0,0 +1,50 @@ +.header { + background: #fafafa; + display: flex; + align-items: center; + justify-content: center; + position: relative; + padding: 20px; + + .dark-theme & { + background: #252627; + } + + &__right { + display: flex; + flex-direction: row; + align-items: center; + + @media #{$media-size-phone} { + flex-direction: row-reverse; + } + } + + &__inner { + display: flex; + align-items: center; + justify-content: space-between; + margin: 0 auto; + width: 760px; + max-width: 100%; + } +} + +.theme-toggle { + display: flex; + align-items: center; + justify-content: center; + line-height: 1; + cursor: pointer; +} + +.theme-toggler { + fill: currentColor; +} + +.unselectable { + user-select: none; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; +} \ No newline at end of file diff --git a/themes/maik-blog/assets/scss/_list.scss b/themes/maik-blog/assets/scss/_list.scss new file mode 100644 index 0000000..e1cb1aa --- /dev/null +++ b/themes/maik-blog/assets/scss/_list.scss @@ -0,0 +1,72 @@ +.posts { + width: 100%; + max-width: 800px; + text-align: left; + padding: 20px; + margin: 20px auto; + + @media #{$media-size-tablet} { + max-width: 660px; + } + + &:not(:last-of-type) { + border-bottom: 1px solid $light-border-color; + + .dark-theme & { + border-color: $dark-border-color; + } + } + + &-group { + display: flex; + margin-bottom: 1.9em; + line-height: normal; + + @media #{$media-size-tablet} { + display: block; + } + } + + &-list { + flex-grow: 1; + margin: 0; + padding: 0; + list-style: none; + } + + .post { + &-title { + font-size: 1rem; + margin: 5px 0 5px 0; + } + + &-year { + padding-top: 6px; + margin-right: 1.8em; + font-size: 1.6em; + @include dimmed; + + @media #{$media-size-tablet} { + margin: -6px 0 4px; + } + } + + &-item { + border-bottom: 1px grey dashed; + + a { + display: flex; + justify-content: space-between; + align-items: baseline; + padding: 12px 0; + text-decoration: none; + } + } + + &-day { + flex-shrink: 0; + margin-left: 1em; + @include dimmed; + } + } +} \ No newline at end of file diff --git a/themes/maik-blog/assets/scss/_logo.scss b/themes/maik-blog/assets/scss/_logo.scss new file mode 100644 index 0000000..948f2ef --- /dev/null +++ b/themes/maik-blog/assets/scss/_logo.scss @@ -0,0 +1,71 @@ +.logo { + display: flex; + align-items: center; + text-decoration: none; + font-weight: bold; + font-display: auto; + font-family: monospace, monospace; + + img { + height: 44px; + } + + &__mark { + margin-right: 5px; + } + + &__text { + font-size: 1.125rem; + } + + &__cursor { + display: inline-block; + width: 10px; + height: 1rem; + background: #252627; + margin-left: 5px; + border-radius: 1px; + animation: cursor 1s infinite; + + .dark-theme & { + background: #fafafa; + } + } + + @media (prefers-reduced-motion: reduce) { + &__cursor { + animation: none; + } + } + +} + +// // Fading +// @keyframes cursor { +// 0% { +// opacity: 0; +// } + +// 50% { +// opacity: 1; +// } + +// 100% { +// opacity: 0; +// } +// } + +// Blinking +@keyframes cursor { + 0% { + visibility: hidden; + } + + 50% { + visibility: hidden; + } + + 100% { + visibility: visible; + } +} \ No newline at end of file diff --git a/themes/maik-blog/assets/scss/_main.scss b/themes/maik-blog/assets/scss/_main.scss new file mode 100644 index 0000000..7cc4f98 --- /dev/null +++ b/themes/maik-blog/assets/scss/_main.scss @@ -0,0 +1,353 @@ +html { + box-sizing: border-box; + line-height: 1.6; + letter-spacing: .06em; + scroll-behavior: smooth; +} + +*, +*:before, +*:after { + box-sizing: inherit; +} + +body { + margin: 0; + padding: 0; + font-family: 'Inter UI', -apple-system, BlinkMacSystemFont, "Roboto", "Segoe UI", Helvetica, Arial, sans-serif; + font-display: auto; + font-size: 1rem; + line-height: 1.54; + background-color: $light-background; + color: $light-color; + text-rendering: optimizeLegibility; + -webkit-font-smoothing: antialiased; + font-feature-settings: "liga", "tnum", "case", "calt", "zero", "ss01", "locl"; + -webkit-overflow-scrolling: touch; + -webkit-text-size-adjust: 100%; + + display: flex; + min-height: 100vh; + flex-direction: column; + + @media #{$media-size-phone} { + font-size: 1rem; + } + + &.dark-theme { + background-color: $dark-background; + color: $dark-color; + } +} + +h2, +h3, +h4, +h5, +h6 { + display: flex; + align-items: center; + line-height: 1.3; +} + +h1 { + font-size: 2.625rem; +} + +h2 { + font-size: 1.625rem; +} + +h3 { + font-size: 1.375rem; +} + +h4 { + font-size: 1.125rem; +} + +@media #{$media-size-phone} { + h1 { + font-size: 2rem; + } + + h2 { + font-size: 1.4rem; + } + + h3 { + font-size: 1.15rem; + } + + h4 { + font-size: 1.125rem; + } +} + +a { + color: inherit; +} + +img { + display: block; + max-width: 100%; + + &.left { + margin-right: auto; + } + + &.center { + margin-left: auto; + margin-right: auto; + } + + &.right { + margin-left: auto; + } + + &.circle { + border-radius: 50%; + max-width: 25%; + margin: auto; + } +} + +figure { + display: table; + max-width: 100%; + margin: 25px 0; + + &.left { + margin-right: auto; + } + + &.left-floated { + margin-right: auto; + float: left; + + img { + margin: 20px 20px 20px 0; + } + } + + &.center { + margin-left: auto; + margin-right: auto; + } + + &.right { + margin-left: auto; + } + + &.right-floated { + margin-left: auto; + float: right; + + img { + margin: 20px 0 20px 20px; + } + } + + &.rounded { + img { + border-radius: 50%; + } + } + + figcaption { + font-size: 14px; + margin-top: 5px; + opacity: .8; + + &.left { + text-align: left; + } + + &.center { + text-align: center; + } + + &.right { + text-align: right; + } + } +} + +code { + font-family: Consolas, Monaco, Andale Mono, Ubuntu Mono, monospace; + font-display: auto; + font-feature-settings: normal; + background: $light-background-secondary; + padding: 1px 6px; + margin: 0 2px; + border-radius: 5px; + font-size: .95rem; + + .dark-theme & { + background: $dark-background-secondary; + } +} + +pre { + background: #212020; + padding: 10px 10px 10px 20px; + border-radius: 8px; + font-size: .95rem; + overflow: auto; + + @media #{$media-size-phone} { + white-space: pre-wrap; + word-wrap: break-word; + } + + code { + background: none !important; + color: #ccc; + margin: 0; + padding: 0; + font-size: inherit; + + .dark-theme & { + color: inherit; + } + } +} + +blockquote { + border-left: 2px solid; + margin: 40px; + padding: 10px 20px; + + @media #{$media-size-phone} { + margin: 10px; + padding: 10px; + } + + &:before { + content: '”'; + font-family: Georgia, serif; + font-display: auto; + font-size: 3.875rem; + position: absolute; + left: -40px; + top: -20px; + } + + p:first-of-type { + margin-top: 0; + } + + p:last-of-type { + margin-bottom: 0; + } +} + +ul, +ol { + margin-left: 40px; + padding: 0; + + @media #{$media-size-phone} { + margin-left: 20px; + } +} + +ol ol { + list-style-type: lower-alpha; +} + +.container { + flex: 1 auto; + display: flex; + flex-direction: column; + justify-content: center; + text-align: center; +} + +.content { + display: flex; + flex-direction: column; + flex: 1 auto; + align-items: center; + justify-content: center; + margin: 0; + + @media #{$media-size-phone} { + margin-top: 0; + } +} + +hr { + width: 100%; + border: none; + background: $light-border-color; + height: 1px; + + .dark-theme & { + background: $dark-border-color; + } +} + +svg { + height: 1em; +} + +.hidden { + display: none; +} + +.hide-on-phone { + @media #{$media-size-phone} { + display: none; + } +} + +.hide-on-tablet { + @media #{$media-size-tablet} { + display: none; + } +} + +// Accessibility +.screen-reader-text { + border: 0; + clip: rect(1px, 1px, 1px, 1px); + clip-path: inset(50%); + height: 1px; + margin: -1px; + overflow: hidden; + padding: 0; + position: absolute !important; + width: 1px; + word-wrap: normal !important; +} + +.screen-reader-text:focus { + background-color: #f1f1f1; + border-radius: 3px; + box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6); + clip: auto !important; + clip-path: none; + color: #21759b; + display: block; + font-size: 14px; + font-size: 0.875rem; + font-weight: bold; + height: auto; + width: auto; + top: 5px; + left: 5px; + line-height: normal; + padding: 15px 23px 14px; + text-decoration: none; + z-index: 100000; +} + +// Custom +.socials { + user-select: none; + + svg { + font-size: 1.5rem; + } +} \ No newline at end of file diff --git a/themes/maik-blog/assets/scss/_menu.scss b/themes/maik-blog/assets/scss/_menu.scss new file mode 100644 index 0000000..c6e1633 --- /dev/null +++ b/themes/maik-blog/assets/scss/_menu.scss @@ -0,0 +1,67 @@ +.menu { + background: #fafafa; + border-right: 1px solid; + margin-right: 18px; + z-index: 9999; + + .dark-theme & { + background: #252627; + } + + @media #{$media-size-phone} { + position: absolute; + top: 50px; + right: 0; + border: none; + margin: 0; + padding: 10px; + } + + &__inner { + display: flex; + align-items: center; + justify-content: flex-start; + max-width: 100%; + margin: 0 auto; + padding: 0 15px; + font-size: 1rem; + list-style: none; + + li { + margin: 0 12px; + } + + @media #{$media-size-phone} { + flex-direction: column; + align-items: flex-start; + padding: 0; + + li { + margin: 0; + padding: 5px; + } + } + } + + &-trigger { + width: 24px; + height: 24px; + fill: currentColor; + margin-left: 10px; + cursor: pointer; + } + + a { + display: inline-block; + margin-right: 15px; + text-decoration: none; + + &:hover { + text-decoration: underline; + } + + &:last-of-type { + margin-right: 0; + } + } +} \ No newline at end of file diff --git a/themes/maik-blog/assets/scss/_mixins.scss b/themes/maik-blog/assets/scss/_mixins.scss new file mode 100644 index 0000000..a5163b3 --- /dev/null +++ b/themes/maik-blog/assets/scss/_mixins.scss @@ -0,0 +1,3 @@ +@mixin dimmed { + opacity: .6; +} \ No newline at end of file diff --git a/themes/maik-blog/assets/scss/_normalize.scss b/themes/maik-blog/assets/scss/_normalize.scss new file mode 100644 index 0000000..ffa240e --- /dev/null +++ b/themes/maik-blog/assets/scss/_normalize.scss @@ -0,0 +1,367 @@ +/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */ + +/* Document + ========================================================================== */ + +/** + * 1. Correct the line height in all browsers. + * 2. Prevent adjustments of font size after orientation changes in iOS. + */ + +/* Webkit Scrollbar Customize */ +::-webkit-scrollbar { + width: 8px; + height: 8px; + background: #212020; +} + +::-webkit-scrollbar-thumb { + background: #888; + + &:hover { + background: #dcdcdc; + } +} + +html { + line-height: 1.15; /* 1 */ + -webkit-text-size-adjust: 100%; /* 2 */ +} + +/* Sections + ========================================================================== */ + +/** + * Remove the margin in all browsers. + */ + +body { + margin: 0; +} + +/** + * Render the `main` element consistently in IE. + */ + +main { + display: block; +} + +/** + * Correct the font size and margin on `h1` elements within `section` and + * `article` contexts in Chrome, Firefox, and Safari. + */ + +h1 { + font-size: 2em; + margin: 0.67em 0; +} + +/* Grouping content + ========================================================================== */ + +/** + * 1. Add the correct box sizing in Firefox. + * 2. Show the overflow in Edge and IE. + */ + +hr { + box-sizing: content-box; /* 1 */ + height: 0; /* 1 */ + overflow: visible; /* 2 */ +} + +/** + * 1. Correct the inheritance and scaling of font size in all browsers. + * 2. Correct the odd `em` font sizing in all browsers. + */ + +pre { + font-family: monospace, monospace; /* 1 */ + font-display: auto; + font-size: 1em; /* 2 */ +} + +/* Text-level semantics + ========================================================================== */ + +/** + * Remove the gray background on active links in IE 10. + */ + +a { + background-color: transparent; +} + +/** + * 1. Remove the bottom border in Chrome 57- + * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari. + */ + +abbr[title] { + border-bottom: none; /* 1 */ + text-decoration: underline; /* 2 */ + text-decoration: underline dotted; /* 2 */ +} + +/** + * Add the correct font weight in Chrome, Edge, and Safari. + */ + +b, +strong { + font-weight: bolder; +} + +/** + * 1. Correct the inheritance and scaling of font size in all browsers. + * 2. Correct the odd `em` font sizing in all browsers. + */ + +code, +kbd, +samp { + font-family: monospace, monospace; /* 1 */ + font-display: auto; + font-size: 1em; /* 2 */ +} + +/** + * Add the correct font size in all browsers. + */ + +small { + font-size: 80%; +} + +/** + * Prevent `sub` and `sup` elements from affecting the line height in + * all browsers. + */ + +sub, +sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; +} + +sub { + bottom: -0.25em; +} + +sup { + top: -0.5em; +} + +/* Embedded content + ========================================================================== */ + +/** + * Remove the border on images inside links in IE 10. + */ + +img { + border-style: none; +} + +/* Forms + ========================================================================== */ + +/** + * 1. Change the font styles in all browsers. + * 2. Remove the margin in Firefox and Safari. + */ + +button, +input, +optgroup, +select, +textarea { + font-family: inherit; /* 1 */ + font-display: auto; + font-size: 100%; /* 1 */ + line-height: 1.15; /* 1 */ + margin: 0; /* 2 */ +} + +/** + * Show the overflow in IE. + * 1. Show the overflow in Edge. + */ + +button, +input { /* 1 */ + overflow: visible; +} + +/** + * Remove the inheritance of text transform in Edge, Firefox, and IE. + * 1. Remove the inheritance of text transform in Firefox. + */ + +button, +select { /* 1 */ + text-transform: none; +} + +/** + * Correct the inability to style clickable types in iOS and Safari. + */ + +button, +[type="button"], +[type="reset"], +[type="submit"] { + -webkit-appearance: button; +} + +/** + * Remove the inner border and padding in Firefox. + */ + +button::-moz-focus-inner, +[type="button"]::-moz-focus-inner, +[type="reset"]::-moz-focus-inner, +[type="submit"]::-moz-focus-inner { + border-style: none; + padding: 0; +} + +/** + * Restore the focus styles unset by the previous rule. + */ + +button:-moz-focusring, +[type="button"]:-moz-focusring, +[type="reset"]:-moz-focusring, +[type="submit"]:-moz-focusring { + outline: 1px dotted ButtonText; +} + +/** + * Correct the padding in Firefox. + */ + +fieldset { + padding: 0.35em 0.75em 0.625em; +} + +/** + * 1. Correct the text wrapping in Edge and IE. + * 2. Correct the color inheritance from `fieldset` elements in IE. + * 3. Remove the padding so developers are not caught out when they zero out + * `fieldset` elements in all browsers. + */ + +legend { + box-sizing: border-box; /* 1 */ + color: inherit; /* 2 */ + display: table; /* 1 */ + max-width: 100%; /* 1 */ + padding: 0; /* 3 */ + white-space: normal; /* 1 */ +} + +/** + * Add the correct vertical alignment in Chrome, Firefox, and Opera. + */ + +progress { + vertical-align: baseline; +} + +/** + * Remove the default vertical scrollbar in IE 10+. + */ + +textarea { + overflow: auto; +} + +/** + * 1. Add the correct box sizing in IE 10. + * 2. Remove the padding in IE 10. + */ + +[type="checkbox"], +[type="radio"] { + box-sizing: border-box; /* 1 */ + padding: 0; /* 2 */ +} + +/** + * Correct the cursor style of increment and decrement buttons in Chrome. + */ + +[type="number"]::-webkit-inner-spin-button, +[type="number"]::-webkit-outer-spin-button { + height: auto; +} + +/** + * 1. Correct the odd appearance in Chrome and Safari. + * 2. Correct the outline style in Safari. + */ + +[type="search"] { + -webkit-appearance: textfield; /* 1 */ + outline-offset: -2px; /* 2 */ +} + +/** + * Remove the inner padding in Chrome and Safari on macOS. + */ + +[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; +} + +/** + * 1. Correct the inability to style clickable types in iOS and Safari. + * 2. Change font properties to `inherit` in Safari. + */ + +::-webkit-file-upload-button { + -webkit-appearance: button; /* 1 */ + font: inherit; /* 2 */ +} + +/* Interactive + ========================================================================== */ + +/* + * Add the correct display in Edge, IE 10+, and Firefox. + */ + +details { + display: block; +} + +/* + * Add the correct display in all browsers. + */ + +summary { + display: list-item; +} + +/* Misc + ========================================================================== */ + +/** + * Add the correct display in IE 10+. + */ + +template { + display: none; +} + +/** + * Add the correct display in IE 10. + */ + +[hidden] { + display: none; +} diff --git a/themes/maik-blog/assets/scss/_sharing-buttons.scss b/themes/maik-blog/assets/scss/_sharing-buttons.scss new file mode 100644 index 0000000..ce67cc2 --- /dev/null +++ b/themes/maik-blog/assets/scss/_sharing-buttons.scss @@ -0,0 +1,34 @@ +.sharing-buttons { + display: flex; + flex-wrap: wrap; + justify-content: space-between; + + .resp-sharing-button__icon, + .resp-sharing-button__link { + display: inline-block; + } + + .resp-sharing-button__link { + text-decoration: none; + margin: 0.5em; + } + + .resp-sharing-button { + border-radius: 5px; + transition: 25ms ease-out; + padding: 0.5em 0.75em; + font-family: Helvetica Neue, Helvetica, Arial, sans-serif; + } + + .resp-sharing-button__icon svg { + width: 1em; + height: 1em; + margin-right: 0.4em; + vertical-align: top; + } + + .resp-sharing-button--small svg { + margin: 0; + vertical-align: middle; + } +} \ No newline at end of file diff --git a/themes/maik-blog/assets/scss/_single.scss b/themes/maik-blog/assets/scss/_single.scss new file mode 100644 index 0000000..f8a1595 --- /dev/null +++ b/themes/maik-blog/assets/scss/_single.scss @@ -0,0 +1,191 @@ +.post { + width: 100%; + max-width: 800px; + text-align: left; + padding: 20px; + margin: 20px auto; + + @media #{$media-size-tablet} { + max-width: 600px; + } + + &-date { + &:after { + content: '—'; + } + } + + &-title { + font-size: 2.625rem; + margin: 0 0 20px; + + @media #{$media-size-phone} { + font-size: 2rem; + } + + a { + text-decoration: none; + } + } + + &-tags { + display: block; + margin-bottom: 20px; + font-size: 1rem; + opacity: 0.5; + + a { + text-decoration: none; + } + } + + &-content { + margin-top: 30px; + } + + &-cover { + border-radius: 8px; + margin: 40px -50px; + width: 860px; + max-width: 860px; + + @media #{$media-size-tablet} { + margin: 20px 0; + width: 100%; + } + } + + &-info { + margin-top: 30px; + font-size: 0.8rem; + line-height: normal; + @include dimmed; + + p { + margin: 0.8em 0; + } + + a:hover { + border-bottom: 1px solid white; + } + + svg { + margin-right: 0.8em; + } + + .tag { + margin-right: 0.5em; + + &::before { + content: "#"; + } + } + + .feather { + display: inline-block; + vertical-align: -.125em; + width: 1em; + height: 1em; + } + } + + .flag { + border-radius: 50%; + margin: 0 5px; + } +} + +.pagination { + margin-top: 20px; + + &__title { + display: flex; + text-align: center; + position: relative; + margin: 20px 0; + + &-h { + text-align: center; + margin: 0 auto; + padding: 5px 10px; + background: $light-background; + color: $light-color-secondary; + font-size: 0.8rem; + text-transform: uppercase; + text-decoration: none; + letter-spacing: 0.1em; + z-index: 1; + + .dark-theme & { + background: $dark-background; + color: $dark-color-secondary; + } + } + + hr { + position: absolute; + left: 0; + right: 0; + width: 100%; + margin-top: 15px; + z-index: 0; + } + } + + &__buttons { + display: flex; + align-items: center; + justify-content: center; + + a { + text-decoration: none; + font-weight: bold; + } + } +} + +.button { + position: relative; + display: inline-flex; + align-items: center; + justify-content: center; + background: $light-background-secondary; + font-size: 1rem; + font-weight: 600; + border-radius: 8px; + max-width: 40%; + padding: 0; + cursor: pointer; + appearance: none; + + .dark-theme & { + background: $dark-background-secondary; + } + + +.button { + margin-left: 10px; + } + + a { + display: flex; + padding: 8px 16px; + text-decoration: none; + text-overflow: ellipsis; + white-space: nowrap; + overflow: hidden; + } + + &__text { + text-overflow: ellipsis; + white-space: nowrap; + overflow: hidden; + } + + &.next .button__icon { + margin-left: 8px; + } + + &.previous .button__icon { + margin-right: 8px; + } +} \ No newline at end of file diff --git a/themes/maik-blog/assets/scss/_variables.scss b/themes/maik-blog/assets/scss/_variables.scss new file mode 100644 index 0000000..bf2fe8b --- /dev/null +++ b/themes/maik-blog/assets/scss/_variables.scss @@ -0,0 +1,24 @@ +@charset "UTF-8"; + +/* light theme color */ +$light-background: #fff; +$light-background-secondary: #eaeaea; +$light-color: #222; +$light-color-secondary: #999; +$light-border-color: #dcdcdc; + +/* dark theme colors */ +$dark-background: #292a2d; +$dark-background-secondary: #3b3d42; +$dark-color: #a9a9b3; +$dark-color-secondary: #73747b; +$dark-border-color: #4a4b50; + +$media-size-phone: "(max-width: 684px)"; +$media-size-tablet: "(max-width: 900px)"; + +/* variables for js, must be the same as these in @custom-media queries */ +:root { + --phoneWidth: (max-width: 684px); + --tabletWidth: (max-width: 900px); +} \ No newline at end of file diff --git a/themes/maik-blog/assets/scss/main.scss b/themes/maik-blog/assets/scss/main.scss new file mode 100644 index 0000000..5d66276 --- /dev/null +++ b/themes/maik-blog/assets/scss/main.scss @@ -0,0 +1,16 @@ +/* Must be loaded before everything else */ +@import "normalize"; +/* Main stuff */ +@import "variables"; +@import "mixins"; +@import "fonts"; +@import "buttons"; +/* Modules */ +@import "header"; +@import "logo"; +@import "menu"; +@import "main"; +@import "list"; +@import "single"; +@import "footer"; +@import "sharing-buttons"; \ No newline at end of file diff --git a/themes/maik-blog/i18n/en.toml b/themes/maik-blog/i18n/en.toml new file mode 100644 index 0000000..467981c --- /dev/null +++ b/themes/maik-blog/i18n/en.toml @@ -0,0 +1,36 @@ +# Translations for English +# https://gohugo.io/content-management/multilingual/#translation-of-strings + +# Generic +# +[translations] +other = "Translations" + +[postAvailable] +other = "Also available in" + + +# 404.html +# +[archives] +other = "Archives" + +[home] +other = "Home" + +[notFound] +other = "Oops, page not found…" + + +# posts/single.html +# +[readingTime] +one = "One minute" +other = "{{ .Count }} minutes" + +[tableOfContents] +other = "Table of Contents" + +[wordCount] +one = "One Word" +other = "{{ .Count }} Words" diff --git a/themes/maik-blog/layouts/404.html b/themes/maik-blog/layouts/404.html new file mode 100644 index 0000000..0dd7bc1 --- /dev/null +++ b/themes/maik-blog/layouts/404.html @@ -0,0 +1,36 @@ +{{ define "main" }} +
+

+ + + + + + + + + +

+ +
+{{ end }} \ No newline at end of file diff --git a/themes/maik-blog/layouts/_default/baseof.html b/themes/maik-blog/layouts/_default/baseof.html new file mode 100644 index 0000000..007539e --- /dev/null +++ b/themes/maik-blog/layouts/_default/baseof.html @@ -0,0 +1,22 @@ + + + + {{ partial "head.html" . }} + + + +
+ {{ partial "header.html" . }} + +
+ {{ block "main" . }}{{ end }} +
+ + {{ block "footer" . }} + {{ partial "footer.html" . }} + {{ end }} +
+ + {{ partial "javascript.html" . }} + + diff --git a/themes/maik-blog/layouts/_default/list.html b/themes/maik-blog/layouts/_default/list.html new file mode 100644 index 0000000..ee2e8da --- /dev/null +++ b/themes/maik-blog/layouts/_default/list.html @@ -0,0 +1,35 @@ +{{ define "main" }} + {{ $paginator := .Paginate .Data.Pages }} + +
+

{{ .Title }}

+ + {{ if .Content }} +
{{ .Content }}
+ {{ end }} + + {{ range $paginator.Pages.GroupByDate "2006" }} + + {{ end }} + {{ partial "pagination.html" . }} +
+{{ end }} diff --git a/themes/maik-blog/layouts/_default/single.html b/themes/maik-blog/layouts/_default/single.html new file mode 100644 index 0000000..21bce3b --- /dev/null +++ b/themes/maik-blog/layouts/_default/single.html @@ -0,0 +1,52 @@ +{{ define "main" }} +
+ + + +
+

{{ .Title | markdownify }}

+ + {{- if .Params.toc }} +
+ +
+ {{- end }} + + {{ with .Params.Cover }} + + {{ end }} + +
+ {{ .Content }} +
+
+ +
+ + +
+{{ end }} diff --git a/themes/maik-blog/layouts/index.html b/themes/maik-blog/layouts/index.html new file mode 100644 index 0000000..861079f --- /dev/null +++ b/themes/maik-blog/layouts/index.html @@ -0,0 +1,21 @@ +{{ define "main" }} +
+
+ {{ if .Site.Params.Portrait.Path }} + {{ .Site.Params.Portrait.Alt }} + {{ end }} + +

{{ .Site.Title }}

+ {{- with .Site.Params.homeSubtitle }} +

{{.}}

+ {{- end }} + + {{- with .Site.Params.social }} +
+ {{ partial "social-icons.html" . }} +
+ {{- end }} +
+
+{{ end }} \ No newline at end of file diff --git a/themes/maik-blog/layouts/partials/favicons.html b/themes/maik-blog/layouts/partials/favicons.html new file mode 100644 index 0000000..3c523f8 --- /dev/null +++ b/themes/maik-blog/layouts/partials/favicons.html @@ -0,0 +1,10 @@ +{{- with .Site.Params.favicon.color }} + + + + + + + + +{{ end }} \ No newline at end of file diff --git a/themes/maik-blog/layouts/partials/footer.html b/themes/maik-blog/layouts/partials/footer.html new file mode 100644 index 0000000..04f6dbb --- /dev/null +++ b/themes/maik-blog/layouts/partials/footer.html @@ -0,0 +1,24 @@ + \ No newline at end of file diff --git a/themes/maik-blog/layouts/partials/head.html b/themes/maik-blog/layouts/partials/head.html new file mode 100644 index 0000000..c41e9cd --- /dev/null +++ b/themes/maik-blog/layouts/partials/head.html @@ -0,0 +1,65 @@ + + + + + + + + + + +{{ block "title" . }} + + {{ if .IsHome }} + {{ $.Site.Title }} {{ with $.Site.Params.Subtitle }} — {{ . }} {{ end }} + {{ else }} + {{ .Title }} :: {{ $.Site.Title }} {{ with $.Site.Params.Subtitle }} — {{ . }}{{ end }} + {{ end }} + +{{ end }} + + + + +{{ $options := (dict "targetPath" "main.css" "outputStyle" "compressed" "enableSourceMap" true) }} +{{ $style := resources.Get "scss/main.scss" | resources.ToCSS $options | resources.Fingerprint }} + + +{{ range $val := $.Site.Params.customCSS }} +{{ if gt (len $val) 0 }} + +{{ end }} +{{ end }} + + +{{- partial "favicons.html" . }} + +{{ template "_internal/schema.html" . }} +{{ template "_internal/twitter_cards.html" . }} + +{{ if isset .Site.Taxonomies "series" }} +{{ template "_internal/opengraph.html" . }} +{{ end }} + +{{ range .Params.categories }} + +{{ end }} + +{{ if isset .Params "date" }} + +{{ end }} + + +{{ with .OutputFormats.Get "rss" -}} +{{ printf `` .Rel .MediaType.Type .Permalink $.Site.Title | safeHTML }} +{{ end -}} + + +{{ if .OutputFormats.Get "json" }} + +{{ end }} \ No newline at end of file diff --git a/themes/maik-blog/layouts/partials/header.html b/themes/maik-blog/layouts/partials/header.html new file mode 100644 index 0000000..4f6fb20 --- /dev/null +++ b/themes/maik-blog/layouts/partials/header.html @@ -0,0 +1,19 @@ +
+ + {{ partial "logo.html" . }} + + + {{ if len .Site.Menus }} + {{ partial "menu.html" . }} + + + + + + + {{ end }} + + {{ partial "theme-icon.html" . }} + + +
\ No newline at end of file diff --git a/themes/maik-blog/layouts/partials/javascript.html b/themes/maik-blog/layouts/partials/javascript.html new file mode 100644 index 0000000..affc57b --- /dev/null +++ b/themes/maik-blog/layouts/partials/javascript.html @@ -0,0 +1,15 @@ +{{ $main := resources.Get "js/main.js" }} +{{ $menu := resources.Get "js/menu.js" }} +{{ $theme := resources.Get "js/theme.js" }} +{{ $secureJS := slice $main $menu $theme | resources.Concat "bundle.js" | resources.Minify | resources.Fingerprint "sha512" }} + + +{{- if .Site.GoogleAnalytics }} +{{ template "_internal/google_analytics.html" . }} +{{- end}} + +{{ range $val := $.Site.Params.customJS }} +{{ if gt (len $val) 0 }} + +{{ end }} +{{ end }} \ No newline at end of file diff --git a/themes/maik-blog/layouts/partials/logo.html b/themes/maik-blog/layouts/partials/logo.html new file mode 100644 index 0000000..44abe8f --- /dev/null +++ b/themes/maik-blog/layouts/partials/logo.html @@ -0,0 +1,15 @@ + + + \ No newline at end of file diff --git a/themes/maik-blog/layouts/partials/menu.html b/themes/maik-blog/layouts/partials/menu.html new file mode 100644 index 0000000..3c57656 --- /dev/null +++ b/themes/maik-blog/layouts/partials/menu.html @@ -0,0 +1,8 @@ + \ No newline at end of file diff --git a/themes/maik-blog/layouts/partials/pagination.html b/themes/maik-blog/layouts/partials/pagination.html new file mode 100644 index 0000000..5d653e3 --- /dev/null +++ b/themes/maik-blog/layouts/partials/pagination.html @@ -0,0 +1,20 @@ + \ No newline at end of file diff --git a/themes/maik-blog/layouts/partials/sharing-buttons.html b/themes/maik-blog/layouts/partials/sharing-buttons.html new file mode 100644 index 0000000..aefda3a --- /dev/null +++ b/themes/maik-blog/layouts/partials/sharing-buttons.html @@ -0,0 +1,160 @@ + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+ + + +
+ +
+
+ + + + + + +
+ +
+
+ + + + + + +
+ +
+
\ No newline at end of file diff --git a/themes/maik-blog/layouts/partials/social-icons.html b/themes/maik-blog/layouts/partials/social-icons.html new file mode 100644 index 0000000..fe6ff09 --- /dev/null +++ b/themes/maik-blog/layouts/partials/social-icons.html @@ -0,0 +1,4 @@ +{{ range . -}} +  {{ partial "svg.html" . }} +  +{{- end -}} \ No newline at end of file diff --git a/themes/maik-blog/layouts/partials/svg.html b/themes/maik-blog/layouts/partials/svg.html new file mode 100644 index 0000000..17de3db --- /dev/null +++ b/themes/maik-blog/layouts/partials/svg.html @@ -0,0 +1,279 @@ +{{- if (eq .name "behence") -}} + + + +{{- else if (eq .name "codechef") -}} + + + +{{- else if (eq .name "codepen") -}} + + + + + + + +{{- else if (eq .name "dev") -}} + + + +{{- else if (eq .name "deviantart") -}} + + + +{{- else if (eq .name "discogs") -}} + + + +{{- else if (eq .name "discord") -}} + + + +{{- else if (eq .name "dribbble") -}} + + + +{{- else if (eq .name "docker") -}} + + + +{{- else if (eq .name "email") -}} + + + + +{{- else if (eq .name "facebook") -}} + + + +{{- else if (eq .name "gitbook") -}} + + + + +{{- else if (eq .name "github") -}} + + + + +{{- else if (eq .name "gitlab") -}} + + + + +{{- else if (eq .name "goodreads") -}} + + + +{{- else if (eq .name "gpg") -}} + + + +{{- else if (eq .name "hackerone") -}} + + + +{{- else if (eq .name "hackerrank") -}} + + + +{{- else if (eq .name "instagram") -}} + + + + + +{{- else if (eq .name "kaggle") -}} + + + +{{- else if (eq .name "keybase") -}} + + + +{{- else if (eq .name "lastfm") -}} + + + +{{- else if (eq .name "linkedin") -}} + + + + + +{{- else if (eq .name "mastodon") -}} + + + +{{- else if (eq .name "matrix") -}} + + + +{{- else if (eq .name "medium") -}} + + + +{{- else if (eq .name "mixcloud") -}} + + + +{{- else if (eq .name "pinterest") }} + + + +{{- else if (eq .name "podcasts-apple") -}} + + + +{{- else if (eq .name "podcasts-google") -}} + + + +{{- else if (eq .name "slack") -}} + + + +{{- else if (eq .name "soundcloud") -}} + + + +{{- else if (eq .name "stackoverflow") -}} + + + +{{- else if (eq .name "steam") -}} + + + +{{- else if (eq .name "strava") -}} + + + +{{- else if (eq .name "reddit") -}} + + + +{{- else if (eq .name "telegram") -}} + + + + +{{- else if (eq .name "tumblr") }} + + + +{{- else if (eq .name "twitch") -}} + + + +{{- else if (eq .name "twitter") -}} + + + + +{{- else if (eq .name "whatsapp") }} + + + +{{- else if (eq .name "xampp") -}} + + + +{{- else if (eq .name "xing") -}} + + + +{{- else if (eq .name "xmpp") -}} + + + +{{- else if (eq .name "ycombinator") -}} + + + +{{- else if (eq .name "youtube") -}} + + + + + +{{- else if (eq .name "lbry") -}} + + + + + +{{- else if (eq .name "rss") -}} + + + + + +{{- end -}} \ No newline at end of file diff --git a/themes/maik-blog/layouts/partials/theme-icon.html b/themes/maik-blog/layouts/partials/theme-icon.html new file mode 100644 index 0000000..c72a3fc --- /dev/null +++ b/themes/maik-blog/layouts/partials/theme-icon.html @@ -0,0 +1,5 @@ + + + diff --git a/themes/maik-blog/layouts/posts/rss.xml b/themes/maik-blog/layouts/posts/rss.xml new file mode 100644 index 0000000..3fbe57b --- /dev/null +++ b/themes/maik-blog/layouts/posts/rss.xml @@ -0,0 +1,26 @@ + + + {{ if eq .Title .Site.Title }}{{ .Site.Title }}{{ else }}{{ with .Title }}{{.}} on {{ end }}{{ .Site.Title }}{{ end }} + {{ .Permalink }} + Recent content {{ if ne .Title .Site.Title }}{{ with .Title }}in {{.}} {{ end }}{{ end }}on {{ .Site.Title }}{{ with .Site.LanguageCode }} + {{.}}{{end}}{{ with .Site.Author.email }} + {{.}}{{ with $.Site.Author.name }} ({{.}}){{end}}{{end}}{{ with .Site.Author.email }} + {{.}}{{ with $.Site.Author.name }} ({{.}}){{end}}{{end}}{{ with .Site.Copyright }} + {{.}}{{end}}{{ if not .Date.IsZero }} + {{ .Date.Format "Mon, 02 Jan 2006 15:04:05 -0700" | safeHTML }}{{ end }} + {{ with .OutputFormats.Get "RSS" -}} + {{ printf "" .Permalink .MediaType | safeHTML }} + {{ end -}} + {{ range .Pages }} + + {{ .Title }} + {{ .Permalink }} + {{ .Date.Format "Mon, 02 Jan 2006 15:04:05 -0700" | safeHTML }} + {{ with .Site.Author.email }}{{.}}{{ with $.Site.Author.name }} ({{.}}){{end}}{{end}} + {{ .Permalink }} + {{ .Summary | html }} + {{ printf `` .Content | safeHTML }} + + {{ end }} + + diff --git a/themes/maik-blog/layouts/posts/single.html b/themes/maik-blog/layouts/posts/single.html new file mode 100644 index 0000000..9c284c4 --- /dev/null +++ b/themes/maik-blog/layouts/posts/single.html @@ -0,0 +1,153 @@ +{{ define "main" }} +
+ + + +
+

+ {{ .Title | markdownify }} +

+ + {{- if .Params.toc }} +
+ +
+ {{- end }} + + {{ with .Params.Cover }} + + {{ end }} + +
+ {{ .Content }} +
+
+ +
+ + + + {{- if .Site.Params.EnableSharingButtons }} +
+ + {{- end }} + + {{ if and (not $.Site.Params.DisableReadOtherPosts) (or .NextInSection .PrevInSection) }} + + {{ end }} + + + {{ if .Site.DisqusShortname }} + {{ if not (eq .Params.Comments "false") }} +
+ {{ template "_internal/disqus.html" . }} +
+ {{ end }} + {{ end }} + +
+{{ end }} \ No newline at end of file diff --git a/themes/maik-blog/layouts/rss.xml b/themes/maik-blog/layouts/rss.xml new file mode 100644 index 0000000..3fbe57b --- /dev/null +++ b/themes/maik-blog/layouts/rss.xml @@ -0,0 +1,26 @@ + + + {{ if eq .Title .Site.Title }}{{ .Site.Title }}{{ else }}{{ with .Title }}{{.}} on {{ end }}{{ .Site.Title }}{{ end }} + {{ .Permalink }} + Recent content {{ if ne .Title .Site.Title }}{{ with .Title }}in {{.}} {{ end }}{{ end }}on {{ .Site.Title }}{{ with .Site.LanguageCode }} + {{.}}{{end}}{{ with .Site.Author.email }} + {{.}}{{ with $.Site.Author.name }} ({{.}}){{end}}{{end}}{{ with .Site.Author.email }} + {{.}}{{ with $.Site.Author.name }} ({{.}}){{end}}{{end}}{{ with .Site.Copyright }} + {{.}}{{end}}{{ if not .Date.IsZero }} + {{ .Date.Format "Mon, 02 Jan 2006 15:04:05 -0700" | safeHTML }}{{ end }} + {{ with .OutputFormats.Get "RSS" -}} + {{ printf "" .Permalink .MediaType | safeHTML }} + {{ end -}} + {{ range .Pages }} + + {{ .Title }} + {{ .Permalink }} + {{ .Date.Format "Mon, 02 Jan 2006 15:04:05 -0700" | safeHTML }} + {{ with .Site.Author.email }}{{.}}{{ with $.Site.Author.name }} ({{.}}){{end}}{{end}} + {{ .Permalink }} + {{ .Summary | html }} + {{ printf `` .Content | safeHTML }} + + {{ end }} + + diff --git a/themes/maik-blog/layouts/shortcodes/code.html b/themes/maik-blog/layouts/shortcodes/code.html new file mode 100644 index 0000000..2e68552 --- /dev/null +++ b/themes/maik-blog/layouts/shortcodes/code.html @@ -0,0 +1,17 @@ +{{ $id := delimit (shuffle (seq 1 9)) "" }} + +{{ if .Get "language" }} +
+ + +
{{ .Inner | string }}
+
+{{ else }} +{{ errorf "If you want to use the \"collapsable code\" shortcode, you need to pass a mandatory \"language\" param. The issue occured in %q (%q)" .Page.File .Page.Permalink }} +{{ end }} \ No newline at end of file diff --git a/themes/maik-blog/layouts/shortcodes/image.html b/themes/maik-blog/layouts/shortcodes/image.html new file mode 100644 index 0000000..e403564 --- /dev/null +++ b/themes/maik-blog/layouts/shortcodes/image.html @@ -0,0 +1,5 @@ + {{ if .Get "src" }} + {{ . | plainify }} + {{ end }} \ No newline at end of file diff --git a/themes/maik-blog/static/fonts/Inter-UI-Bold.woff b/themes/maik-blog/static/fonts/Inter-UI-Bold.woff new file mode 100644 index 0000000..8fefb2d Binary files /dev/null and b/themes/maik-blog/static/fonts/Inter-UI-Bold.woff differ diff --git a/themes/maik-blog/static/fonts/Inter-UI-Bold.woff2 b/themes/maik-blog/static/fonts/Inter-UI-Bold.woff2 new file mode 100644 index 0000000..522adb9 Binary files /dev/null and b/themes/maik-blog/static/fonts/Inter-UI-Bold.woff2 differ diff --git a/themes/maik-blog/static/fonts/Inter-UI-BoldItalic.woff b/themes/maik-blog/static/fonts/Inter-UI-BoldItalic.woff new file mode 100644 index 0000000..8e0e289 Binary files /dev/null and b/themes/maik-blog/static/fonts/Inter-UI-BoldItalic.woff differ diff --git a/themes/maik-blog/static/fonts/Inter-UI-BoldItalic.woff2 b/themes/maik-blog/static/fonts/Inter-UI-BoldItalic.woff2 new file mode 100644 index 0000000..66d8511 Binary files /dev/null and b/themes/maik-blog/static/fonts/Inter-UI-BoldItalic.woff2 differ diff --git a/themes/maik-blog/static/fonts/Inter-UI-Italic.woff b/themes/maik-blog/static/fonts/Inter-UI-Italic.woff new file mode 100644 index 0000000..70c132b Binary files /dev/null and b/themes/maik-blog/static/fonts/Inter-UI-Italic.woff differ diff --git a/themes/maik-blog/static/fonts/Inter-UI-Italic.woff2 b/themes/maik-blog/static/fonts/Inter-UI-Italic.woff2 new file mode 100644 index 0000000..6af8a7f Binary files /dev/null and b/themes/maik-blog/static/fonts/Inter-UI-Italic.woff2 differ diff --git a/themes/maik-blog/static/fonts/Inter-UI-Medium.woff b/themes/maik-blog/static/fonts/Inter-UI-Medium.woff new file mode 100644 index 0000000..8aef504 Binary files /dev/null and b/themes/maik-blog/static/fonts/Inter-UI-Medium.woff differ diff --git a/themes/maik-blog/static/fonts/Inter-UI-Medium.woff2 b/themes/maik-blog/static/fonts/Inter-UI-Medium.woff2 new file mode 100644 index 0000000..7bdc267 Binary files /dev/null and b/themes/maik-blog/static/fonts/Inter-UI-Medium.woff2 differ diff --git a/themes/maik-blog/static/fonts/Inter-UI-MediumItalic.woff b/themes/maik-blog/static/fonts/Inter-UI-MediumItalic.woff new file mode 100644 index 0000000..58119ef Binary files /dev/null and b/themes/maik-blog/static/fonts/Inter-UI-MediumItalic.woff differ diff --git a/themes/maik-blog/static/fonts/Inter-UI-MediumItalic.woff2 b/themes/maik-blog/static/fonts/Inter-UI-MediumItalic.woff2 new file mode 100644 index 0000000..4d4034b Binary files /dev/null and b/themes/maik-blog/static/fonts/Inter-UI-MediumItalic.woff2 differ diff --git a/themes/maik-blog/static/fonts/Inter-UI-Regular.woff b/themes/maik-blog/static/fonts/Inter-UI-Regular.woff new file mode 100644 index 0000000..2ada3d0 Binary files /dev/null and b/themes/maik-blog/static/fonts/Inter-UI-Regular.woff differ diff --git a/themes/maik-blog/static/fonts/Inter-UI-Regular.woff2 b/themes/maik-blog/static/fonts/Inter-UI-Regular.woff2 new file mode 100644 index 0000000..e29e9c9 Binary files /dev/null and b/themes/maik-blog/static/fonts/Inter-UI-Regular.woff2 differ diff --git a/themes/maik-blog/theme.toml b/themes/maik-blog/theme.toml new file mode 100644 index 0000000..5bd223f --- /dev/null +++ b/themes/maik-blog/theme.toml @@ -0,0 +1,14 @@ +name = "maik-blog" +description = "A simple theme for my blog." +tags = ["blog", "clean", "dark", "light", "monochromatic", "personal", "responsive"] +features = ["blog", "shortcode", "syntax highlighting"] +min_version = 0.30 + +[author] + name = "Maik de Kruif" + homepage = "https://maik.dev/" + +[original] + name = "hello-friend" + homepage = "https://github.com/panr/hugo-theme-hello-friend" + repo = "https://github.com/panr/hugo-theme-hello-friend"