diff --git a/.drone.yml b/.drone.yml index bbe28c9..7a81f55 100644 --- a/.drone.yml +++ b/.drone.yml @@ -1,7 +1,7 @@ --- kind: pipeline type: docker -name: hugo-builder +name: test-build steps: - name: hugo-extended @@ -11,9 +11,30 @@ steps: - git submodule init - git submodule update - hugo version - - hugo --gc=true + - hugo --gc=true --minify +--- +kind: pipeline +type: docker +name: deploy + +steps: +- name: hugo-rsync-deploy + pull: always + image: immawanderer/archlinux-hugo:latest + commands: + - git submodule init + - git submodule update + - rm -rfv ./public + - hugo --gc=true --minify + - cat $hugo_key > hugo_deploy + - rsync -avze 'ssh -i hugo_deploy' --delete public/ $hugo_user@$hugo_host:$hugo_dir + - shred -zuv 7 hugo_deploy || true + when: + status: + - success + --- kind: pipeline name: notifications @@ -28,6 +49,7 @@ clone: trigger: branch: - master + - "dev*" - "release/*" event: - push @@ -37,7 +59,7 @@ trigger: - failure depends_on: - - hugo-builder + - test-build steps: - name: discord @@ -73,7 +95,7 @@ trigger: - failure depends_on: - - hugo-builder + - test-build steps: - name: discord @@ -85,3 +107,34 @@ steps: from_secret: discord_webhook_hourly_id webhook_token: from_secret: discord_webhook_hourly_token + + +--- +kind: pipeline +name: notifications-deploy + +platform: + os: linux + arch: amd64 + +clone: + disable: true + +trigger: + status: + - success + - failure + +depends_on: + - deploy + +steps: + - name: discord + pull: always + image: appleboy/drone-discord:1.2.4 + settings: + message: "{{#success build.status}} āœ… Build #{{build.number}} of `{{repo.name}}` has been successfully deployed.\n\nšŸ“ Commit by {{commit.author}} on `{{commit.branch}}`:\n``` {{commit.message}} ```\n\nšŸŒ {{ build.link }} {{else}} āŒ Build #{{build.number}} of `{{repo.name}}` failed to deploy.\n\nšŸ“ Commit by {{commit.author}} on `{{commit.branch}}`:\n``` {{commit.message}} ```\nšŸŒ {{ build.link }} {{/success}}\n\n" + webhook_id: + from_secret: discord_webhook_id + webhook_token: + from_secret: discord_webhook_token diff --git a/.gitignore b/.gitignore index 459911c..1c5c49f 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ #do not push builds -public/ \ No newline at end of file +public/ +resources/ diff --git a/.gitmodules b/.gitmodules index 179cb0c..ff46467 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,3 +1,3 @@ -[submodule "themes/hello-friend-ng"] - path = themes/hello-friend-ng - url = https://github.com/rhazdon/hugo-theme-hello-friend-ng.git +[submodule "themes/hermit"] + path = themes/hermit + url = https://github.com/Track3/hermit.git diff --git a/archetypes/posts.md b/archetypes/posts.md new file mode 100644 index 0000000..fe05261 --- /dev/null +++ b/archetypes/posts.md @@ -0,0 +1,10 @@ +--- +title: "{{ replace .Name "-" " " | title }}" +date: {{ .Date }} +draft: true +toc: false +images: +tags: + - untagged +--- + diff --git a/assets/scss/_predefined.scss b/assets/scss/_predefined.scss new file mode 100644 index 0000000..b833149 --- /dev/null +++ b/assets/scss/_predefined.scss @@ -0,0 +1,33 @@ +// Colors +// +$theme: #D8D8D8; +$text: #D8D8D8; +$light-grey: #282a2b; // Background +$dark-grey: #282a2b; // Hover Bar +$highlight-grey: #151718; // Highlight background of `keyword` +$midnightblue: #151718; // Code Background + +// Fonts +// +$fonts: "Trebuchet MS", Verdana, "Verdana Ref", "Segoe UI", Candara, "Lucida Grande", "Lucida Sans Unicode", "Lucida Sans", Tahoma, sans-serif; +$code-fonts: Consolas, "Andale Mono WT", "Andale Mono", Menlo, Monaco, "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, "YaHei Consolas Hybrid", monospace, "Segoe UI Emoji", "PingFang SC", "Microsoft YaHei"; + +// Mixins +// +@mixin dimmed { + opacity: .6; +} + +@mixin aTag { + a { + word-wrap: break-word; + border: none; + box-shadow: inset 0 -1px 0 $theme; + transition-property: box-shadow; + transition-duration: .1s; + + &:hover { + box-shadow: inset 0 -1em 0 $theme; + } + } +} diff --git a/assets/scss/style.scss b/assets/scss/style.scss new file mode 100644 index 0000000..09ee3bb --- /dev/null +++ b/assets/scss/style.scss @@ -0,0 +1,899 @@ +@import "predefined.scss"; +@import "normalize.scss"; +@import "syntax.scss"; +@import "animate.scss"; + +/* Webkit Scrollbar Customize */ +::-webkit-scrollbar { + width: 8px; + height: 8px; + background: $midnightblue; +} + +::-webkit-scrollbar-thumb { + background: #888; + + &:hover { + background: $text; + } +} + +html { + background: $light-grey; + line-height: 1.6; + letter-spacing: .06em; + scroll-behavior: smooth; +} + +body, +button, +input, +select, +textarea { + color: $text; + font-family: $fonts; +} + +pre, +code, +pre tt { + font-family: $code-fonts; +} + +pre { + padding: .7em 1.1em; + overflow: auto; + font-size: .9em; + line-height: 1.5; + letter-spacing: normal; + white-space: pre; + color: #eee; + background: $midnightblue; + border-radius: 4px; + // -webkit-overflow-scrolling: touch; + + code { + padding: 0; + margin: 0; + background: $midnightblue; + } +} + +code { + color: #eee; + background: $highlight-grey; + border-radius: 3px; + padding: 0 3px; + margin: 0 4px; + word-wrap: break-word; + letter-spacing: normal; +} + +blockquote { + border-left: .25em solid; + margin: 1em; + padding: 0 1em; + font-style: italic; + + cite { + font-weight: bold; + font-style: normal; + + &::before { + content: "ā€”ā€” "; + } + } +} + +a { + color: $text; + text-decoration: none; + border: none; + transition-property: color; + transition-duration: .4s; + transition-timing-function: ease-out; + + &:hover { + color: #fff; + text-shadow: 0 0 1px #fff; + } +} + +hr { + opacity: .2; + border-width: 0 0 5px 0; + border-style: dashed; + background: transparent; + width: 50%; + margin: 1.8em auto; +} + +table { + border-collapse: collapse; + border-spacing: 0; + empty-cells: show; + width: 100%; + max-width: 100%; + + th, + td { + padding: 1.5%; + border: 1px solid; + } + + th { + font-weight: 700; + vertical-align: bottom; + } +} + +.section-inner { + margin: 0 auto; + max-width: 1200px; + width: 93%; +} + +.thin { + max-width: 720px; + margin: auto; +} + +.feather { + display: inline-block; + vertical-align: -.125em; + width: 1em; + height: 1em; +} + +.sub-menu { + font-size: .7em; +} + +.desktop-only, .desktop-only-ib { + display: none; +} + +// Code copy buttons +// + +.highlight { + position: relative; +} + +.highlight pre { + padding-right: 75px; +} + +.highlight-copy-btn { + position: absolute; + bottom: 7px; + right: 7px; + border: 0; + border-radius: 4px; + padding: 1px; + font-size: 0.7em; + line-height: 1.8; + color: #fff; + background-color: #777; + opacity: 0.6; + min-width: 55px; + text-align: center; +} + +.highlight-copy-btn:hover { + background-color: #666; +} + +// 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; + left: 5px; + line-height: normal; + padding: 15px 23px 14px; + text-decoration: none; + top: 5px; + width: auto; + z-index: 100000; +} + +// Header & Footer +// +#site-header { + position: fixed; + z-index: 1; + bottom: 0; + width: 100%; + box-sizing: border-box; + box-shadow: -1px -2px 3px rgba(0, 0, 0, 0.45); + background-color: $dark-grey; +} + +.hdr-wrapper { + display: flex; + justify-content: space-between; + align-items: center; + padding: .5em 0; + font-size: 1.2rem; + + .site-branding { + display: inline-block; + margin-right: .8em; + font-size: 1.2em; + } + + .site-nav { + display: inline-block; + font-size: 1.1em; + opacity: .8; + + .has-children { + padding-right: .5em; + border-right: 2px solid $highlight-grey; + } + + .sub-menu > a{ + margin-left: .3em; + } + + a { + margin-left: .8em; + } + } +} + +.hdr-icons { + font-size: 1.2em; +} + +.hdr-social { + display: inline-block; + margin-left: .6em; + + &>a { + margin-left: .4em; + } +} + +.hdr-btn { + border: none; + background: none; + padding: 0; + margin-left: .4em; + cursor: pointer; +} + +#menu-btn { + display: none; + margin-left: .6em; + cursor: pointer; +} + +#mobile-menu { + position: fixed; + bottom: 4.8em; + right: 1.5em; + display: none; + padding: .6em 1.8em; + z-index: 1; + box-sizing: border-box; + box-shadow: -1px -2px 3px 0px rgba(0, 0, 0, 0.45); + background-color: $dark-grey; + + ul { + list-style: none; + margin: 0; + padding: 0; + line-height: 2; + font-size: 1.2em; + } +} + +#site-footer { + text-align: center; + font-size: .9em; + margin-bottom: 96px; + margin-top: 64px; + + p { + margin: 0; + } +} + +// Spotlight +// +#spotlight { + display: flex; + min-height: 100vh; + flex-direction: column; + align-items: center; + justify-content: center; + max-width: 93%; + margin: auto; + font-size: 1.5rem; + + &.error-404 { + flex-direction: row; + line-height: normal; + } +} + +p.img-404 { + margin: 0; + + svg { + width: 180px; + max-width: 100%; + height: auto; + } +} + +.banner-404 { + margin-left: 2em; + + h1 { + font-size: 3em; + margin: .5rem 0; + } + + p { + margin-top: 0; + } + + .btn-404 { + font-size: .8em; + + a { + display: inline-block; + border: 2px solid $text; + border-radius: 5px; + padding: 5px; + transition-property: color, border-color; + + &:first-child { + margin-right: 1em; + } + + &:hover { + border-color: #fff; + } + + svg { + margin-right: .5em; + } + } + } +} + +#home-center { + display: flex; + flex-grow: 1; + flex-direction: column; + justify-content: center; +} + +#home-title { + margin: 0; + text-align: center; +} + +#home-subtitle { + margin-top: 0; + margin-bottom: 1.5em; + text-align: center; + line-height: normal; + font-size: .7em; + font-style: italic; + opacity: .9; +} + +#home-social { + font-size: 1.4em; + text-align: center; + opacity: .8; + + a { + margin: 0 .2em; + } +} + +#home-nav { + opacity: .8; + + a { + display: block; + text-align: center; + margin-top: .5em; + } +} + +#home-footer { + text-align: center; + font-size: .6em; + line-height: normal; + @include dimmed; + + p { + margin-top: 0; + } +} + +// list.html +// +.posts-group { + display: flex; + margin-bottom: 1.9em; + line-height: normal; + + .post-year { + padding-top: 6px; + margin-right: 1.8em; + font-size: 1.6em; + @include dimmed; + + &:hover { + text-decoration: underline; + cursor: pointer; + } + } + + .posts-list { + flex-grow: 1; + margin: 0; + padding: 0; + list-style: none; + } + + .post-item { + border-bottom: 1px $highlight-grey dashed; + + a { + display: flex; + justify-content: space-between; + align-items: baseline; + padding: 12px 0; + } + } + + .post-day { + flex-shrink: 0; + margin-left: 1em; + @include dimmed; + } +} + +// single.html +// +.bg-img { + width: 100vw; + height: 100vh; + opacity: .03; + z-index: -1; + position: fixed; + top: 0; + background-attachment: fixed; + background-repeat: no-repeat; + background-size: cover; + background-position: center; + transition: opacity .5s; +} + +.show-bg-img { + z-index: 100; + opacity: 1; + cursor: pointer; +} + +.post-header { + margin-top: 1.2em; + line-height: normal; + + .post-meta { + font-size: .9em; + letter-spacing: normal; + @include dimmed; + } + + h1 { + margin-top: .1em; + } +} + +hr.post-end { + width: 50%; + margin-top: 1.6em; + margin-bottom: .8em; + margin-left: 0; + border-style: solid; + border-bottom-width: 4px; +} + +.content { + {{- with .Site.Params.justifyContent }} + text-align: justify; + text-justify: inter-ideograph; //For IE/Edge + {{- end }} + + @include aTag; + + figure { + max-width: 100%; + height: auto; + margin: 0; + text-align: center; + + p { + font-size: .8em; + font-style: italic; + @include dimmed; + } + } + + figure.left { + float: left; + margin-right: 1.5em; + max-width: 50%; + } + + figure.right { + float: right; + margin-left: 1.5em; + max-width: 50%; + } + + figure.big { + max-width: 100vw; + } + + img { + display: block; + max-width: 100%; + height: auto; + margin: auto; + border-radius: 4px; + } + + ul, + ol { + padding: 0; + margin-left: 1.8em; + } + + a.anchor { + float: left; + margin-left: -20px; + padding-right: 6px; + box-shadow: none; + opacity: .8; + &:hover { + background: none; + color: $theme; + opacity: 1; + } + + svg { + display: inline-block; + width: 14px; + height: 14px; + vertical-align: baseline; + visibility: hidden; + } + &:focus svg { + visibility: visible; + } + } + + h1:hover a.anchor svg, + h2:hover a.anchor svg, + h3:hover a.anchor svg, + h4:hover a.anchor svg, + h5:hover a.anchor svg, + h6:hover a.anchor svg { + visibility: visible; + } +} + +.footnotes { + font-size: .85em; + + a { + box-shadow: none; + text-decoration: underline; + transition-property: color; + + &:hover { + background: transparent; + } + + &.footnote-return { + text-decoration: none; + } + } + + ol { + line-height: 1.8; + } +} + +.footnote-ref a { + box-shadow: none; + text-decoration: none; + padding: 2px; + border-radius: 2px; + background-color: $midnightblue; +} + +.post-info { + font-size: .8rem; + line-height: normal; + @include dimmed; + + p { + margin: .8em 0; + } + + a:hover { + border-bottom: 1px solid $theme; + } + + svg { + margin-right: .8em; + } + + .tag { + margin-right: .5em; + + &::before { + content: "#" + } + } +} + +#toc { + position: fixed; + left: 50%; + top: 0; + display: none; +} + +.toc-title { + margin-left: 1em; + margin-bottom: .5em; + font-size: .8em; + font-weight: bold; +} + +#TableOfContents { + font-size: .8em; + @include dimmed; + + ul { + padding-left: 1em; + margin: 0; + } + + &>ul { + list-style-type: none; + + ul ul { + font-size: .9em; + } + } + + a:hover { + border-bottom: $theme 1px solid; + } +} + + +.post-nav { + display: flex; + justify-content: space-between; + margin-top: 1.5em; + margin-bottom: 2.5em; + font-size: 1.2em; + + a { + flex-basis: 50%; + flex-grow: 1; + } + + .next-post {text-align: left; padding-right: 5px;} + .prev-post {text-align: right; padding-left: 5px;} + + .post-nav-label { + font-size: .8em; + opacity: .8; + text-transform: uppercase; + } +} + +.related-posts { + padding: .8em; + margin-top: 1.5em; + font-size: .8rem; + border: 3px dashed rgba(255, 255, 255, .2); + border-radius: 5px; + + h2{ + margin: 0; + line-height: normal; + } + + ul { + margin-top: .5em; + margin-bottom: 0; + } +} + + +// Media Queries +// +@media (min-width: 800px) { + .site-main { + margin-top: 3em; + } + + hr.post-end { + width: 40%; + } +} + +@media (min-width: 960px) { + .site-main { + margin-top: 6em; + } +} + +@media (min-width: 1300px) { + .site-main { + margin-top: 8em; + } + + .desktop-only, + #toc.show-toc { + display: block; + } + + .desktop-only-ib { + display: inline-block; + } + + figure.left { + margin-left: -240px; + p { + text-align: left; + } + } + + figure.right { + margin-right: -240px; + p { + text-align: right; + } + } + + figure.big { + width: 1200px; + margin-left: -240px; + } + + hr.post-end { + width: 30%; + } + + #toc { + top: 13em; + margin-left: 370px; + max-width: 220px; + } +} + +@media (min-width: 1800px) { + .site-main { + margin-top: 10em; + } + + .section-inner { + max-width: 1600px; + } + + .thin { + max-width: 960px; + } + + figure.left { + max-width: 75%; + margin-left: -320px; + } + + figure.right { + max-width: 75%; + margin-right: -320px; + } + + figure.big { + width: 1600px; + margin-left: -320px; + } + + hr.post-end { + width: 30%; + } + + #toc { + top: 15em; + margin-left: 490px; + max-width: 300px; + } +} + +@media (max-width: 760px) { + + .hide-in-mobile, + .site-nav.hide-in-mobile { + display: none; + } + + #menu-btn { + display: inline-block; + } + + .posts-group { + display: block; + + .post-year { + margin: -6px 0 4px; + } + } + + #spotlight.error-404 { + flex-direction: column; + text-align: center; + + .banner-404 { + margin: 0; + } + } +} + +@media (max-width: 520px) { + + .content figure.left, + .content figure.right { + float: unset; + max-width: 100%; + margin: 0; + } + + hr.post-end { + width: 60%; + } + + #mobile-menu { + right: 1.2em; + } +} diff --git a/config.toml b/config.toml index 2a02028..7d101ed 100644 --- a/config.toml +++ b/config.toml @@ -1,6 +1,10 @@ baseurl = "/" languageCode = "en-us" -theme = "hello-friend-ng" +theme = "hermit" +copyright = 'WTFPL' + +pygmentsCodefences = true +pygmentsUseClasses = true [author] name = "dotya.ml" @@ -8,13 +12,16 @@ theme = "hello-friend-ng" [params] dateform = "Jan 2, 2006" dateformShort = "Jan 2" - dateformNum = "2006-01-02" - dateformNumTime = "2006-01-02 15:04 -0700" + dateformNum = "2006-02-01" + dateformNumTime = "2006-02-01 15:04 +0000" # Metadata mostly used in document's head description = "dotya.ml" keywords = "homepage, development, git, programming" images = [""] + themeColor = "#282a2b" + justifyContent = false + relatedPosts = false # Directory name of your blog content (default is `content/posts`) contentTypeName = "posts" @@ -28,28 +35,30 @@ theme = "hello-friend-ng" logoHomeLink = "/" [[params.social]] - name = "telegram" - url = "https://t.me/#" + name = "gitea" + url = "https://git.dotya.ml/wanderer?tab=activity" + alt = "a gitea instance" [[params.social]] - name = "email" - url = "mailto:" + name = "github" + url = "https://github.com/wULLSnpAXbWZGYDYyhWTKKspEQoaYxXyhoisqHf" + alt = "github profile page" + + [[params.social]] + name = "dockerhub" + url = "https://hub.docker.com/r/immawanderer" + alt = "dockerhub profile page" [languages] [languages.en] title = "dotya.ml" subtitle = "" keywords = "homepage, development, git, programming" - copyright = 'WTFPL' readOtherPosts = "" [languages.en.params.logo] logoText = "dotya.ml" logoHomeLink = "/" - # or - # - # path = "/img/your-example-logo.svg" - # alt = "Your example logo alt text" # You can create a language based menu [languages.en.menu] @@ -57,26 +66,31 @@ theme = "hello-friend-ng" identifier = "about" name = "about" url = "/about" + alt = "dotya.ml status" + weight = 1 + # [[languages.en.menu.main]] + # identifier = "posts" + # name = "posts" + # url = "/posts" + # alt = "dotya.ml posts" + # weight = 2 [[languages.en.menu.main]] - identifier = "gitea" - name = "gitea" - url = "https://git.dotya.ml" - [[languages.en.menu.main]] - identifier = "drone" - name = "drone" - url = "https://drone.dotya.ml" - [[languages.en.menu.main]] - identifier = "status" - name = "status" - url = "/status" + identifier = "contact" + name = "contact" + url = "/contact" + alt = "dotya.ml contact" + weight = 3 -# And you can even create generic menu -[menu] - [[menu.main]] - identifier = "about" - name = "about" - url = "/about" - [[menu.main]] - identifier = "" - name = "" - url = "#" +[privacy] +[privacy.disqus] +disable = true +[privacy.googleAnalytics] +disable = true +[privacy.instagram] +disable = true +[privacy.twitter] +disable = true +[privacy.vimeo] +disable = true +[privacy.youtube] +disable = true diff --git a/content/28bd2388.md b/content/28bd2388.md new file mode 100644 index 0000000..75004cc --- /dev/null +++ b/content/28bd2388.md @@ -0,0 +1,114 @@ +--- +title: "0x28bd2388" +date: 2020-03-07T16:22:03+01:00 +draft: false +--- + +```bash +-----BEGIN PGP PUBLIC KEY BLOCK----- + +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 +yeM11efP7Tnvf97HXMQTJP1FqaONAuFBG/TD +=80c5 +-----END PGP PUBLIC KEY BLOCK----- +``` diff --git a/content/about.md b/content/about.md new file mode 100644 index 0000000..60695b6 --- /dev/null +++ b/content/about.md @@ -0,0 +1,11 @@ +--- +title: "about dotya.ml" +date: 2020-03-07T02:12:03+01:00 +draft: false +--- + +Free services provided for fun as a hobby. So far we have [gitea](https://git.dotya.ml) and a [drone](https://drone.dotya.ml) ci/cd instance. + +You can see the current status [here](/status). + +## [contact](/contact) diff --git a/content/about/index.md b/content/about/index.md deleted file mode 100644 index 46111b4..0000000 --- a/content/about/index.md +++ /dev/null @@ -1,3 +0,0 @@ -# about dotya.ml - -Free services provided for fun as a hobby. So far we have [gitea](https://git.dotya.ml) and a [drone](https://drone.dotya.ml) ci/cd instance. diff --git a/content/contact.md b/content/contact.md new file mode 100644 index 0000000..2740212 --- /dev/null +++ b/content/contact.md @@ -0,0 +1,53 @@ +--- +title: "contact" +date: 2020-03-07T01:53:03+01:00 +draft: false +--- +\-- wanderer + +## e-mail + +``` +< a_mirre AT utb DOT cz > +``` + +## gpg + +#### fingerprint: + +```bash +E860 AB3C D007 8D30 E86C DA74 7B28 D8DC 28BD 2388 +``` + +the corresponding pubkey: [0x28bd2388](/28bd2388)\ +always **verify** that the fingerprint matches the one on this page + +```bash +$ curl -sS https://dotya.ml/store/28bd2388.asc | gpg - +``` + +you can then import the [key](/store/0x28bd2388.asc) to your keyring, like so + +```bash +$ curl -sS https://dotya.ml/28bd2388.asc | gpg --import - +``` + +communication using gpg is *preferable* + +## Privacy policy + +Since I don't like such practices myself, this site *does* **not** collect +*any* kind of user/browser/device/user agent/network identifier, +which - for simplicity's sake is - ANY data.\ +Period.\ +No IP addresses are stored, no user +agents logged, no cookies are used to identify users. + +Therefore **no data is collected** and can't be passed on to third parties, +nor is there any intention of ever doing so. + +## Long live the libre world! + +Feel at home.\ +Cheers. + diff --git a/content/status.md b/content/status.md new file mode 100644 index 0000000..6d2a546 --- /dev/null +++ b/content/status.md @@ -0,0 +1,11 @@ +--- +title: "dotya.ml status" +date: 2020-03-07T02:13:07+01:00 +draft: false +--- + +Any information regarding status of the site and services will be posted here. + +* HTTP headers insight as per [Mozilla HTTP Observatory](https://observatory.mozilla.org/analyze/dotya.ml) + +* SSL Labs [TLS rating](https://www.ssllabs.com/ssltest/analyze.html?d=dotya.ml) diff --git a/content/status/index.md b/content/status/index.md deleted file mode 100644 index 7f71608..0000000 --- a/content/status/index.md +++ /dev/null @@ -1,4 +0,0 @@ -# dotya.ml status - -![Mozilla HTTP Observatory Grade](https://img.shields.io/mozilla-observatory/grade/dotya.ml) -Any information regarding status of the site and services will be posted here. diff --git a/layouts/partials/footer.html b/layouts/partials/footer.html deleted file mode 100644 index 2a8e157..0000000 --- a/layouts/partials/footer.html +++ /dev/null @@ -1,24 +0,0 @@ - \ No newline at end of file diff --git a/layouts/partials/svg.html b/layouts/partials/svg.html new file mode 100644 index 0000000..111049b --- /dev/null +++ b/layouts/partials/svg.html @@ -0,0 +1,50 @@ +{{- if (eq .name "codepen") -}} + +{{- else if (eq .name "facebook") -}} + +{{- else if (eq .name "gitea") -}} + xmlns="http://www.w3.org/2000/svg">gitea +{{- else if (eq .name "dockerhub") -}} +dockehub + +{{- else if (eq .name "github") -}} + +{{- else if (eq .name "gitlab") -}} + +{{- else if (eq .name "instagram") -}} + +{{- else if (eq .name "linkedin") -}} + +{{- else if (eq .name "slack") -}} + +{{- else if (eq .name "stackoverflow") -}} + +{{- else if (eq .name "telegram") -}} + +{{- else if (eq .name "twitch") -}} + +{{- else if (eq .name "twitter") -}} + +{{- else if (eq .name "youtube") -}} + +{{- else if (eq .name "email") -}} + +{{- else if (eq .name "dribbble") -}} + +{{- else if (eq .name "behance") -}} + +{{- else if (eq .name "freepik") -}} + +{{- else if (eq .name "adobestock") -}} + +{{- else if (eq .name "shutterstock") -}} + +{{- else if (eq .name "123rf") -}} + +{{- else if (eq .name "dreamstime") -}} + +{{- else if (eq .name "paypal") -}} + +{{- else -}} + +{{- end -}} diff --git a/static/docker.svg b/static/docker.svg new file mode 100644 index 0000000..576c90c --- /dev/null +++ b/static/docker.svg @@ -0,0 +1 @@ +Docker icon diff --git a/static/gitea.svg b/static/gitea.svg new file mode 100644 index 0000000..0fd0e0b --- /dev/null +++ b/static/gitea.svg @@ -0,0 +1 @@ +Gitea icon \ No newline at end of file diff --git a/static/store/0x28bd2388.asc b/static/store/0x28bd2388.asc new file mode 100644 index 0000000..75241a4 --- /dev/null +++ b/static/store/0x28bd2388.asc @@ -0,0 +1,106 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- + +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 +yeM11efP7Tnvf97HXMQTJP1FqaONAuFBG/TD +=80c5 +-----END PGP PUBLIC KEY BLOCK----- diff --git a/themes/hello-friend-ng b/themes/hello-friend-ng deleted file mode 160000 index b2f7b9e..0000000 --- a/themes/hello-friend-ng +++ /dev/null @@ -1 +0,0 @@ -Subproject commit b2f7b9eabfcb59a8f0d16c529a6b53d82248e6c2 diff --git a/themes/hermit b/themes/hermit new file mode 160000 index 0000000..fc2dea0 --- /dev/null +++ b/themes/hermit @@ -0,0 +1 @@ +Subproject commit fc2dea04366bc3416aa1f35bbfa860d7843b0ca7