From 5b9dd6e46b26abaadf60850b540fdc797423ae88 Mon Sep 17 00:00:00 2001 From: "Daniel J. Summers" Date: Mon, 6 Jun 2022 21:55:40 -0400 Subject: [PATCH] v1 theme --- LICENSE | 121 +++++++++++++ src/index.liquid | 84 ++++++++++ src/layout-partial.liquid | 16 ++ src/layout.liquid | 151 +++++++++++++++++ src/single-page.liquid | 6 + src/single-post.liquid | 77 +++++++++ src/version.txt | 2 + src/wwwroot/csurams.png | Bin 0 -> 20239 bytes src/wwwroot/djs.js | 18 ++ src/wwwroot/style.css | 345 ++++++++++++++++++++++++++++++++++++++ src/wwwroot/tennessee.png | Bin 0 -> 756 bytes 11 files changed, 820 insertions(+) create mode 100644 LICENSE create mode 100644 src/index.liquid create mode 100644 src/layout-partial.liquid create mode 100644 src/layout.liquid create mode 100644 src/single-page.liquid create mode 100644 src/single-post.liquid create mode 100644 src/version.txt create mode 100644 src/wwwroot/csurams.png create mode 100644 src/wwwroot/djs.js create mode 100644 src/wwwroot/style.css create mode 100644 src/wwwroot/tennessee.png diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..0e259d4 --- /dev/null +++ b/LICENSE @@ -0,0 +1,121 @@ +Creative Commons Legal Code + +CC0 1.0 Universal + + CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE + LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN + ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS + INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES + REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS + PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM + THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED + HEREUNDER. + +Statement of Purpose + +The laws of most jurisdictions throughout the world automatically confer +exclusive Copyright and Related Rights (defined below) upon the creator +and subsequent owner(s) (each and all, an "owner") of an original work of +authorship and/or a database (each, a "Work"). + +Certain owners wish to permanently relinquish those rights to a Work for +the purpose of contributing to a commons of creative, cultural and +scientific works ("Commons") that the public can reliably and without fear +of later claims of infringement build upon, modify, incorporate in other +works, reuse and redistribute as freely as possible in any form whatsoever +and for any purposes, including without limitation commercial purposes. +These owners may contribute to the Commons to promote the ideal of a free +culture and the further production of creative, cultural and scientific +works, or to gain reputation or greater distribution for their Work in +part through the use and efforts of others. + +For these and/or other purposes and motivations, and without any +expectation of additional consideration or compensation, the person +associating CC0 with a Work (the "Affirmer"), to the extent that he or she +is an owner of Copyright and Related Rights in the Work, voluntarily +elects to apply CC0 to the Work and publicly distribute the Work under its +terms, with knowledge of his or her Copyright and Related Rights in the +Work and the meaning and intended legal effect of CC0 on those rights. + +1. Copyright and Related Rights. A Work made available under CC0 may be +protected by copyright and related or neighboring rights ("Copyright and +Related Rights"). Copyright and Related Rights include, but are not +limited to, the following: + + i. the right to reproduce, adapt, distribute, perform, display, + communicate, and translate a Work; + ii. moral rights retained by the original author(s) and/or performer(s); +iii. publicity and privacy rights pertaining to a person's image or + likeness depicted in a Work; + iv. rights protecting against unfair competition in regards to a Work, + subject to the limitations in paragraph 4(a), below; + v. rights protecting the extraction, dissemination, use and reuse of data + in a Work; + vi. database rights (such as those arising under Directive 96/9/EC of the + European Parliament and of the Council of 11 March 1996 on the legal + protection of databases, and under any national implementation + thereof, including any amended or successor version of such + directive); and +vii. other similar, equivalent or corresponding rights throughout the + world based on applicable law or treaty, and any national + implementations thereof. + +2. Waiver. To the greatest extent permitted by, but not in contravention +of, applicable law, Affirmer hereby overtly, fully, permanently, +irrevocably and unconditionally waives, abandons, and surrenders all of +Affirmer's Copyright and Related Rights and associated claims and causes +of action, whether now known or unknown (including existing as well as +future claims and causes of action), in the Work (i) in all territories +worldwide, (ii) for the maximum duration provided by applicable law or +treaty (including future time extensions), (iii) in any current or future +medium and for any number of copies, and (iv) for any purpose whatsoever, +including without limitation commercial, advertising or promotional +purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each +member of the public at large and to the detriment of Affirmer's heirs and +successors, fully intending that such Waiver shall not be subject to +revocation, rescission, cancellation, termination, or any other legal or +equitable action to disrupt the quiet enjoyment of the Work by the public +as contemplated by Affirmer's express Statement of Purpose. + +3. Public License Fallback. Should any part of the Waiver for any reason +be judged legally invalid or ineffective under applicable law, then the +Waiver shall be preserved to the maximum extent permitted taking into +account Affirmer's express Statement of Purpose. In addition, to the +extent the Waiver is so judged Affirmer hereby grants to each affected +person a royalty-free, non transferable, non sublicensable, non exclusive, +irrevocable and unconditional license to exercise Affirmer's Copyright and +Related Rights in the Work (i) in all territories worldwide, (ii) for the +maximum duration provided by applicable law or treaty (including future +time extensions), (iii) in any current or future medium and for any number +of copies, and (iv) for any purpose whatsoever, including without +limitation commercial, advertising or promotional purposes (the +"License"). The License shall be deemed effective as of the date CC0 was +applied by Affirmer to the Work. Should any part of the License for any +reason be judged legally invalid or ineffective under applicable law, such +partial invalidity or ineffectiveness shall not invalidate the remainder +of the License, and in such case Affirmer hereby affirms that he or she +will not (i) exercise any of his or her remaining Copyright and Related +Rights in the Work or (ii) assert any associated claims and causes of +action with respect to the Work, in either case contrary to Affirmer's +express Statement of Purpose. + +4. Limitations and Disclaimers. + + a. No trademark or patent rights held by Affirmer are waived, abandoned, + surrendered, licensed or otherwise affected by this document. + b. Affirmer offers the Work as-is and makes no representations or + warranties of any kind concerning the Work, express, implied, + statutory or otherwise, including without limitation warranties of + title, merchantability, fitness for a particular purpose, non + infringement, or the absence of latent or other defects, accuracy, or + the present or absence of errors, whether or not discoverable, all to + the greatest extent permissible under applicable law. + c. Affirmer disclaims responsibility for clearing rights of other persons + that may apply to the Work or any use thereof, including without + limitation any person's Copyright and Related Rights in the Work. + Further, Affirmer disclaims responsibility for obtaining any necessary + consents, permissions or other rights required for any use of the + Work. + d. Affirmer understands and acknowledges that Creative Commons is not a + party to this document and has no duty or obligation with respect to + this CC0 or use of the Work. diff --git a/src/index.liquid b/src/index.liquid new file mode 100644 index 0000000..72be39d --- /dev/null +++ b/src/index.liquid @@ -0,0 +1,84 @@ +
+ {% if is_category or is_tag %} +

