first commit: basic site and first post!
This commit is contained in:
commit
e83de82992
17 changed files with 512 additions and 0 deletions
2
.gitignore
vendored
Normal file
2
.gitignore
vendored
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
.jekyll-cache
|
||||||
|
/_site
|
4
Gemfile
Normal file
4
Gemfile
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
# frozen_string_literal: true
|
||||||
|
source "https://rubygems.org"
|
||||||
|
|
||||||
|
gem "jekyll", "~> 4.3"
|
167
Gemfile.lock
Normal file
167
Gemfile.lock
Normal file
|
@ -0,0 +1,167 @@
|
||||||
|
GEM
|
||||||
|
remote: https://rubygems.org/
|
||||||
|
specs:
|
||||||
|
addressable (2.8.7)
|
||||||
|
public_suffix (>= 2.0.2, < 7.0)
|
||||||
|
bigdecimal (3.1.8)
|
||||||
|
colorator (1.1.0)
|
||||||
|
concurrent-ruby (1.3.4)
|
||||||
|
em-websocket (0.5.3)
|
||||||
|
eventmachine (>= 0.12.9)
|
||||||
|
http_parser.rb (~> 0)
|
||||||
|
eventmachine (1.2.7)
|
||||||
|
ffi (1.17.0)
|
||||||
|
ffi (1.17.0-aarch64-linux-gnu)
|
||||||
|
ffi (1.17.0-aarch64-linux-musl)
|
||||||
|
ffi (1.17.0-arm-linux-gnu)
|
||||||
|
ffi (1.17.0-arm-linux-musl)
|
||||||
|
ffi (1.17.0-arm64-darwin)
|
||||||
|
ffi (1.17.0-x86-linux-gnu)
|
||||||
|
ffi (1.17.0-x86-linux-musl)
|
||||||
|
ffi (1.17.0-x86_64-darwin)
|
||||||
|
ffi (1.17.0-x86_64-linux-gnu)
|
||||||
|
ffi (1.17.0-x86_64-linux-musl)
|
||||||
|
forwardable-extended (2.6.0)
|
||||||
|
google-protobuf (4.28.0)
|
||||||
|
bigdecimal
|
||||||
|
rake (>= 13)
|
||||||
|
google-protobuf (4.28.0-aarch64-linux)
|
||||||
|
bigdecimal
|
||||||
|
rake (>= 13)
|
||||||
|
google-protobuf (4.28.0-arm64-darwin)
|
||||||
|
bigdecimal
|
||||||
|
rake (>= 13)
|
||||||
|
google-protobuf (4.28.0-x86-linux)
|
||||||
|
bigdecimal
|
||||||
|
rake (>= 13)
|
||||||
|
google-protobuf (4.28.0-x86_64-darwin)
|
||||||
|
bigdecimal
|
||||||
|
rake (>= 13)
|
||||||
|
google-protobuf (4.28.0-x86_64-linux)
|
||||||
|
bigdecimal
|
||||||
|
rake (>= 13)
|
||||||
|
http_parser.rb (0.8.0)
|
||||||
|
i18n (1.14.5)
|
||||||
|
concurrent-ruby (~> 1.0)
|
||||||
|
jekyll (4.3.3)
|
||||||
|
addressable (~> 2.4)
|
||||||
|
colorator (~> 1.0)
|
||||||
|
em-websocket (~> 0.5)
|
||||||
|
i18n (~> 1.0)
|
||||||
|
jekyll-sass-converter (>= 2.0, < 4.0)
|
||||||
|
jekyll-watch (~> 2.0)
|
||||||
|
kramdown (~> 2.3, >= 2.3.1)
|
||||||
|
kramdown-parser-gfm (~> 1.0)
|
||||||
|
liquid (~> 4.0)
|
||||||
|
mercenary (>= 0.3.6, < 0.5)
|
||||||
|
pathutil (~> 0.9)
|
||||||
|
rouge (>= 3.0, < 5.0)
|
||||||
|
safe_yaml (~> 1.0)
|
||||||
|
terminal-table (>= 1.8, < 4.0)
|
||||||
|
webrick (~> 1.7)
|
||||||
|
jekyll-sass-converter (3.0.0)
|
||||||
|
sass-embedded (~> 1.54)
|
||||||
|
jekyll-watch (2.2.1)
|
||||||
|
listen (~> 3.0)
|
||||||
|
kramdown (2.4.0)
|
||||||
|
rexml
|
||||||
|
kramdown-parser-gfm (1.1.0)
|
||||||
|
kramdown (~> 2.0)
|
||||||
|
liquid (4.0.4)
|
||||||
|
listen (3.9.0)
|
||||||
|
rb-fsevent (~> 0.10, >= 0.10.3)
|
||||||
|
rb-inotify (~> 0.9, >= 0.9.10)
|
||||||
|
mercenary (0.4.0)
|
||||||
|
pathutil (0.16.2)
|
||||||
|
forwardable-extended (~> 2.6)
|
||||||
|
public_suffix (6.0.1)
|
||||||
|
rake (13.2.1)
|
||||||
|
rb-fsevent (0.11.2)
|
||||||
|
rb-inotify (0.11.1)
|
||||||
|
ffi (~> 1.0)
|
||||||
|
rexml (3.3.7)
|
||||||
|
rouge (4.3.0)
|
||||||
|
safe_yaml (1.0.5)
|
||||||
|
sass-embedded (1.78.0)
|
||||||
|
google-protobuf (~> 4.27)
|
||||||
|
rake (>= 13)
|
||||||
|
sass-embedded (1.78.0-aarch64-linux-android)
|
||||||
|
google-protobuf (~> 4.27)
|
||||||
|
sass-embedded (1.78.0-aarch64-linux-gnu)
|
||||||
|
google-protobuf (~> 4.27)
|
||||||
|
sass-embedded (1.78.0-aarch64-linux-musl)
|
||||||
|
google-protobuf (~> 4.27)
|
||||||
|
sass-embedded (1.78.0-aarch64-mingw-ucrt)
|
||||||
|
google-protobuf (~> 4.27)
|
||||||
|
sass-embedded (1.78.0-arm-linux-androideabi)
|
||||||
|
google-protobuf (~> 4.27)
|
||||||
|
sass-embedded (1.78.0-arm-linux-gnueabihf)
|
||||||
|
google-protobuf (~> 4.27)
|
||||||
|
sass-embedded (1.78.0-arm-linux-musleabihf)
|
||||||
|
google-protobuf (~> 4.27)
|
||||||
|
sass-embedded (1.78.0-arm64-darwin)
|
||||||
|
google-protobuf (~> 4.27)
|
||||||
|
sass-embedded (1.78.0-riscv64-linux-android)
|
||||||
|
google-protobuf (~> 4.27)
|
||||||
|
sass-embedded (1.78.0-riscv64-linux-gnu)
|
||||||
|
google-protobuf (~> 4.27)
|
||||||
|
sass-embedded (1.78.0-riscv64-linux-musl)
|
||||||
|
google-protobuf (~> 4.27)
|
||||||
|
sass-embedded (1.78.0-x86-cygwin)
|
||||||
|
google-protobuf (~> 4.27)
|
||||||
|
sass-embedded (1.78.0-x86-linux-android)
|
||||||
|
google-protobuf (~> 4.27)
|
||||||
|
sass-embedded (1.78.0-x86-linux-gnu)
|
||||||
|
google-protobuf (~> 4.27)
|
||||||
|
sass-embedded (1.78.0-x86-linux-musl)
|
||||||
|
google-protobuf (~> 4.27)
|
||||||
|
sass-embedded (1.78.0-x86-mingw-ucrt)
|
||||||
|
google-protobuf (~> 4.27)
|
||||||
|
sass-embedded (1.78.0-x86_64-cygwin)
|
||||||
|
google-protobuf (~> 4.27)
|
||||||
|
sass-embedded (1.78.0-x86_64-darwin)
|
||||||
|
google-protobuf (~> 4.27)
|
||||||
|
sass-embedded (1.78.0-x86_64-linux-android)
|
||||||
|
google-protobuf (~> 4.27)
|
||||||
|
sass-embedded (1.78.0-x86_64-linux-gnu)
|
||||||
|
google-protobuf (~> 4.27)
|
||||||
|
sass-embedded (1.78.0-x86_64-linux-musl)
|
||||||
|
google-protobuf (~> 4.27)
|
||||||
|
terminal-table (3.0.2)
|
||||||
|
unicode-display_width (>= 1.1.1, < 3)
|
||||||
|
unicode-display_width (2.5.0)
|
||||||
|
webrick (1.8.1)
|
||||||
|
|
||||||
|
PLATFORMS
|
||||||
|
aarch64-linux
|
||||||
|
aarch64-linux-android
|
||||||
|
aarch64-linux-gnu
|
||||||
|
aarch64-linux-musl
|
||||||
|
aarch64-mingw-ucrt
|
||||||
|
arm-linux-androideabi
|
||||||
|
arm-linux-gnu
|
||||||
|
arm-linux-gnueabihf
|
||||||
|
arm-linux-musl
|
||||||
|
arm-linux-musleabihf
|
||||||
|
arm64-darwin
|
||||||
|
riscv64-linux-android
|
||||||
|
riscv64-linux-gnu
|
||||||
|
riscv64-linux-musl
|
||||||
|
ruby
|
||||||
|
x86-cygwin
|
||||||
|
x86-linux
|
||||||
|
x86-linux-android
|
||||||
|
x86-linux-gnu
|
||||||
|
x86-linux-musl
|
||||||
|
x86-mingw-ucrt
|
||||||
|
x86_64-cygwin
|
||||||
|
x86_64-darwin
|
||||||
|
x86_64-linux-android
|
||||||
|
x86_64-linux-gnu
|
||||||
|
x86_64-linux-musl
|
||||||
|
|
||||||
|
DEPENDENCIES
|
||||||
|
jekyll (~> 4.3)
|
||||||
|
|
||||||
|
BUNDLED WITH
|
||||||
|
2.5.18
|
25
_layouts/default.html
Normal file
25
_layouts/default.html
Normal file
|
@ -0,0 +1,25 @@
|
||||||
|
<!doctype html>
|
||||||
|
<html lang="en-US">
|
||||||
|
<head>
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||||
|
<meta charset="utf-8" />
|
||||||
|
<title>{{ page.title }} - OpenNeo Blog</title>
|
||||||
|
<link rel="stylesheet" href="/assets/css/main.css" />
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<header>
|
||||||
|
<a class="logo" href="/" tabindex="-1">
|
||||||
|
<img src="/assets/images/logo.png" />
|
||||||
|
</a>
|
||||||
|
<h1>
|
||||||
|
<a href="/">OpenNeo Blog</a>
|
||||||
|
</h1>
|
||||||
|
<p role="doc-subtitle">
|
||||||
|
For
|
||||||
|
<a href="https://impress.openneo.net/">Dress to Impress</a>, and uhh
|
||||||
|
maybe other things later!
|
||||||
|
</p>
|
||||||
|
</header>
|
||||||
|
{{ content }}
|
||||||
|
</body>
|
||||||
|
</html>
|
19
_layouts/post.html
Normal file
19
_layouts/post.html
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
---
|
||||||
|
layout: default
|
||||||
|
---
|
||||||
|
|
||||||
|
<main>
|
||||||
|
<article>
|
||||||
|
<header>
|
||||||
|
<h2>
|
||||||
|
<a href="{{ page.url }}">{{ page.title }}</a>
|
||||||
|
</h2>
|
||||||
|
<p role="doc-subtitle">
|
||||||
|
Posted on {{ page.date | date_to_string: "ordinal", "US" }}{% if
|
||||||
|
page.author %}, by {{ page.author }}{% endif %}
|
||||||
|
</p>
|
||||||
|
</header>
|
||||||
|
|
||||||
|
{{ content }}
|
||||||
|
</article>
|
||||||
|
</main>
|
149
_posts/2024-09-11-state-of-dti-2024.md
Normal file
149
_posts/2024-09-11-state-of-dti-2024.md
Normal file
|
@ -0,0 +1,149 @@
|
||||||
|
---
|
||||||
|
layout: post
|
||||||
|
title: "State of DTI: 2024"
|
||||||
|
date: 2024-09-11 12:00:00 -0700
|
||||||
|
author: Matchu
|
||||||
|
---
|
||||||
|
|
||||||
|
Hi, everyone! Hough, this post is a long time coming but I have not had the
|
||||||
|
power of Words—but today I do, and so we write!
|
||||||
|
|
||||||
|
First off, thank you for being so kind and helpful as you always are!
|
||||||
|
Idk if y'all know that like, the community does the majority of the work for
|
||||||
|
DTI? We're just doing our best to keep the lil guy chuggin' along underneath you! And thank you always for your kind words, too 🥺 It helps a lot.
|
||||||
|
|
||||||
|
After 15 years of DTI (what the heck??!), and 15 years of changing
|
||||||
|
circumstances, **our primary focus is keeping DTI around for the long-haul**.
|
||||||
|
|
||||||
|
And, I'll be real with ya, the choices I made in earlier times weren't really designed for decades of operation 😅
|
||||||
|
|
||||||
|
- When I started DTI, I wasn't really uhh, good at working with others? So I
|
||||||
|
never put together a formal team, and I built a codebase that was difficult
|
||||||
|
to share.
|
||||||
|
- And when we rebooted as Impress 2020, I borrowed the technology and design
|
||||||
|
intuition I'd gained in _professional_ software—not realizing that's a
|
||||||
|
level of complexity designed for teams of _fifty_ to keep up with.
|
||||||
|
|
||||||
|
But now, here we are, with _two_ apps instead of one, and just me as the
|
||||||
|
operational bottleneck—and my _own_ life focus has shifted more toward my
|
||||||
|
personal household, with not even enough volunteer time to even do the work to
|
||||||
|
_hand over the keys_ 😖
|
||||||
|
|
||||||
|
So, today, DTI development is mostly a time management game. That's why I've
|
||||||
|
been focusing on long-term choices I hope will change this in the years to
|
||||||
|
come! The themes are **stability, simplicity, and sustainability**.
|
||||||
|
|
||||||
|
_I also want to call out and thank TNT in particular for their help with
|
||||||
|
sustainability!! The NeoPass partnership has been a genuine game changer—I'll
|
||||||
|
talk about it more below!_
|
||||||
|
|
||||||
|
### Stability: Changes to keep the site running
|
||||||
|
|
||||||
|
At the start of the year, DTI was… uhhh, often broken 😖 We'd have multiple
|
||||||
|
days of downtime, and I'll be real with ya: it was _mostly_ an awareness and time management problem.
|
||||||
|
|
||||||
|
Issues generally got resolved within hours or minutes of my sitting down to
|
||||||
|
_fix_ them, but… my world was large, and there were a lot of messes to clean
|
||||||
|
beyond just DTI 😭 So, I didn't discover issues quickly; and when I _did_, it
|
||||||
|
would sometimes take a few hours, or even days, to become available.
|
||||||
|
|
||||||
|
When I was younger, it was easier to be on-call all the time… now, we have to be
|
||||||
|
smarter about it. So, we're being smarter!
|
||||||
|
|
||||||
|
- **🔔 Alerts:** We've set up automated notifications to tell us when the
|
||||||
|
site goes down, or when a new kind of crash appears. _(If you're curious,
|
||||||
|
we're self-hosting [GlitchTip](https://glitchtip.com/)!)_
|
||||||
|
- **⚙️ Auto-monitoring:** For crashes that _kept_ happening, we
|
||||||
|
configured our machine to intervene. _(Like, if the site's RAM usage gets
|
||||||
|
high, we now auto-restart it.)_
|
||||||
|
- **🧑💻 Simplifying:** Reducing the complexity in our whole dang architecture
|
||||||
|
has been huge for stability, too. _(We'll talk about it more below!)_
|
||||||
|
|
||||||
|
With these changes, it's been months since our last like, _major_ downtime
|
||||||
|
event. We're still not as consistent as I'd like to be, but hey—more to come!
|
||||||
|
|
||||||
|
### Simplicity: Cleaning house, clearing hallways
|
||||||
|
|
||||||
|
The high-level goal here is: **I want to remove Impress 2020, but only once we
|
||||||
|
no longer need it**.
|
||||||
|
|
||||||
|
Right now, Dress to Impress is a weird combination of apps… I copy-pasted some
|
||||||
|
of Impress 2020's best UI changes over, but it all still used the
|
||||||
|
Impress 2020 _server_ code, even when you're on `impress.openneo.net`.
|
||||||
|
|
||||||
|
This both doubled the danger of downtime (if _either_ app goes down,
|
||||||
|
that's a problem for both!), and added networking complexities that are hard to
|
||||||
|
track down (hello, "error loading species/color"!)
|
||||||
|
|
||||||
|
Like, it's just not a great situation for stability, _or_ for removing me as a
|
||||||
|
bottleneck. There's too much happening; and too much to know that, right now,
|
||||||
|
only I know! 😬
|
||||||
|
|
||||||
|
So, here's some of the changes we've been making:
|
||||||
|
|
||||||
|
- **➡️ Porting features:** We finally brought Impress 2020's improved
|
||||||
|
Offering/Seeking trade listings page into the main app!
|
||||||
|
- **🌸 Simpler rewrites:** We reimplemented the item page preview in Rails and
|
||||||
|
plain HTML/CSS/JS, instead of being a fragile, frankenstein-y React component using
|
||||||
|
Impress 2020 behind the scenes.
|
||||||
|
- **⚡️ Rewiring the wardrobe:** The main outfit editor still has a _couple_ API
|
||||||
|
calls to Impress 2020, but very few! And we're exploring the possibility of
|
||||||
|
other ways to simplify that page, too.
|
||||||
|
- **🧹 Ancient code cleanups:** As I wander the halls of the very old
|
||||||
|
codebase, I occasionally stumble into something unused, or confusing, or
|
||||||
|
way more complicated than it needs to be. And so I clean up, so my future
|
||||||
|
roommates can be comfy here!
|
||||||
|
|
||||||
|
A lot of it is invisible work, toward the goal of _destroying_ things rather
|
||||||
|
than building them. And that's important for us, I think: **long-term projects
|
||||||
|
with small teams survive by having _less_ stuff going on.**
|
||||||
|
|
||||||
|
I won't get too much into why I chose to stick with upgrading the old app
|
||||||
|
(built with [Rails](https://rubyonrails.org/)), instead of keeping the new
|
||||||
|
Impress 2020 app (built with [Next.js](https://nextjs.org/)). Mostly just, I
|
||||||
|
think the Rails app is simpler tech overall, and leans more into standards that
|
||||||
|
I expect to be longer-lived—and so I expect it to be easier to maintain and
|
||||||
|
welcome new collaborators into long-term!
|
||||||
|
|
||||||
|
We'll check in with y'all before retiring Impress 2020 altogether, I think
|
||||||
|
there's still plenty of steps along the way! We're just doing our best, bit by
|
||||||
|
bit.
|
||||||
|
|
||||||
|
### Sustainability: Finding more time, with TNT's help
|
||||||
|
|
||||||
|
At the start of the year, the reality of the situation was just… I did not
|
||||||
|
_have_ volunteer hours available to give to DTI. What time I _did_ have for
|
||||||
|
coding was all going toward my technical consulting work, because our house
|
||||||
|
needed the paycheck, y'know?
|
||||||
|
|
||||||
|
But you might've noticed, our site's uptime got a lot better a few months
|
||||||
|
ago—as it happens, around the same time we launched NeoPass! This was because
|
||||||
|
**the NeoPass partnership _gave us the time_ to invest in other changes
|
||||||
|
like alerts and monitoring,** which just weren't happening on their own.
|
||||||
|
|
||||||
|
**The new "Shopping List" feature was also part of this partnership effort,
|
||||||
|
too**—though we didn't end up building all of the integrated elements
|
||||||
|
we were hoping for. _(We were planning an "Add all to cart" NC Mall link, as
|
||||||
|
a time saver for folks, and a way to help TNT know that DTI helped you out.)_
|
||||||
|
Ah, well—that's product work! I hope it's been helpful in this form, too!
|
||||||
|
|
||||||
|
**Right now, we're on a bit of a pause,** as TNT's dev team focuses on the Void
|
||||||
|
Within plot and the other things on their plate. But our next plan is to look
|
||||||
|
into (spoiler) ~~saving DTI outfits to your Neopets directly~~ 😳❗️ This is
|
||||||
|
not a promise, but it _is_ an intention! It's the main integration y'all told us
|
||||||
|
you'd be excited for in that survey we sent out, thank you for that btw!!
|
||||||
|
|
||||||
|
But personally, that's why I'm excited about this partnership: I think we've
|
||||||
|
done a good job threading the needle on building things that are **genuinely useful for Neopians, not Worrisome, and ultimately building toward DTI's own independent
|
||||||
|
goals, too.** I'm glad we're not in the same stagnant place we were earlier
|
||||||
|
this year, and I hope we can keep moving forward!
|
||||||
|
|
||||||
|
_(By the way, TNT and I agreed not to talk too much about the details of, like,
|
||||||
|
what we signed and stuff… but I hope this gives you enough to understand the
|
||||||
|
needs and values we're bringing to it! I promise I'm giving the community my very best, always 💜)_
|
||||||
|
|
||||||
|
### As always, thank you!
|
||||||
|
|
||||||
|
I hope this plan makes sense, as just one guy doing her best to keep the site
|
||||||
|
online! And I hope this work can help set the stage for more people to join in
|
||||||
|
the coming years, too.
|
133
assets/css/main.css
Normal file
133
assets/css/main.css
Normal file
|
@ -0,0 +1,133 @@
|
||||||
|
body {
|
||||||
|
font-family: "Noto Sans", Helvetica, Arial, Verdana, sans-serif;
|
||||||
|
color: #040;
|
||||||
|
max-width: 800px;
|
||||||
|
margin-inline: auto;
|
||||||
|
padding-inline: 1em;
|
||||||
|
}
|
||||||
|
|
||||||
|
a {
|
||||||
|
color: #226622;
|
||||||
|
}
|
||||||
|
|
||||||
|
h1,
|
||||||
|
h2,
|
||||||
|
h3,
|
||||||
|
h4,
|
||||||
|
h5,
|
||||||
|
h6 {
|
||||||
|
font-family: Delicious, "Noto Sans", Helvetica, Arial, Verdana, sans-serif;
|
||||||
|
|
||||||
|
a {
|
||||||
|
color: inherit;
|
||||||
|
text-decoration: none;
|
||||||
|
&:hover {
|
||||||
|
text-decoration: underline;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
body > header {
|
||||||
|
display: grid;
|
||||||
|
grid-template-areas:
|
||||||
|
"logo title"
|
||||||
|
"logo subtitle";
|
||||||
|
grid-template-rows: auto 1fr;
|
||||||
|
grid-template-columns: auto 1fr;
|
||||||
|
row-gap: 0.5em;
|
||||||
|
column-gap: 0.5em;
|
||||||
|
|
||||||
|
border-bottom: 1px solid #060;
|
||||||
|
padding-bottom: 0.75em;
|
||||||
|
margin-bottom: 0.75em;
|
||||||
|
|
||||||
|
.logo {
|
||||||
|
grid-area: logo;
|
||||||
|
img {
|
||||||
|
width: 4em;
|
||||||
|
height: 4em;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
h1 {
|
||||||
|
grid-area: title;
|
||||||
|
font-size: 1.5em;
|
||||||
|
margin: 0;
|
||||||
|
a {
|
||||||
|
color: inherit;
|
||||||
|
text-decoration: none;
|
||||||
|
&:hover {
|
||||||
|
text-decoration: underline;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
[role="doc-subtitle"] {
|
||||||
|
grid-area: subtitle;
|
||||||
|
font-size: 0.75em;
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
article {
|
||||||
|
> header {
|
||||||
|
h2 {
|
||||||
|
font-size: 2.5em;
|
||||||
|
margin-bottom: 0.125em;
|
||||||
|
margin-top: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
p {
|
||||||
|
font-size: 0.75em;
|
||||||
|
margin-top: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
> :is(p, ul) {
|
||||||
|
font-family: "Noto Serif", Georgia, "Times New Roman", Times, serif;
|
||||||
|
}
|
||||||
|
|
||||||
|
h3 {
|
||||||
|
font-size: 1.5em;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* A font by Jos Buivenga (exljbris) -> www.exljbris.nl */
|
||||||
|
@font-face {
|
||||||
|
font-family: Delicious;
|
||||||
|
src: local("Delicious"), url("/assets/fonts/Delicious-Roman.otf");
|
||||||
|
}
|
||||||
|
|
||||||
|
@font-face {
|
||||||
|
font-family: Delicious;
|
||||||
|
font-weight: bold;
|
||||||
|
src: local("Delicious"), url("/assets/fonts/Delicious-Bold.otf");
|
||||||
|
}
|
||||||
|
|
||||||
|
@font-face {
|
||||||
|
font-family: Delicious;
|
||||||
|
font-style: italic;
|
||||||
|
src: local("Delicious"), url("/assets/fonts/Delicious-Italic.otf");
|
||||||
|
}
|
||||||
|
|
||||||
|
@font-face {
|
||||||
|
font-family: "Noto Sans";
|
||||||
|
src: local("Noto Sans"), url("/assets/fonts/NotoSans-Variable.ttf");
|
||||||
|
}
|
||||||
|
|
||||||
|
@font-face {
|
||||||
|
font-family: "Noto Sans";
|
||||||
|
font-style: italic;
|
||||||
|
src: local("Noto Sans"), url("/assets/fonts/NotoSans-Italic-Variable.ttf");
|
||||||
|
}
|
||||||
|
|
||||||
|
@font-face {
|
||||||
|
font-family: "Noto Serif";
|
||||||
|
src: local("Noto Serif"), url("/assets/fonts/NotoSerif-Variable.ttf");
|
||||||
|
}
|
||||||
|
|
||||||
|
@font-face {
|
||||||
|
font-family: "Noto Serif";
|
||||||
|
font-style: italic;
|
||||||
|
src: local("Noto Serif"), url("/assets/fonts/NotoSerif-Italic-Variable.ttf");
|
||||||
|
}
|
BIN
assets/fonts/Delicious-Bold.otf
Normal file
BIN
assets/fonts/Delicious-Bold.otf
Normal file
Binary file not shown.
BIN
assets/fonts/Delicious-Heavy.otf
Normal file
BIN
assets/fonts/Delicious-Heavy.otf
Normal file
Binary file not shown.
BIN
assets/fonts/Delicious-Italic.otf
Normal file
BIN
assets/fonts/Delicious-Italic.otf
Normal file
Binary file not shown.
BIN
assets/fonts/Delicious-Roman.otf
Normal file
BIN
assets/fonts/Delicious-Roman.otf
Normal file
Binary file not shown.
BIN
assets/fonts/NotoSans-Italic-Variable.ttf
Normal file
BIN
assets/fonts/NotoSans-Italic-Variable.ttf
Normal file
Binary file not shown.
BIN
assets/fonts/NotoSans-Variable.ttf
Normal file
BIN
assets/fonts/NotoSans-Variable.ttf
Normal file
Binary file not shown.
BIN
assets/fonts/NotoSerif-Italic-Variable.ttf
Normal file
BIN
assets/fonts/NotoSerif-Italic-Variable.ttf
Normal file
Binary file not shown.
BIN
assets/fonts/NotoSerif-Variable.ttf
Normal file
BIN
assets/fonts/NotoSerif-Variable.ttf
Normal file
Binary file not shown.
BIN
assets/images/logo.png
Normal file
BIN
assets/images/logo.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 131 KiB |
13
index.html
Normal file
13
index.html
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
---
|
||||||
|
layout: default
|
||||||
|
title: "Home"
|
||||||
|
---
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
{% for post in site.posts %}
|
||||||
|
<li>
|
||||||
|
<a href="{{ post.url }}">{{ post.title }}</a>
|
||||||
|
{{ post.excerpt }}
|
||||||
|
</li>
|
||||||
|
{% endfor %}
|
||||||
|
</ul>
|
Loading…
Reference in a new issue