diff --git a/.gitmodules b/.gitmodules deleted file mode 100644 index e69de29..0000000 diff --git a/html-only/hugo.yaml b/html-only/hugo.yaml index d0508d1..c857b00 100644 --- a/html-only/hugo.yaml +++ b/html-only/hugo.yaml @@ -1,7 +1,6 @@ baseURL: "https://avinal.space/" languageCode: en-us title: Avinal's blog -theme: hugo-texify2 sitename: "Avinal's blog" enableRobotsTXT: true @@ -12,6 +11,10 @@ module: excludeFile: posts.json - source: "../static/images/" target: "static/images" + - source: "./static/css" + target: "static/css" + - source: "./static/font" + target: "static/font" markup: highlight: @@ -27,6 +30,11 @@ params: twitter: "@Avinal_" enableDuckDuckGoSearchBox: false toc: true + dateFormat: "January 2, 2006" + rootFontSize: "120%" + showWordCount: true + showReadingTime: true + emphasisWithDots: true self: name: Avinal Kumar link: https://avinal.space/pages/about-me diff --git a/html-only/layouts/LICENSE b/html-only/layouts/LICENSE new file mode 100644 index 0000000..ee25c68 --- /dev/null +++ b/html-only/layouts/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2021 Pavel Sapezhka + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/html-only/layouts/_default/baseof.html b/html-only/layouts/_default/baseof.html new file mode 100644 index 0000000..f6992f1 --- /dev/null +++ b/html-only/layouts/_default/baseof.html @@ -0,0 +1,83 @@ + + + + + + + + + + + + {{ if .Description }} + + {{ else if and .IsPage .Summary }} + + {{ else }} + + {{ end }} + + + + + + + + {{ if .Keywords }} + + {{ else }} + + {{ end }} + + + + {{ template "_internal/opengraph.html" . }} + + + + + + + {{ range .AlternativeOutputFormats -}} + {{ printf ` + ` .Rel .MediaType.Type .Permalink $.Site.Title | safeHTML }} + {{ end -}} + + + {{ template "_internal/schema.html" . }} + + + + + + + + {{ if .IsHome }} + {{ .Site.Title }} + {{ else }} + {{ .Title }} | {{ .Site.Title }} + {{ end }} + + {{ block "head" . }}{{ end }} + + + +
+ {{ partial "header.html" . }} + {{ block "main" . }}{{ end }} + {{ partial "footer.html" . }} +
+ + + {{ range .Site.Params.customCSS }} + + {{ end }} + + + {{ range .Site.Params.customJS }} + + {{ end }} + + + + \ No newline at end of file diff --git a/html-only/layouts/_default/list.html b/html-only/layouts/_default/list.html new file mode 100644 index 0000000..73764c8 --- /dev/null +++ b/html-only/layouts/_default/list.html @@ -0,0 +1,25 @@ +{{ define "head" }} + +{{ end }} + +{{ define "main" }} +
+ {{ $pages := where .Data.Pages "Type" "post" }} + {{ range $pages.GroupByDate "2006-01" }} +
+

{{ dateFormat "January 2006" (printf "%s-01" .Key) }}

+ +
+ {{ end }} +
+

...

+
+
+{{ end }} diff --git a/html-only/layouts/_default/single.html b/html-only/layouts/_default/single.html new file mode 100644 index 0000000..7b09722 --- /dev/null +++ b/html-only/layouts/_default/single.html @@ -0,0 +1,28 @@ +{{ define "head" }} + +{{ end }} + +{{ define "main" }} +
+ + {{ if cond (ne .Params.toc nil) .Params.toc .Site.Params.toc }} + {{ if ne .TableOfContents "" }} +
+ + Table of Contents + +
{{ .TableOfContents }}
+
+ {{ end }} + {{ end }} +
+ {{ if .Site.Params.emphasisWithDots }} + {{ .Content | replaceRE "(\\p{Han}+?)" "$1" | safeHTML }} + {{ else }} + {{ .Content }} + + {{ end }} +
+ +
+{{ end }} \ No newline at end of file diff --git a/html-only/layouts/_default/sitemap.xml b/html-only/layouts/_default/sitemap.xml new file mode 100644 index 0000000..c88e8ea --- /dev/null +++ b/html-only/layouts/_default/sitemap.xml @@ -0,0 +1,17 @@ +{{ printf "" | safeHTML }} + + {{ range .Data.Pages }} + {{- if .Permalink -}} + + https://null.avinal.space{{ .RelPermalink }}{{ if not .Lastmod.IsZero }} + {{ safeHTML ( .Lastmod.Format "2006-01-02T15:04:05-07:00" ) }}{{ end }}{{ with .Sitemap.ChangeFreq }} + {{ . }}{{ end }}{{ if ge .Sitemap.Priority 0.0 }} + {{ .Sitemap.Priority }}{{ end }} + + https://null.avinal.space{{ .Params.image }} + + + {{- end -}} + {{ end }} + \ No newline at end of file diff --git a/html-only/layouts/index.html b/html-only/layouts/index.html new file mode 100644 index 0000000..7c400d8 --- /dev/null +++ b/html-only/layouts/index.html @@ -0,0 +1,60 @@ +{{ define "head" }} + +{{ end }} + +{{ define "main" }} +
+ {{ $paginator := .Paginate (where .Site.RegularPages "Type" "==" "post") }} + {{ range $paginator.Pages }} +
+