{{ page_title }}

+ {%- if subtitle %} +

{{ subtitle }}

+ {%- endif %} + {% endif %} + {%- for post in model.posts %} +
+

+ + {{ post.title }} + +

+ + {{ post.text }} +
+ {%- endfor %} + +
+ \ No newline at end of file diff --git a/src/layout-partial.liquid b/src/layout-partial.liquid new file mode 100644 index 0000000..0128a05 --- /dev/null +++ b/src/layout-partial.liquid @@ -0,0 +1,16 @@ + + + + + + {%- if is_home -%} + {{ web_log.name }}{% if web_log.subtitle %} | {{ web_log.subtitle.value }}{% endif %} + {%- else -%} + {{ page_title | strip_html }}{% if page_title and page_title != "" %} » {% endif %}{{ web_log.name }} + {%- endif -%} + + + + {{ content }} + + diff --git a/src/layout.liquid b/src/layout.liquid new file mode 100644 index 0000000..9b5091c --- /dev/null +++ b/src/layout.liquid @@ -0,0 +1,151 @@ + + + + + + + + {%- if is_home -%} + {{ web_log.name }}{% if web_log.subtitle %} | {{ web_log.subtitle.value }}{% endif %} + {%- else -%} + {{ page_title | strip_html }}{% if page_title and page_title != "" %} » {% endif %}{{ web_log.name }} + {%- endif -%} + + + + + + + {% page_head -%} + + + +

