diff --git a/src/books/books.json b/src/books/books.json new file mode 100644 index 0000000..946799c --- /dev/null +++ b/src/books/books.json @@ -0,0 +1,142 @@ +{ + "completed": { + "desc": "Individual books, series, and manga I read and enjoyed enough to keep in my collection", + "items": [ + { + "main": "I am a Strange Loop", + "sub": "Douglass R. Hofstadter", + "url": "https://openlibrary.org/works/OL8067922W/I_Am_a_Strange_Loop?edition=key%3A/books/OL24948194M" + }, + { + "main": "2001 a Space Odyssey (series)", + "sub": "Arthur C. Clarke", + "url": "https://openlibrary.org/books/OL18674505M/2001" + }, + { + "main": "Zeros and Ones", + "sub": "Sadie Plant", + "url": "https://openlibrary.org/works/OL937516W/Zeros_and_Ones" + }, + { + "main": "Xenofeminism", + "sub": "Helen Hester", + "url": "https://openlibrary.org/works/OL20586475W/Xenofeminism" + }, + { + "main": "Daodejing (Wang Pi's commentary)", + "sub": "Lao-Tzu", + "url": "https://openlibrary.org/works/OL26585958W/Translation_of_Lao-Tzu%27s_Tao_Te_Ching_and_Wang_Pi%27s_Commentary?edition=key%3A/books/OL37483524M" + }, + { + "main": "Groundwork for the Metaphysics of Morals", + "sub": "Immanuel Kant", + "url": "https://openlibrary.org/works/OL99843W/Grundlegung_zur_Metaphysik_der_Sitten" + }, + { + "main": "The Burn Journals", + "sub": "Brent Runyon", + "url": "https://openlibrary.org/works/OL8043765W/The_Burn_Journals" + }, + { + "main": "The Hitch Hikers Guide to the Galaxy (series)", + "sub": "Douglas Adams", + "url": "https://openlibrary.org/works/OL2163649W/The_Hitch_Hiker%27s_Guide_to_the_Galaxy?edition=key%3A/books/OL32838419M" + }, + { + "main": "Six of Crows (duology)", + "sub": "Leigh Bardugo", + "url": "https://openlibrary.org/works/OL17332479W/Six_of_Crows?edition=key%3A/books/OL32178549M" + }, + { + "main": "Berserk (series)", + "sub": "三浦建太郎", + "url": "https://openlibrary.org/works/OL8988597W/Berserk_Vol._1" + }, + { + "main": "Hunter x Hunter (series)", + "sub": "冨樫 義博", + "url": "https://openlibrary.org/works/OL8215148W/Hunter_x_Hunter_Volume_1" + } + ] + }, + "backlog": { + "desc": "Works sitting on my shelf right now waiting to be read", + "items": [ + { + "main": "Gödel, Escher, Bach", + "sub": "Douglas R. Hofstadter", + "url": "https://openlibrary.org/works/OL716850W/G%C3%B6del_Escher_Bach" + }, + { + "main": "Snow Crash", + "sub": "Neal Stephenson", + "url": "https://openlibrary.org/works/OL38501W/Snow_Crash" + }, + { + "main": "Dune", + "sub": "Frank Herbert", + "url": "https://openlibrary.org/works/OL893415W/Dune?edition=key%3A/books/OL26242482M" + }, + { + "main": "Catch 22", + "sub": "Joseph Heller", + "url": "https://openlibrary.org/works/OL29300587W/Catch_22" + }, + { + "main": "The End of History and the Last Man", + "sub": "Francis Fukuyama", + "url": "https://openlibrary.org/works/OL2670501W/The_End_of_History_and_the_Last_Man" + }, + { + "main": "Spiritual Writings", + "sub": "Søren Kierkegaard", + "url": "https://openlibrary.org/works/OL112700W/Provocations?edition=key%3A/books/OL3319828M" + }, + { + "main": "Gravity's Rainbow", + "sub": "Thomas Pynchon", + "url": "https://openlibrary.org/works/OL24784277W/Beyond_Good_and_Evil" + }, + { + "main": "Beyond Good and Evil", + "sub": "Friedrich Nietzsche", + "url": "https://openlibrary.org/works/OL24784277W/Beyond_Good_and_Evil" + } + ] + }, + "novelties": { + "desc": "Books I will probably never read, but were interesting enough to collect anyway", + "items": [ + { + "main": "Raster Graphics Handbook", + "sub": "Van Nostrand Reinhold", + "url": "https://openlibrary.org/works/OL16444194W/Raster_graphics_handbook?edition=key%3A/books/OL2849584M" + }, + { + "main": "Fanged Noumena", + "sub": "Nick Land", + "url": "https://openlibrary.org/works/OL20705619W/Fanged_Noumena" + }, + { + "main": "Beginning Flash Game Programming for Dummies", + "sub": "Andy Harris", + "url": "https://openlibrary.org/works/OL4110556W/Beginning_Flash_Game_Programming_For_Dummies" + }, + { + "main": "The Infinite and the Final Cause for Creation", + "sub": "Emanuel Swedenborg", + "url": "https://openlibrary.org/works/OL33307W/Outlines_of_a_philosophical_argument_on_the_infinite" + }, + { + "main": "Compilers: Principles, Techniques, and Tools (1st ed)", + "sub": "Alfred V. Aho", + "url": "https://openlibrary.org/works/OL3509433W/Compilers_principles_techniques_and_tools" + }, + { + "main": "Hypermedia Systems", + "sub": "Carson Gross", + "url": "https://openlibrary.org/works/OL38674782W/Hypermedia_Systems?edition=key%3A/books/OL53364657M" + } + ] + } +} diff --git a/src/books/index.md b/src/books/index.md index 0eca95a..f185c3d 100644 --- a/src/books/index.md +++ b/src/books/index.md @@ -1,60 +1,5 @@ # books My favorite book is always the last one I read (unless it sucked) -## completed -Individual books, series, and manga I read and enjoyed enough to keep in my -collection -* [I am a Strange Loop](https://openlibrary.org/works/OL8067922W/I_Am_a_Strange_Loop?edition=key%3A/books/OL24948194M) - -_Douglas R. Hofstadter_ -* [2001 a Space Odyssey (series)](https://openlibrary.org/books/OL18674505M/2001) - -_Arthur C. Clarke_ -* [Zeros and Ones](https://openlibrary.org/works/OL937516W/Zeros_and_Ones) - -_Sadie Plant_ -* [Xenofeminism](https://openlibrary.org/works/OL20586475W/Xenofeminism) - -_Helen Hester_ -* [Daodejing (Wang Pi's commentary)](https://openlibrary.org/works/OL26585958W/Translation_of_Lao-Tzu%27s_Tao_Te_Ching_and_Wang_Pi%27s_Commentary?edition=key%3A/books/OL37483524M) - -_Lao-Tzu_ -* [Groundwork for the Metaphysics of Morals](https://openlibrary.org/works/OL99843W/Grundlegung_zur_Metaphysik_der_Sitten) - -_Immanuel Kant_ -* [The Burn Journals](https://openlibrary.org/works/OL8043765W/The_Burn_Journals) - -_Brent Runyon_ -* [The Hitch Hikers Guide to the Galaxy (series)](https://openlibrary.org/works/OL2163649W/The_Hitch_Hiker%27s_Guide_to_the_Galaxy?edition=key%3A/books/OL32838419M) - -_Douglas Adams_ -* [Six of Crows (duology)](https://openlibrary.org/works/OL17332479W/Six_of_Crows?edition=key%3A/books/OL32178549M) - -_Leigh Bardugo_ -* [Berserk (series)](https://openlibrary.org/works/OL8988597W/Berserk_Vol._1) - -_三浦建太郎_ -* [Hunter x Hunter (series)](https://openlibrary.org/works/OL8215148W/Hunter_x_Hunter_Volume_1) - -_冨樫 義博_ -## backlog -Works sitting on my shelf right now waiting to be read -* [Gödel, Escher, Bach](https://openlibrary.org/works/OL716850W/G%C3%B6del_Escher_Bach) - -_Douglas R. Hofstadter_ -* [Snow Crash](https://openlibrary.org/works/OL38501W/Snow_Crash) - -_Neal Stephenson_ -* [Dune](https://openlibrary.org/works/OL893415W/Dune?edition=key%3A/books/OL26242482M) - -_Frank Herbert_ -* [Catch 22](https://openlibrary.org/works/OL29300587W/Catch_22) - -_Joseph Heller_ -* [The End of History and the Last Man](https://openlibrary.org/works/OL2670501W/The_End_of_History_and_the_Last_Man) - -_Francis Fukuyama_ -* [Spiritual Writings](https://openlibrary.org/works/OL112700W/Provocations?edition=key%3A/books/OL3319828M) - -_Søren Kierkegaard_ -* [Gravity's Rainbow](https://openlibrary.org/works/OL2636675W/Gravity%27s_Rainbow) - -_Thomas Pynchon_ -* [Beyond Good and Evil](https://openlibrary.org/works/OL24784277W/Beyond_Good_and_Evil) - -_Friedrich Nietzsche_ -## novelties -Books I will probably never read, but were interesting -enough to collect anyway -* [Raster Graphics Handbook](https://openlibrary.org/works/OL16444194W/Raster_graphics_handbook?edition=key%3A/books/OL2849584M) - -_Van Nostrand Reinhold_ -* [Fanged Noumena](https://openlibrary.org/works/OL20705619W/Fanged_Noumena) - -_Nick Land_ -* [Beginning Flash Game Programming for Dummies](https://openlibrary.org/works/OL4110556W/Beginning_Flash_Game_Programming_For_Dummies) - -_Andy Harris_ -* [The Infinite and the Final Cause for Creation](https://openlibrary.org/works/OL33307W/Outlines_of_a_philosophical_argument_on_the_infinite) - -_Emanuel Swedenborg_ -* [Compilers: Principles, Techniques, and Tools (1st ed)](https://openlibrary.org/works/OL3509433W/Compilers_principles_techniques_and_tools) - -_Alfred V. Aho_ -* [Hypermedia Systems](https://openlibrary.org/works/OL38674782W/Hypermedia_Systems?edition=key%3A/books/OL53364657M) - -_Carson Gross_ + + + diff --git a/src/css/style.css b/src/css/style.css index 4b1b591..4e9e91b 100644 --- a/src/css/style.css +++ b/src/css/style.css @@ -46,37 +46,12 @@ table, th, td { align-content: center; } -a { +a, a:visited { color: #df3e23; - /* font-style: italic; */ font-weight: bold; text-decoration: none; } -a:visited { - color: #df3e23; - font-style: italic; - text-decoration: none; -} - -a:focus:before,a:active:before,a:hover:before { - content: "["; - font-style: normal; - color: black; - outline: none; - outline-color: transparent; - outline-style: none; -} - -a:focus:after,a:active:after,a:hover:after { - content: "]"; - font-style: normal; - color: black; - outline: none; - outline-color: transparent; - outline-style: none; -} - p,ul { margin-top: 0.3em; } @@ -109,7 +84,11 @@ figcaption { line-height: 110%; } -img { +img[src] { + border-radius: 0.25em; +} + +figure img { display: block; width: 100% } diff --git a/src/hyperspace/index.md b/src/hyperspace/index.md new file mode 100644 index 0000000..c063cde --- /dev/null +++ b/src/hyperspace/index.md @@ -0,0 +1,16 @@ +# hyperspace +## interesting sites +* [dimden](https://dimden.dev/) +* [zenmai studio](https://zenmaistudio.com/) +* [oddity commoddity](https://odditycommoddity.neocities.org/) +* [texture town](https://textures.neocities.org/) +* [cabbage sorter](https://cabbagesorter.neocities.org/) +* [mr bashful](https://mrbashful.com/) +* [sad girls club](https://sadgirlsclub.wtf/) +* [BJ's website](https://beedge.neocities.org/) +* [angels are mathematical](https://angelsaremathematical.neocities.org/) +* [psychocool](https://psychcool.org/links) +* [nenrikido](https://nenrikido.neocities.org/) +* [incessantpain](https://incessantpain.neocities.org/) +## cool webrings +* [neocratives](http://neocreatives.byethost5.com/) diff --git a/src/index.md b/src/index.md index 2e533d7..4b7b4a1 100644 --- a/src/index.md +++ b/src/index.md @@ -6,11 +6,19 @@ am from the United States, where I was born in 2003. In 2025 I will receive my bachellors in Computer Science from the [University of Texas at San Antonio](https://utsa.edu). - ## site map -* [my git server](https://git.lgatlin.dev/logan) - _personal code forge_ -* [software](/software) - _thoughts on programming_ -* [books](/books) - _reading corner_ -* [music](/music) - _sick tunes_ -* [toybox](/toys) - _awesome web apps_ -* [hyperspace](/hyperspace) - _everything world wide web_ +* [my git server](https://git.lgatlin.dev/logan) - _Private forgejo instance_ +* [software](/software) - _Thoughts on programming_ +* [books](/books) - _Reading corner_ +* [music](/music) - _Sick tunes_ +* [toybox](/toys) - _Awesome web apps_ +* [hyperspace](/hyperspace) - _Everything world wide web_ + +## meta +* [server info](/server-info.html) - _Technical information about this server_ +* [style guide](/style-guide.html) - _Formatting rules for this site_ + +
+
+If you're not remembered, then you never existed +
diff --git a/src/js/components.js b/src/js/components.js index 8cc74d5..80b399e 100644 --- a/src/js/components.js +++ b/src/js/components.js @@ -1,39 +1,85 @@ -async function figureGrid(jsonURL) { - const response = await fetch(jsonURL); - const json = await response.json(); - let html = ""; - for (const headerName in json) { - html = html.concat("
") - let entries = json[headerName]; - for (let i = 0; i < entries.length; i++) { - let entry = entries[i]; - html = html.concat( - `
- -
- ${entry.main}
- ${entry.sub} -
-
` - ); - } - html = html.concat("
") - } - return html; -} - -class FigureGrid extends HTMLElement { - static observedAttributes = ["src"]; +class JsonData extends HTMLElement { + static observedAttributes = ["src", "show"]; constructor() { super(); } + static grid(json) { + let html = ""; + for (const headerName in json) { + html = html.concat(` +

${headerName}

+

${json[headerName].desc || ""}

+
+ `); + let entries = json[headerName].items || []; + for (let i = 0; i < entries.length; i++) { + let entry = entries[i]; + html = html.concat( + `
+ +
+ ${entry.main}
+ ${entry.sub} +
+
` + ); + } + html = html.concat("
") + } + return html; + } + + static list(json) { + let html = ""; + for (const headerName in json) { + html = html.concat(` +

${headerName}

+

${json[headerName].desc || ""}

+ `); + let entries = json[headerName].items || []; + html = html.concat("") + } + return html; + } + + async connectedCallback() { + if (this.src == undefined) { + this.innerHTML = "src is undefined"; + return; + } + const response = await fetch(this.src); + const json = await response.json(); + switch(this.show) { + case "grid": + this.innerHTML = JsonData.grid(json); + break; + case "list": + this.innerHTML = JsonData.list(json); + break; + default: + break; + }; + } + async attributeChangedCallback(name, oldValue, newValue) { if (name == "src") { - this.innerHTML = await figureGrid(newValue); + this.src = newValue; + } else if (name == "show") { + this.show = newValue; } } } -customElements.define("figure-grid", FigureGrid); +customElements.define("json-data", JsonData); diff --git a/src/music/albums.json b/src/music/albums.json index 008a51c..819d844 100644 --- a/src/music/albums.json +++ b/src/music/albums.json @@ -1,207 +1,217 @@ { - "chill": [ - { - "main": "Cosmos", - "sub": "Yuji Ohno", - "url": "/res/albums/cosmos.webp" - }, - { - "main": "Deep Breakfast", - "sub": "Ray Lynch", - "url": "/res/albums/deep_breakfast.webp" - }, - { - "main": "Dune", - "sub": "David Matthews", - "url": "/res/albums/dune.webp" - }, - { - "main": "God's Trashmen Sent to Right the Mess", - "sub": "Fievel is Glauque", - "url": "/res/albums/gods_trashmen.webp" - }, - { - "main": "MACROCOSM", - "sub": "BALTHVS", - "url": "/res/albums/macrocosm.webp" - }, - { - "main": "Ciao! Baby", - "sub": "The Marshmallow Kisses", - "url": "/res/albums/ciao_baby.webp" - }, - { - "main": "an anxious object", - "sub": "mouse on the keys", - "url": "/res/albums/mouse_on_the_keys.webp" - }, - { - "main": "Funky Stuff", - "sub": " Jiro Inagaki", - "url": "/res/albums/funky_stuff.webp" - }, - { - "main": "Make Up City", - "sub": "CASIOPEA", - "url": "/res/albums/make_up_city.webp" - }, - { - "main": "Mint Jams", - "sub": "CASIOPEA", - "url": "/res/albums/mint_jams.webp" - } - ], - "experimental": [ - { - "main": "Departing", - "sub": "Jesus Molina", - "url": "/res/albums/departing.webp" - }, - { - "main": "Choose your Weapon", - "sub": "Hiatus Kaiyote", - "url": "/res/albums/choose_your_weapon.webp" - }, - { - "main": "Hold Your Horse Is", - "sub": "Hella", - "url": "/res/albums/hold_your_horse_is.webp" - }, - { - "main": "Mother Earth's Plantasia", - "sub": "Mort Garson", - "url": "/res/albums/plantasia.webp" - }, - { - "main": "The Wozard of Iz - An Electronic Odyssey", - "sub": "Mort Garson", - "url": "/res/albums/wozard_of_iz.webp" - }, - { - "main": "Los Desamores de Dewey Martino", - "sub": "Dewey Martino", - "url": "/res/albums/los_desamores_de_dewey_martino.webp" - }, - { - "main": "New History Warfare Vol. 3: To See More Light", - "sub": "Colin Stetson", - "url": "/res/albums/new_history_warfare_3.webp" - }, - { - "main": "Hylics 2 Original Soundtrack", - "sub": "Chuck Salamone", - "url": "/res/albums/hylics2.webp" - } - ], - "electronic": [ - { - "main": "H.A.Q.Q.", - "sub": "Liturgy", - "url": "/res/albums/haqq.webp" - }, - { - "main": "One Year Madness", - "sub": "Golemm", - "url": "/res/albums/one_year_madness.webp" - }, - { - "main": "Cyberspace", - "sub": "Yameii Online", - "url": "/res/albums/cyberspace.webp" - }, - { - "main": "Wlfgrl", - "sub": "Machine Girl", - "url": "/res/albums/wlfgrl.webp" - }, - { - "main": "...Because I'm Young Arrogant and Hate Everything You Stand For", - "sub": "Machine Girl", - "url": "/res/albums/young_arrogant.webp" - }, - { - "main": "Parousia", - "sub": "XI", - "url": "/res/albums/parousia.webp" - }, - { - "main": "www.", - "sub": "cosmic collective", - "url": "/res/albums/www.webp" - }, - { - "main": "TMP2", - "sub": "Graham Kartna", - "url": "/res/albums/tmp2.webp" - } - ], - "high energy": [ - { - "main": "Each and Every Word Leaves Me Here Alone", - "sub": "Foreground Eclipse", - "url": "/res/albums/fge_1.webp" - }, - { - "main": "Missing, Loving, Suffering", - "sub": "Foreground Eclipse", - "url": "/res/albums/fge_2.webp" - }, - { - "main": "ITEKOMA HITS", - "sub": "Otoboke Beaver", - "url": "/res/albums/itekoma_hits.webp" - }, - { - "main": "World is Yours", - "sub": "MASS OF THE FERMENTING DREGS", - "url": "/res/albums/world_is_yours.webp" - }, - { - "main": "New Levels New Devils", - "sub": "Polyphia", - "url": "/res/albums/new_levels_new_devils.webp" - } - ], - "misc": [ - { - "main": "27 Demos", - "sub": "Margo Guryan ", - "url": "/res/albums/27_demos.webp" - }, - { - "main": "the first glass beach album", - "sub": "Glass Beach", - "url": "/res/albums/glass_beach.webp" - }, - { - "main": "Her Abiding Memory", - "sub": "Pitcher56", - "url": "/res/albums/her_abiding_memory.webp" - }, - { - "main": "High Society", - "sub": "Enon", - "url": "/res/albums/high_society.webp" - }, - { - "main": "Live at Bush Hall", - "sub": "Black Country, New Road", - "url": "/res/albums/live_at_bush_hall.webp" - }, - { - "main": "Mass Teen Fainting", - "sub": "Plumtree", - "url": "/res/albums/mass_teen_fainting.webp" - }, - { - "main": "My Caution Line", - "sub": "Citrobal", - "url": "/res/albums/my_caution_line.webp" - }, - { - "main": "Oncle Jazz", - "sub": "Men I Trust", - "url": "/res/albums/oncle_jazz.webp" - } - ] + "chill": { + "items": [ + { + "main": "Cosmos", + "sub": "Yuji Ohno", + "url": "/res/albums/cosmos.webp" + }, + { + "main": "Deep Breakfast", + "sub": "Ray Lynch", + "url": "/res/albums/deep_breakfast.webp" + }, + { + "main": "Dune", + "sub": "David Matthews", + "url": "/res/albums/dune.webp" + }, + { + "main": "God's Trashmen Sent to Right the Mess", + "sub": "Fievel is Glauque", + "url": "/res/albums/gods_trashmen.webp" + }, + { + "main": "MACROCOSM", + "sub": "BALTHVS", + "url": "/res/albums/macrocosm.webp" + }, + { + "main": "Ciao! Baby", + "sub": "The Marshmallow Kisses", + "url": "/res/albums/ciao_baby.webp" + }, + { + "main": "an anxious object", + "sub": "mouse on the keys", + "url": "/res/albums/mouse_on_the_keys.webp" + }, + { + "main": "Funky Stuff", + "sub": " Jiro Inagaki", + "url": "/res/albums/funky_stuff.webp" + }, + { + "main": "Make Up City", + "sub": "CASIOPEA", + "url": "/res/albums/make_up_city.webp" + }, + { + "main": "Mint Jams", + "sub": "CASIOPEA", + "url": "/res/albums/mint_jams.webp" + } + ] + }, + "experimental": { + "items": [ + { + "main": "Departing", + "sub": "Jesus Molina", + "url": "/res/albums/departing.webp" + }, + { + "main": "Choose your Weapon", + "sub": "Hiatus Kaiyote", + "url": "/res/albums/choose_your_weapon.webp" + }, + { + "main": "Hold Your Horse Is", + "sub": "Hella", + "url": "/res/albums/hold_your_horse_is.webp" + }, + { + "main": "Mother Earth's Plantasia", + "sub": "Mort Garson", + "url": "/res/albums/plantasia.webp" + }, + { + "main": "The Wozard of Iz - An Electronic Odyssey", + "sub": "Mort Garson", + "url": "/res/albums/wozard_of_iz.webp" + }, + { + "main": "Los Desamores de Dewey Martino", + "sub": "Dewey Martino", + "url": "/res/albums/los_desamores_de_dewey_martino.webp" + }, + { + "main": "New History Warfare Vol. 3: To See More Light", + "sub": "Colin Stetson", + "url": "/res/albums/new_history_warfare_3.webp" + }, + { + "main": "Hylics 2 Original Soundtrack", + "sub": "Chuck Salamone", + "url": "/res/albums/hylics2.webp" + } + ] + }, + "electronic": { + "items": [ + { + "main": "H.A.Q.Q.", + "sub": "Liturgy", + "url": "/res/albums/haqq.webp" + }, + { + "main": "One Year Madness", + "sub": "Golemm", + "url": "/res/albums/one_year_madness.webp" + }, + { + "main": "Cyberspace", + "sub": "Yameii Online", + "url": "/res/albums/cyberspace.webp" + }, + { + "main": "Wlfgrl", + "sub": "Machine Girl", + "url": "/res/albums/wlfgrl.webp" + }, + { + "main": "...Because I'm Young Arrogant and Hate Everything You Stand For", + "sub": "Machine Girl", + "url": "/res/albums/young_arrogant.webp" + }, + { + "main": "Parousia", + "sub": "XI", + "url": "/res/albums/parousia.webp" + }, + { + "main": "www.", + "sub": "cosmic collective", + "url": "/res/albums/www.webp" + }, + { + "main": "TMP2", + "sub": "Graham Kartna", + "url": "/res/albums/tmp2.webp" + } + ] + }, + "high energy": { + "items": [ + { + "main": "Each and Every Word Leaves Me Here Alone", + "sub": "Foreground Eclipse", + "url": "/res/albums/fge_1.webp" + }, + { + "main": "Missing, Loving, Suffering", + "sub": "Foreground Eclipse", + "url": "/res/albums/fge_2.webp" + }, + { + "main": "ITEKOMA HITS", + "sub": "Otoboke Beaver", + "url": "/res/albums/itekoma_hits.webp" + }, + { + "main": "World is Yours", + "sub": "MASS OF THE FERMENTING DREGS", + "url": "/res/albums/world_is_yours.webp" + }, + { + "main": "New Levels New Devils", + "sub": "Polyphia", + "url": "/res/albums/new_levels_new_devils.webp" + } + ] + }, + "misc": { + "items": [ + { + "main": "27 Demos", + "sub": "Margo Guryan ", + "url": "/res/albums/27_demos.webp" + }, + { + "main": "the first glass beach album", + "sub": "Glass Beach", + "url": "/res/albums/glass_beach.webp" + }, + { + "main": "Her Abiding Memory", + "sub": "Pitcher56", + "url": "/res/albums/her_abiding_memory.webp" + }, + { + "main": "High Society", + "sub": "Enon", + "url": "/res/albums/high_society.webp" + }, + { + "main": "Live at Bush Hall", + "sub": "Black Country, New Road", + "url": "/res/albums/live_at_bush_hall.webp" + }, + { + "main": "Mass Teen Fainting", + "sub": "Plumtree", + "url": "/res/albums/mass_teen_fainting.webp" + }, + { + "main": "My Caution Line", + "sub": "Citrobal", + "url": "/res/albums/my_caution_line.webp" + }, + { + "main": "Oncle Jazz", + "sub": "Men I Trust", + "url": "/res/albums/oncle_jazz.webp" + } + ] + } } diff --git a/src/music/index.md b/src/music/index.md index 7cc161b..c161cc5 100644 --- a/src/music/index.md +++ b/src/music/index.md @@ -3,4 +3,4 @@ Music is a huge passion of mine. I prefer listening to albums in full from start to finish in order. My favorite albums are usually experimental, unique, or have a particular theme they explore - + diff --git a/src/res/AtkinsonHyperlegible-Bold.ttf b/src/res/AtkinsonHyperlegible-Bold.ttf new file mode 100644 index 0000000..c72b488 Binary files /dev/null and b/src/res/AtkinsonHyperlegible-Bold.ttf differ diff --git a/src/server-info.md b/src/server-info.md new file mode 100644 index 0000000..6f56ba0 --- /dev/null +++ b/src/server-info.md @@ -0,0 +1,14 @@ +# server info +## hardware +I host this website locally on an [Intel +NUC](https://www.intel.com/content/dam/support/us/en/documents/mini-pcs/NUC8i3BE_NUC8i5BE_NUC8i7BE_TechProdSpec.pdf). +It runs an i3-8109U 4 core 3.6 GHz processor, 32 GB of RAM, and 120 GB SSD +storage. +## software +Pages and resources are served using Apache. I write pages using a custom +subset of markup, which gets compiled to static HTML files using my [simple +build system](https://git.lgatlin.dev/logan/mdconvert). Deployments are handled +automatically using git hooks. I host my own [forgejo](https://forgejo.org/) +git instance on the same machine, which makes continuous integration simple and +fast + diff --git a/src/style-guide.md b/src/style-guide.md new file mode 100644 index 0000000..9f7a67d --- /dev/null +++ b/src/style-guide.md @@ -0,0 +1,34 @@ +# style guide +Having a consistent design language is very important to me. This document lays +out specific stylistic rules for pages on this site. Human error is always a +factor, and so these rules are more prescription than description +## headings +One heading should appear at the top of every page. Text should contain only +lowercase ascii alphabetic characters. It should represent the title of the +page, and match the URL tail (substituting spaces for hyphens, and sans +file extension) +## subheadings +Pages may have any number of subheadings under the top level heading. Text +should contain only lowercase ascii alphabetic characters. A subheading must +never be immediately followed by another subheading +## paragraphs +Paragraph text should be written in complete grammatically correct sentences, +and may use any non-emoji unicode characters. The last sentence in a paragraph +should not end in a period if the paragraph is followed by anything other than +another paragraph +## hyperlinks +Hyperlinks may appear inline in any text other than headings and subheadings. +The hyperlink text should be descriptive of the page it is linking to, and +never the same as the link itself (e.g. [logan's site](/) not +[https://lgatlin.dev/](/)). Internal links should have the same text as the +page title they link to. Hyperlinks should be used liberally, and regularly +audited for dead or redirected targets +## lists +List items should begin with a title that is all lowercase, optionally followed +by a hyphen ('-') and a subtitle or attribution. The subtitle or attribution +should start with a capital letter and contain no punctuation +## collage +A collage consists of a set of images, optionally with a title and subtitle +below each image. Collages should not be on a fixed grid, and should rearrange +themselves to best fit the screen dimensions. Image titles may contain +hyperlinks, but images may never be hyperlinks themselves