+ {{ .Title }} +
+ {{ if .Site.Params.showWordCount }} + {{ .WordCount }} words + {{ end }} + + {{ if gt .ReadingTime 1 }} + {{ .Scratch.Set "timeUnit" "mins" }} + {{ else }} + {{ .Scratch.Set "timeUnit" "min" }} + {{ end }} + {{ if .Site.Params.showReadingTime }} + ~{{.ReadingTime}} {{ .Scratch.Get "timeUnit" }} + {{ end }} + + +
+

+ {{ if ne .Params.tags nil }} +
+ {{ range .Params.tags }} + #{{ . }} + {{ end }} +
+ {{ end }} +
+ {{ if .Site.Params.emphasisWithDots }} + {{ .Summary | replaceRE "(\\p{Han}+?)" "$1" | safeHTML }} + {{ else }} + {{ .Summary }} + {{ end }} +
+
+ {{ end }} + {{ if or $paginator.HasPrev $paginator.HasNext}} +
+ {{ if $paginator.HasPrev }} + ← prev + {{ else }} + + {{ end }} + {{ if $paginator.HasNext }} + next → + {{ else }} + + {{ end }} +
+ {{ end }} +
+{{ end }} diff --git a/html-only/layouts/partials/footer.html b/html-only/layouts/partials/footer.html new file mode 100644 index 0000000..6c3fc0c --- /dev/null +++ b/html-only/layouts/partials/footer.html @@ -0,0 +1,13 @@ + \ No newline at end of file diff --git a/html-only/layouts/partials/header.html b/html-only/layouts/partials/header.html new file mode 100644 index 0000000..34aa993 --- /dev/null +++ b/html-only/layouts/partials/header.html @@ -0,0 +1,47 @@ +{{ $parsedUrl := urls.Parse .Site.BaseURL }} +{{ $domain := $parsedUrl.Host }} +{{ $domainWithoutWWW := replace $domain "www." "" }} + \ No newline at end of file diff --git a/html-only/layouts/robots.txt b/html-only/layouts/robots.txt new file mode 100644 index 0000000..e89778e --- /dev/null +++ b/html-only/layouts/robots.txt @@ -0,0 +1,2 @@ +User-agent: * +Sitemap: {{ "sitemap.xml" | absURL }} diff --git a/html-only/static/css/common.css b/html-only/static/css/common.css new file mode 100644 index 0000000..945f82e --- /dev/null +++ b/html-only/static/css/common.css @@ -0,0 +1,258 @@ +/* fonts */ + +@font-face { + font-display: swap; + font-family: 'Latin Modern Mono'; + font-style: normal; + font-weight: bold; + src: url('../font/lmmono-bold.woff'); +} + +@font-face { + font-display: swap; + font-family: 'Latin Modern Mono'; + font-style: italic; + font-weight: bold; + src: url('../font/lmmono-bolditalic.woff'); +} + +@font-face { + font-display: swap; + font-family: 'Latin Modern Mono'; + font-style: italic; + font-weight: normal; + src: url('../font/lmmono-italic.woff'); +} + +@font-face { + font-display: swap; + font-family: 'Latin Modern Mono'; + font-style: normal; + font-weight: normal; + src: url('../font/lmmono-normal.woff'); +} + +@font-face { + font-display: swap; + font-family: 'Latin Modern Roman'; + font-style: normal; + font-weight: bold; + src: url('../font/lmroman-bold.woff'); +} + +@font-face { + font-display: swap; + font-family: 'Latin Modern Roman'; + font-style: italic; + font-weight: bold; + src: url('../font/lmroman-bolditalic.woff'); +} + +@font-face { + font-display: swap; + font-family: 'Latin Modern Roman'; + font-style: italic; + font-weight: normal; + src: url('../font/lmroman-italic.woff'); +} + +@font-face { + font-display: swap; + font-family: 'Latin Modern Roman'; + font-style: normal; + font-weight: normal; + src: url('../font/lmroman-normal.woff'); +} + +/* global */ + +* { + box-sizing: border-box; + margin: 0; + padding: 0; +} + +a { + color: inherit; + text-decoration: none; +} + +time { + color: gray; + margin-left: 1rem; + min-width: 5rem; +} + +#wrapper { + background-color: #FAFAFA; + display: flex; + flex-direction: column; + font-family: 'Latin Modern Roman', 'Times New Roman', serif; + min-height: 100vh; + overflow-wrap: break-word; + padding: 1rem; +} + +.link { + color: #AA0000; + text-decoration: underline; +} + +.paginator { + align-items: flex-end; + display: flex; + flex-direction: row; + justify-content: space-between; + margin-top: 2rem; +} + +::-webkit-scrollbar { + background-color: #FAFAFA; + height: 8px; + width: 8px; +} + +::-webkit-scrollbar-thumb { + background-color: #AAAAAA; +} + +::-webkit-scrollbar-thumb:hover { + background-color: #888888; +} + +/* header */ + +#header { + align-items: center; + display: flex; + flex-direction: column; +} + +#header>h1 { + text-align: center; + max-width: 768px; + overflow-wrap: break-word; +} + +#header img, +#header nav { + max-width: 768px; + margin-left: auto; + margin-right: auto; +} + +@media screen and (min-width: 768px) { + #header>h1 { + font-size: 2.5rem; + } +} + +#header>nav { + display: flex; + flex-direction: row; + justify-content: space-around; + flex-wrap: wrap; + max-width: 768px; + width: 100%; +} + +#header>nav>span>a { + font-size: 1.2rem; +} + +#header>div>p { + text-align: center; + max-width: 768px; + overflow-wrap: break-word; + border-style: solid; + border-color: #AA0000; + border-width: 2px; + margin-bottom: 1rem; + padding-left: 5px; + padding-right: 5px +} + +#header>h2 { + align-items: center; + display: flex; + flex-direction: row; + justify-content: space-between; + flex-wrap: wrap; +} + +#header>h2>div { + align-items: center; + display: flex; + flex-direction: row; + justify-content: flex-start; +} + +#header>h2>div>time { + font-size: 1rem; + font-weight: normal; + justify-self: flex-end; + margin-left: 0.5rem +} + +#header>h2>div>span { + font-size: 1rem; + font-weight: normal; + color: gray; + margin-left: 0.5rem +} + +/* main */ + +#main { + align-self: center; + display: flex; + flex-direction: column; + flex-grow: 1; + max-width: 768px; + padding: 2rem 0; + width: calc(100% - 2rem); +} + +/* footer */ + +#footer { + align-items: center; + display: flex; + font-size: .9rem; + flex-direction: column; + ; +} + +#footer>.footnote { + text-align: center; +} + +#footer>nav { + display: flex; + flex-direction: row; + justify-content: space-around; + flex-wrap: wrap; + max-width: 768px; + width: 100%; +} + +#sharingbuttons { + align-items: center; + display: flex; + flex-direction: row; + justify-content: space-between; + margin-top: 1rem; + flex-wrap: wrap; +} + +#searchbox { + align-items: center; + display: flex; + flex-direction: row; + justify-content: space-between; + margin-top: 1rem; +} + +#searchbox>#search>input { + font-size: 1.2rem; +} \ No newline at end of file diff --git a/html-only/static/css/content.css b/html-only/static/css/content.css new file mode 100644 index 0000000..42b48e3 --- /dev/null +++ b/html-only/static/css/content.css @@ -0,0 +1,231 @@ +.content .MathJax { + font-size: 100%!important; + overflow-x: auto; + overflow-y: hidden; +} + +.content .katex { + font-size: 100%!important; + overflow-x: auto; + overflow-y: hidden; +} + +.content :last-child { + margin-bottom: 0; +} + +.content a { + color: #AA0000; + text-decoration: underline; +} + +.content a.footnote-ref::before { + content: "["; +} + +.content a.footnote-ref::after { + content: "]"; +} + +.content blockquote, +.content div, +.content h1, +.content h2, +.content h3, +.content h4, +.content h5, +.content h6, +.content p, +.content pre, +.content ol, +.content table, +.content ul { + margin-bottom: 1rem; +} + +.content blockquote { + border-left: black 2px solid; + font-style: italic; + padding: 1rem 0 1rem 2rem; +} + +.content code { + background-color: #F5F5F5; + border-radius: .2rem; + color: #AA0000; + font-family: 'Latin Modern Mono', Courier, monospace; + padding: 0 .2rem; +} + +.content h1, .content h2, .content h3, +.content h4, .content h5, .content h6 { + line-height: 1.5; +} + +.content h1 { + font-size: 2.4rem; +} + +.content h2 { + font-size: 1.8rem; +} + +.content h3 { + font-size: 1.4rem; +} + +.content h4 { + font-size: 1.2rem; +} + +.content h5 { + font-size: 1.1rem; +} + +.content h6 { + font-size: 1rem; +} + +.content img { + max-width: 100%; +} + +.content p { + text-align: justify; +} + +.content pre { + background-color: #F5F5F5!important; + border-radius: .2rem; + font-family: 'Latin Modern Mono', Courier, monospace; + margin-top: .5rem; + overflow-x: auto; + padding: .5rem; +} + +.content pre code { + padding: 0; +} + +.content strong.chinese { + font-weight: normal; + text-emphasis-style: dot; + text-emphasis-position: under; + -webkit-text-emphasis-style: dot; + -webkit-text-emphasis-position: under; +} + +.content table { + display: block; + overflow-x: auto; +} + +.content td, .content th { + border: #575C61 1px solid; + padding: .1rem .5rem; +} + +.content th { + background-color: #575C61; + color: #FAFAFA; +} + +.content ol, .content ul { + margin-left: 1.5rem; +} + +.content.numbered-subtitles { + counter-reset: section-h2; +} + +.content.numbered-subtitles h2 { + counter-reset: section-h3; +} + +.content.numbered-subtitles h2:before { + counter-increment: section-h2; + content: counter(section-h2) " "; +} + +.content.numbered-subtitles h3 { + counter-reset: section-h4; +} + +.content.numbered-subtitles h3:before { + counter-increment: section-h3; + content: counter(section-h2) "." counter(section-h3) " "; +} + +.content.numbered-subtitles h4 { + counter-reset: section-h5; +} + +.content.numbered-subtitles h4:before { + counter-increment: section-h4; + content: counter(section-h2) "." counter(section-h3) "." counter(section-h4) " "; +} + +.content.numbered-subtitles h5 { + counter-reset: section-h6; +} + +.content.numbered-subtitles h5:before { + counter-increment: section-h5; + content: counter(section-h2) "." counter(section-h3) "." counter(section-h4) "." counter(section-h5) " "; +} + +.content.numbered-subtitles h6:before { + counter-increment: section-h6; + content: counter(section-h2) "." counter(section-h3) "." counter(section-h4) "." counter(section-h5) "." counter(section-h6) " "; +} + + + + + + + +.toc.numbered-subtitles { + counter-reset: ul-h2; +} + +.toc.numbered-subtitles li { + counter-reset: ul-h3; +} + +.toc.numbered-subtitles li:before { + counter-increment: ul-h2; + content: counter(ul-h2) " "; +} + +.toc.numbered-subtitles li li { + counter-reset: ul-h4; +} + +.toc.numbered-subtitles li li:before { + counter-increment: ul-h3; + content: counter(ul-h2) "." counter(ul-h3) " "; +} + +.toc.numbered-subtitles li li li { + counter-reset: ul-h5; +} + +.toc.numbered-subtitles li li li:before { + counter-increment: ul-h4; + content: counter(ul-h2) "." counter(ul-h3) "." counter(ul-h4) " "; +} + +.toc.numbered-subtitles li li li li { + counter-reset: ul-h6; +} + +.toc.numbered-subtitles li li li li:before { + counter-increment: ul-h5; + content: counter(ul-h2) "." counter(ul-h3) "." counter(ul-h4) "." counter(ul-h5) " "; +} + +.toc.numbered-subtitles li li li li li:before { + counter-increment: ul-h6; + content: counter(ul-h2) "." counter(ul-h3) "." counter(ul-h4) "." counter(ul-h5) "." counter(ul-h6) " "; +} diff --git a/html-only/static/css/index.css b/html-only/static/css/index.css new file mode 100644 index 0000000..51898f7 --- /dev/null +++ b/html-only/static/css/index.css @@ -0,0 +1,41 @@ +#main > .post + .post { + margin-top: 2rem; +} + +#main > .post > h2 { + align-items: center; + display: flex; + flex-direction: row; + justify-content: space-between; + flex-wrap: wrap; +} + +#main > .post > h2 > div { + align-items: center; + display: flex; + flex-direction: row; + justify-content: flex-end; +} + +#main > .post > h2 > div > time { + font-size: 1rem; + font-weight: normal; + justify-self: flex-end; +} + +#main > .post > h2 > div > span { + font-size: 1rem; + font-weight: normal; + color: gray; + margin-left: 1rem; +} + +#main > .post > .content { + padding-top: 1rem; +} + +@media screen and (min-width: 768px) { + #main > .post > div { + margin-left: 2rem; + } +} diff --git a/html-only/static/css/single.css b/html-only/static/css/single.css new file mode 100644 index 0000000..50380c7 --- /dev/null +++ b/html-only/static/css/single.css @@ -0,0 +1,40 @@ +#main > h1 { + text-align: center; +} + +#main > .content { + padding-top: 1rem; +} + +#main > .warning { + background-color: brown; + color: white; + font-size: 1.1rem; + margin: 2rem 0; + padding: 1rem 0; + text-align: center; +} + +#main .toc { + background-color: #EEEEEE; + border: black 1px dashed; + display: inline-block; + margin: 1rem; + padding: .5rem 1rem; +} + +#main .toc a:hover { + text-decoration: underline; +} + +#main .toc li > ul { + margin-left: 1.5rem; +} + +#main .toc ul { + list-style: none; +} + +#main :target { + background-color: azure; +} diff --git a/html-only/static/font/GUST e-foundry License.txt b/html-only/static/font/GUST e-foundry License.txt new file mode 100644 index 0000000..e7f0068 --- /dev/null +++ b/html-only/static/font/GUST e-foundry License.txt @@ -0,0 +1,29 @@ +This is a preliminary version (2006-09-30), barring acceptance from +the LaTeX Project Team and other feedback, of the GUST Font License. +(GUST is the Polish TeX Users Group, http://www.gust.org.pl) + +For the most recent version of this license see +http://www.gust.org.pl/fonts/licenses/GUST-FONT-LICENSE.txt +or +http://tug.org/fonts/licenses/GUST-FONT-LICENSE.txt + +This work may be distributed and/or modified under the conditions +of the LaTeX Project Public License, either version 1.3c of this +license or (at your option) any later version. + +Please also observe the following clause: +1) it is requested, but not legally required, that derived works be + distributed only after changing the names of the fonts comprising this + work and given in an accompanying "manifest", and that the + files comprising the Work, as listed in the manifest, also be given + new names. Any exceptions to this request are also given in the + manifest. + + We recommend the manifest be given in a separate file named + MANIFEST-.txt, where is some unique identification + of the font family. If a separate "readme" file accompanies the Work, + we recommend a name of the form README-.txt. + +The latest version of the LaTeX Project Public License is in +http://www.latex-project.org/lppl.txt and version 1.3c or later +is part of all distributions of LaTeX version 2006/05/20 or later. diff --git a/html-only/static/font/lmmono-bold.woff b/html-only/static/font/lmmono-bold.woff new file mode 100644 index 0000000..fadab70 Binary files /dev/null and b/html-only/static/font/lmmono-bold.woff differ diff --git a/html-only/static/font/lmmono-boldoblique.woff b/html-only/static/font/lmmono-boldoblique.woff new file mode 100644 index 0000000..5817b04 Binary files /dev/null and b/html-only/static/font/lmmono-boldoblique.woff differ diff --git a/html-only/static/font/lmmono-italic.woff b/html-only/static/font/lmmono-italic.woff new file mode 100644 index 0000000..eff75dc Binary files /dev/null and b/html-only/static/font/lmmono-italic.woff differ diff --git a/html-only/static/font/lmmono-normal.woff b/html-only/static/font/lmmono-normal.woff new file mode 100644 index 0000000..be21f2b Binary files /dev/null and b/html-only/static/font/lmmono-normal.woff differ diff --git a/html-only/static/font/lmroman-bold.woff b/html-only/static/font/lmroman-bold.woff new file mode 100644 index 0000000..0f32de0 Binary files /dev/null and b/html-only/static/font/lmroman-bold.woff differ diff --git a/html-only/static/font/lmroman-bolditalic.woff b/html-only/static/font/lmroman-bolditalic.woff new file mode 100644 index 0000000..ec56ba8 Binary files /dev/null and b/html-only/static/font/lmroman-bolditalic.woff differ diff --git a/html-only/static/font/lmroman-italic.woff b/html-only/static/font/lmroman-italic.woff new file mode 100644 index 0000000..8d7ab16 Binary files /dev/null and b/html-only/static/font/lmroman-italic.woff differ diff --git a/html-only/static/font/lmroman-normal.woff b/html-only/static/font/lmroman-normal.woff new file mode 100644 index 0000000..a80d87d Binary files /dev/null and b/html-only/static/font/lmroman-normal.woff differ