Loading...

+
{{ content }}
+ + + + {% page_foot %} + + diff --git a/src/single-page.liquid b/src/single-page.liquid new file mode 100644 index 0000000..5ed8652 --- /dev/null +++ b/src/single-page.liquid @@ -0,0 +1,6 @@ +
+
+

{{ page.title }}

+ {{ page.text }} +
+
diff --git a/src/single-post.liquid b/src/single-post.liquid new file mode 100644 index 0000000..e121f50 --- /dev/null +++ b/src/single-post.liquid @@ -0,0 +1,77 @@ +{%- assign post = model.posts | first -%} +
+
+

{{ post.title }}

+ +
{{ post.text }}
+ {%- assign cat_count = post.category_ids | size -%} + {% if cat_count > 0 -%} +

+ Categorized   + {% for cat_id in post.category_ids -%} + {% assign cat = categories | where: "id", cat_id | first %} + + + + {{ cat.name }} +     + + {%- endfor %} +

+ {%- endif %} + {%- assign tag_count = post.tags | size -%} + {% if tag_count > 0 -%} +

+ Tagged   + {% for tag in post.tags %} + +     + + {%- endfor %} +

+ {%- endif %} +
+
+ +
+
\ No newline at end of file diff --git a/src/version.txt b/src/version.txt new file mode 100644 index 0000000..1de3001 --- /dev/null +++ b/src/version.txt @@ -0,0 +1,2 @@ +Daniel J. Summers +1 \ No newline at end of file diff --git a/src/wwwroot/csurams.png b/src/wwwroot/csurams.png new file mode 100644 index 0000000000000000000000000000000000000000..c17fa2a0336b8445afeb57d9adcdb8833a78687a GIT binary patch literal 20239 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 z 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 Wms~tln0000 { + const votd = res.votd + const votdItem = document.querySelector('.votd-item') + votdItem.querySelector('.verse').innerHTML = votd.text + const reference = votdItem.querySelector('.votd-reference') + reference.href = votd.permalink.replace('&', '&') + const ref = votd.display_ref + const isPassage = ref.indexOf(',') >= 0 || ref.indexOf('-') >= 0 || ref.indexOf(';') >= 0 + if (isPassage) { + document.querySelector('.votd-heading').innerText = 'Passage of the Day' + } + reference.innerHTML = ref + votdItem.querySelector('.version-link').href = votd.copyrightlink.replace('&', '&').replace('&', '&') + votdItem.style.display = 'block' + } +} diff --git a/src/wwwroot/style.css b/src/wwwroot/style.css new file mode 100644 index 0000000..37b92e0 --- /dev/null +++ b/src/wwwroot/style.css @@ -0,0 +1,345 @@ +@import "https://fonts.googleapis.com/css?family=Quicksand|Oswald"; +:root { + --text-color: rgb(0, 0, 0); + --accent-color: rgb(21, 140, 186); + --bkg-color: rgb(68, 68, 68); + --hdr-text-color: hsl(0, 0%, 100%); + --hdr-bkg-color: hsl(0, 0%, 95%); + --item-bkg-color: hsl(0, 0%, 100%); + --overlay-bkg-color: rgba(0, 0, 0, .5) +} +@media ( prefers-color-scheme: dark ) { + :root { + --text-color: rgb(210, 210, 210); + --hdr-bkg-color: hsl(0, 0%, 7%); + --item-bkg-color: hsl(0, 0%, 12%); + --overlay-bgk-color: rgba(255, 255, 255, .2) + } +} +html { + background-color: var(--bkg-color); +} +body { + font-family: Quicksand, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; + font-size: 1.2rem; + background-color: var(--bkg-color); + margin: 0; + color: var(--text-color); +} +a:link, a:visited { + color: var(--accent-color); + text-decoration: none; +} +a:hover { + text-decoration: underline; +} + +h1, h2, h3, h4, p { + margin-top: 0; + margin-bottom: 1rem; +} +h1, h2, h3, h4 { + font-family: Oswald, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; +} +h1 { + font-size: 2rem; +} +h1 a:link, h1 a:visited { + color: var(--accent-color); +} +blockquote { + margin: 1rem 2rem 1rem 1rem; + border-left: solid 3px var(--accent-color); + padding-left: 1rem; +} +sup, sub { + font-size: smaller; +} +sup { + vertical-align: text-top; +} +sub { + vertical-align: baseline; +} +main { + display: grid; + grid-template-columns: 1fr; + grid-template-rows: auto; +} +.content img { + max-width: 100%; + border-radius: 1rem; +} +.content img.flat { + border-radius: 0; +} + +/* ----- SITE HEADER ----- */ +.site-header p, footer.part-1 p { + margin-top: .8rem; + margin-right: 1.2rem; + color: var(--hdr-text-color); +} +.site-header p a:link, .site-header p a:visited { + font-size: 1rem; + color: var(--hdr-text-color); +} +.site-header { + min-height: 4rem; + padding: 0 .4rem; + margin-bottom: 1rem; + display: flex; + flex-flow: row wrap; + align-items: flex-end; + background-image: -webkit-gradient(linear, left top, left bottom, from(var(--accent-color)), to(var(--bkg-color))); + background-image: -webkit-linear-gradient(top, var(--accent-color), var(--bkg-color)); + background-image: -moz-linear-gradient(top, var(--accent-color), var(--bkg-color)); + background-image: linear-gradient(to bottom, var(--accent-color), var(--bkg-color)); +} +.site-header p { + margin: 0; +} +.site-header p a.nav-home { + font-family: Oswald, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; + font-weight: bold; + margin-left: .2rem; + color: var(--hdr-text-color); + font-size: 1.5rem; +} +.nav-spacer { + flex-grow: 1; +} + +/* ----- CONTENT STYLES ----- */ +.index-title { + color: var(--hdr-text-color); + border-bottom: solid 2px var(--accent-color); +} +.content { + max-width: 60rem; + margin: 0 auto auto; + padding: 0 .4rem; +} +.item { + border: solid 1px black; + border-radius: .5rem; + background-color: var(--item-bkg-color); + padding: .4rem; + margin-bottom: 1.2rem; +} +.item-heading { + margin: -.4rem -.4rem .4rem; + border-top-left-radius: .5rem; + border-top-right-radius: .5rem; + border-bottom: solid 1px darkgray; + padding-bottom: .2rem; + text-align: center; + color: var(--accent-color); + background-color: var(--hdr-bkg-color); +} +.post-meta { + display: flex; + flex-flow: row wrap; + justify-content: space-evenly; +} +.pager { + display: flex; + flex-flow: row wrap; + justify-content: space-between; + padding: 0; +} +.pager li { + list-style-type: none; + display: inline-block; +} + +/* ----- SIDEBAR STYLES ----- */ +.sidebar { + font-size: 1rem; +} +.votd-item { + display: none; +} +.votd-credits { + margin-top: 1rem; + text-align: right; +} +.cat-list { + padding-left: 0 +} +.cat-list ul { + padding-left: 1rem; +} +.cat-list li { + list-style-type: none; + padding-bottom: .25rem; +} +.cat-list ul li ul > li { + padding-top: .2rem; +} +.cat-list-count { + font-size: .8rem; + padding-left: .4rem; +} +.cat-list-count:before { + content: '('; +} +.cat-list-count:after { + content: ')'; +} + +/* ----- FOOTER STYLES ----- */ +footer.part-1 { + background-image: -webkit-gradient(linear, left top, left bottom, from(var(--bkg-color)), to(var(--accent-color))); + background-image: -webkit-linear-gradient(top, var(--bkg-color), var(--accent-color)); + background-image: -moz-linear-gradient(top, var(--bkg-color), var(--accent-color)); + background-image: linear-gradient(to bottom, var(--bkg-color), var(--accent-color)); + min-height: 2rem; + display: flex; + flex-flow: row wrap; + justify-content: space-around; + align-items: center; + padding-bottom: 1rem; +} +footer.part-2 { + display: flex; + flex-direction: row; + flex-wrap: wrap; + justify-content: space-around; + background-image: -webkit-gradient(linear, left top, left bottom, from(var(--accent-color)), to(var(--bkg-color))); + background-image: -webkit-linear-gradient(top, var(--accent-color), var(--bkg-color)); + background-image: -moz-linear-gradient(top, var(--accent-color), var(--bkg-color)); + background-image: linear-gradient(to bottom, var(--accent-color), var(--bkg-color)); + padding-bottom: .4rem; +} +footer.part-2 > div { + flex-basis: 30%; + min-width: 400px; +} +footer.part-2 sup { + line-height: 1; +} +footer.part-3 { + padding: 0 .4rem 1rem .4rem; + background-color: var(--bkg-color); +} +.copy, .copy a:link, .copy a:visited { + font-size: 1rem; + color: #dddddd; + text-decoration: none; +} +.copy a:hover { + text-decoration: underline; +} +.football-panel { + display: flex; + flex-flow: row nowrap; + justify-content: space-around; + align-items: center; +} +.football-panel div { + text-align: center; + line-height: 1.6rem; +} + +/* ----- UTILITY CLASSES ----- */ +.desktop { + display: none; +} +.float-left { + float: left; + padding-right: .5rem; +} +.float-right { + float: right; + padding-left: .5rem; +} +.small-caps { + font-variant: small-caps; +} +.text-center { + text-align: center; +} +.no-wrap { + white-space: nowrap; +} + +/* ----- OVERLAY ----- */ +.load-overlay { + position: fixed; + top: 4rem; + left: 1rem; + width: 50%; + height: 0; + z-index: 2000; + background-color: var(--overlay-bgk-color); + border-radius: 1rem; + animation: fadeOut .25s ease-in-out; + overflow: hidden; +} +.load-overlay h1 { + color: white; + background-color: rgba(0, 0, 0, .75); + margin: 1.5rem auto; + border-radius: 1rem; + width: 50%; + padding: 1rem; + text-align: center; +} +.load-overlay.htmx-request { + height: unset; + animation: fadeIn .25s ease-in-out; +} +@keyframes fadeIn { + 0% { + opacity: 0; + height: unset; + } + 100% { + opacity: 1; + height: unset; + } +} +@keyframes fadeOut { + 0% { + opacity: 1; + height: unset; + } + 99% { + opacity: 0; + height: unset; + } + 100% { + opacity: 0; + height: 0; + } +} + +/* ----- SCALE UP STYLES ----- */ +@media screen and ( min-width: 50rem ) { + main { + grid-template-columns: 1fr 16rem; + } + .desktop { + display: unset; + } + .mobile { + display: none; + } + .site-header p { + margin-inline-end: 1.2rem; + margin-bottom: 1rem; + } + .load-overlay { + width: 25%; + } + main > .single { + grid-column: 1 / -1; + } + .sidebar { + max-width: 15rem; + } + footer.part-2 { + grid-gap: 0; + } +} diff --git a/src/wwwroot/tennessee.png b/src/wwwroot/tennessee.png new file mode 100644 index 0000000000000000000000000000000000000000..d27d93cf62082447c9801231e16c681db51b889e GIT binary patch literal 756 zcmVPx#U{Fj{MgQHZ|DY28(~$qTPXDhr|FlE@t1SPb7XP$F|Idj3T)E|JIrRrz8K?nE$<6|DFy1|NsA) z08NfZEC2ui0d!JMQvg8b*k%9#00Cl4M??UK1szBL000SaNLh0L01FcU01FcV0GgZ_ z00007bV*G`2iFW97A+{d?Pg5?00IC>L_t(&L+zWXneih-^ zVuS*IIq~|-r}#CtiIR*!Q82Lh@Z_dbyb{Qaw6%9?NmeBkFC@^OP5S;|Ggf*~{}((_*UADAhYs z96T^B%f?hYJ2D!(4~ys##r6ie2CbhEJRN(W%yXtQei+zLuxStla|J2inQK=^b+cLO zbzT3&psnBqt=F`QsM!jh(dRc+RXDjc_Hjk^f>yf-aFCmB9&XL$yj9J@xt_mt@$9Mv mFFuYDLK7V<|GaTfEByui&-E@+?jv>p0000