summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBobby <[email protected]>2026-03-10 23:31:47 +0530
committerBobby <[email protected]>2026-03-10 23:31:47 +0530
commita3a6c652dfdc450f014df0a67b0890acdec4a7ce (patch)
treebcf7935a3a6199fbb1588b210be3ce3c28e71365
parentca79e57141a03cbabb1fe7569a320c0e4af111ab (diff)
downloadpagoda-a3a6c652dfdc450f014df0a67b0890acdec4a7ce.tar.xz
pagoda-a3a6c652dfdc450f014df0a67b0890acdec4a7ce.zip
Add bios and signatures pages to enhance personal website content
- Created a new bios.html file featuring a collection of personal statements and interests, reflecting a nostalgic and creative approach to web design. - Added a signatures.html file with various playful and engaging messages, encouraging visitors to explore the site and embrace the spirit of the indie web.
-rwxr-xr-xscripts/seed.sh287
-rw-r--r--seed/bios.html109
-rw-r--r--seed/signatures.html60
3 files changed, 422 insertions, 34 deletions
diff --git a/scripts/seed.sh b/scripts/seed.sh
index 59971dc..4cded48 100755
--- a/scripts/seed.sh
+++ b/scripts/seed.sh
@@ -2,60 +2,279 @@
set -euo pipefail
DB_PATH="shrine/pagoda.db"
+SEED_DIR="seed"
if [ ! -f "$DB_PATH" ]; then
echo "Database not found at $DB_PATH"
exit 1
fi
-HASH=$(npx -y bcryptjs-cli password 2>/dev/null)
-OWNER_DATE=$(date -v-4m +"%Y-%m-%dT%H:%M:%SZ" 2>/dev/null || date -d "4 months ago" +"%Y-%m-%dT%H:%M:%SZ")
-
-echo "Generating 99 unique citizens..."
-npx -y @faker-js/cli firstName >/dev/null 2>&1
-FAKER_MODULES=$(find ~/.npm/_npx -path "*/@faker-js/cli/bin/faker.js" -print -quit 2>/dev/null)
-FAKER_MODULES="${FAKER_MODULES%/@faker-js/cli/bin/faker.js}"
-
-NAMES=$(NODE_PATH="$FAKER_MODULES" node -e "
-var f = require('@faker-js/faker').faker;
-var now = Date.now();
-var threeMonthsAgo = new Date(now);
-threeMonthsAgo.setMonth(threeMonthsAgo.getMonth() - 3);
-var range = now - threeMonthsAgo.getTime();
-var seen = new Set();
-while (seen.size < 99) {
- var first = f.person.firstName();
- var username = first.toLowerCase().replace(/[^a-z]/g, '');
- if (username.length >= 3 && username.length <= 32 && !seen.has(username)) {
- seen.add(username);
- var last = f.person.lastName();
- var joinDate = new Date(threeMonthsAgo.getTime() + Math.random() * range).toISOString().replace(/\.\d{3}Z/, 'Z');
- console.log(username + '|' + first + ' ' + last + '|' + joinDate);
- }
+EXISTING=$(sqlite3 "$DB_PATH" "SELECT COUNT(*) FROM users;")
+if [ "$EXISTING" -gt 0 ]; then
+ echo "Database already has $EXISTING users, skipping seed"
+ exit 0
+fi
+
+HASH=$(htpasswd -nbBC 10 "" password | cut -d: -f2)
+
+FIRST_NAMES=(
+ Aiko Bram Cleo Dax Elara Fern Gideon Hana Idris Jade
+ Kael Luna Milo Nyx Orion Piper Quinn Rune Sage Thorn
+ Uma Vesper Wren Xara Yuki Zara Asher Blaze Cedar Dove
+ Echo Flint Haven Ivy Jet Kit Lark Moss Nova Onyx
+ Pearl Quill Rain Sky Terra Vale Wolf Yew Zen Aria
+ Bay Coral Drift Elm Fox Gale Hawk Iris Juniper Kai
+ Leaf Maple Nimbus Oak Pine River Storm Thistle Umber Violet
+ Willow Birch Cliff Dawn Eve Frost Glen Heath Kite Lotus
+ Meadow Night Olive Petal Reed Sol Tide Vine Wynn Briar
+ Cloud Dune Fable Grove Haze Isle Kelp Lyric Mars Nectar
+ Opal Plum Robin Star Twig Veil Wave Yarrow Zinnia Aster
+ Brook Cinder Delta Ember Fjord Garnet Holly Indigo Jasper Lichen
+ Mist Nettle Orbit Poppy Reef Sable Talon Vapor Wisp Aspen
+ Brine Cobalt Dew Eon Flame Glint Heather Ink Knoll Lumen
+ Moth Nile Pixel Quartz Ripple Shade Torrent Umbra Verge Zephyr
+)
+
+LAST_NAMES=(
+ Ashworth Blackwood Clearwater Duskfall Evergreen Foxglove Goldleaf Hawthorn
+ Ironbark Junewood Keelshore Larkspur Moonvale Nightbloom Oakshade Pinecrest
+ Quillstone Ravenhill Silverbrook Thornwick Underhill Verdant Westwind Zenith
+ Ashford Birchwood Copperfield Dawnstar Elderwood Fernside Greymist Holloway
+ Icemere Jadeheart Kestrel Lakeshore Mossglen Northlight Overbrook Peakwood
+ Quicksilver Rosewood Stonebridge Tidewater Umbervale Vineheart Wildmere Ashcroft
+ Brightwell Coldspring Deepwood Evenfall Frostmere Glendale Hartwood Ivybridge
+ Jasperfall Kirkwood Longmeadow Millbrook Newgrove Oldfield Ridgemont Sundale
+ Thistlewood Upland Valewood Wintermere Brookfield Creekside Dellwood Eastmore
+ Fairhaven Greenwood Highcliff Inkwell Lakewood Nightvale Pondcress Rustwood
+)
+
+PRONOUNS=(
+ "zir/zem" "voi/vol" "qui/quem" "sol/solis" "lux/luxis"
+ "nim/nir" "dra/drem" "pix/pixis" "nyx/nyxis" "vex/vir"
+ "kal/kis" "ryn/rynis" "zel/zem" "orb/orbis" "mox/moxis"
+ "jin/jinis" "tav/tavis" "wren/wrenis" "flux/fluxis" "ash/ashis"
+ "glyph/glyphir" "hex/haxis" "nil/nilis" "arc/arcis" "cyr/cyris"
+ "dex/dexis" "fen/fenis" "kez/kezis" "nym/nymis" "thri/threm"
+)
+
+LOCATIONS=(
+ "Portland, Oregon" "London, England" "Tokyo, Japan" "Berlin, Germany" "Melbourne, Australia"
+ "Toronto, Canada" "Brooklyn, New York" "Seattle, Washington" "Amsterdam, Netherlands" "Seoul, South Korea"
+ "Austin, Texas" "Glasgow, Scotland" "Lisbon, Portugal" "Chicago, Illinois" "Stockholm, Sweden"
+ "Vancouver, Canada" "Dublin, Ireland" "Paris, France" "Denver, Colorado" "Cape Town, South Africa"
+ "San Francisco, California" "Helsinki, Finland" "Singapore" "Oslo, Norway" "Montreal, Canada"
+ "Osaka, Japan" "Manchester, England" "Barcelona, Spain" "Wellington, New Zealand" "Reykjavik, Iceland"
+ "Buenos Aires, Argentina" "Prague, Czech Republic" "Bangkok, Thailand" "Taipei, Taiwan" "Nairobi, Kenya"
+ "Lima, Peru" "Kyoto, Japan" "Edinburgh, Scotland" "Bologna, Italy" "Zurich, Switzerland"
+ "Copenhagen, Denmark" "Marrakech, Morocco" "Hanoi, Vietnam" "Bogota, Colombia" "Tallinn, Estonia"
+ "Krakow, Poland" "Kuala Lumpur, Malaysia" "Mumbai, India" "Mexico City, Mexico" "Christchurch, New Zealand"
+)
+
+BIOS=()
+while IFS= read -r line; do
+ [ -n "$line" ] && BIOS+=("$line")
+done < "$SEED_DIR/bios.html"
+
+SIGS=()
+while IFS= read -r line; do
+ [ -n "$line" ] && SIGS+=("$line")
+done < "$SEED_DIR/signatures.html"
+
+BIO_COUNT=${#BIOS[@]}
+SIG_COUNT=${#SIGS[@]}
+
+TOTAL_USERS=$(( RANDOM % 31 + 120 ))
+CITIZEN_COUNT=$(( TOTAL_USERS - 1 ))
+
+ADMIN_COUNT=$(( CITIZEN_COUNT * 2 / 100 ))
+MOD_COUNT=$(( CITIZEN_COUNT * 3 / 100 ))
+BANNED_COUNT=$(( CITIZEN_COUNT * 4 / 100 ))
+DISABLED_COUNT=$(( CITIZEN_COUNT * 3 / 100 ))
+UNVERIFIED_COUNT=$(( CITIZEN_COUNT * 5 / 100 ))
+[ "$ADMIN_COUNT" -lt 1 ] && ADMIN_COUNT=1
+[ "$MOD_COUNT" -lt 1 ] && MOD_COUNT=1
+[ "$BANNED_COUNT" -lt 1 ] && BANNED_COUNT=1
+[ "$DISABLED_COUNT" -lt 1 ] && DISABLED_COUNT=1
+[ "$UNVERIFIED_COUNT" -lt 1 ] && UNVERIFIED_COUNT=1
+
+SLOTS=()
+for ((i=0; i<CITIZEN_COUNT; i++)); do SLOTS+=("$i"); done
+for ((i=${#SLOTS[@]}-1; i>0; i--)); do
+ j=$(( RANDOM % (i + 1) ))
+ tmp=${SLOTS[$i]}; SLOTS[$i]=${SLOTS[$j]}; SLOTS[$j]=$tmp
+done
+
+BIO_MAP=""
+for ((i=0; i<BIO_COUNT && i<${#SLOTS[@]}; i++)); do
+ BIO_MAP="${BIO_MAP},${SLOTS[$i]}:${i},"
+done
+
+SIG_POOL=()
+for ((i=0; i<BIO_COUNT && i<${#SLOTS[@]}; i++)); do SIG_POOL+=("${SLOTS[$i]}"); done
+for ((i=${#SIG_POOL[@]}-1; i>0; i--)); do
+ j=$(( RANDOM % (i + 1) ))
+ tmp=${SIG_POOL[$i]}; SIG_POOL[$i]=${SIG_POOL[$j]}; SIG_POOL[$j]=$tmp
+done
+
+SIG_MAP=""
+for ((i=0; i<SIG_COUNT && i<${#SIG_POOL[@]}; i++)); do
+ SIG_MAP="${SIG_MAP},${SIG_POOL[$i]}:${i},"
+done
+
+random_date_between() {
+ local start_epoch=$1
+ local end_epoch=$2
+ local range=$(( end_epoch - start_epoch ))
+ local offset=$(( RANDOM * RANDOM % range ))
+ echo $(( start_epoch + offset ))
}
-")
+
+NOW_EPOCH=$(date +%s)
+THREE_MONTHS_AGO=$(date -v-3m +%s 2>/dev/null || date -d "3 months ago" +%s)
+ONE_MONTH_AGO=$(date -v-1m +%s 2>/dev/null || date -d "1 month ago" +%s)
+ONE_MONTH_AHEAD=$(date -v+1m +%s 2>/dev/null || date -d "1 month" +%s)
+FOUR_MONTHS_AGO=$(date -v-4m +%s 2>/dev/null || date -d "4 months ago" +%s)
+
+OWNER_DATE=$(date -r $FOUR_MONTHS_AGO +"%Y-%m-%dT%H:%M:%SZ" 2>/dev/null || date -d "@$FOUR_MONTHS_AGO" +"%Y-%m-%dT%H:%M:%SZ")
+OWNER_SEEN=$(date -u +"%Y-%m-%dT%H:%M:%SZ")
+OWNER_BIO='<p class="editor-paragraph"><i><em class="editor-italic" style="white-space: pre-wrap;">A really awesome cool slick ninja dinosaur thingy</em></i></p>'
+OWNER_SIG='<p class="editor-paragraph"><span style="white-space: pre-wrap;">Love and Ciao</span></p>'
SQL_FILE=$(mktemp)
trap "rm -f $SQL_FILE" EXIT
-printf '%s' "INSERT OR IGNORE INTO users (username, email, password_hash, display_name, role, email_verified, created_at, updated_at) VALUES " > "$SQL_FILE"
-printf '%s' "('cr', '[email protected]', '${HASH}', 'Bobby', 'owner', 1, '${OWNER_DATE}', '${OWNER_DATE}')" >> "$SQL_FILE"
+escape_sql() {
+ printf '%s' "$1" | sed "s/'/''/g"
+}
+
+echo "BEGIN TRANSACTION;" > "$SQL_FILE"
+
+OWNER_BIO_ESC=$(escape_sql "$OWNER_BIO")
+OWNER_SIG_ESC=$(escape_sql "$OWNER_SIG")
+cat >> "$SQL_FILE" << OWNERSQL
+INSERT OR IGNORE INTO users (
+ username, email, password_hash, display_name, role, email_verified,
+ jade, honor, pronouns, location, bio, signature, birthday, last_seen_at,
+ ip, created_at, updated_at
+) VALUES (
+ 'master', '[email protected]', '${HASH}', 'Master', 'owner', 1,
+ 1000, 500, 'sol/solis', 'The Cloud',
+ '${OWNER_BIO_ESC}', '${OWNER_SIG_ESC}',
+ '1904-03-15T00:00:00Z', '${OWNER_SEEN}',
+ '127.0.0.1', '${OWNER_DATE}', '${OWNER_DATE}'
+);
+OWNERSQL
+
+echo "Generating $CITIZEN_COUNT citizens..."
+
+USED_USERNAMES="|"
COUNT=0
-while IFS='|' read -r USERNAME DISPLAY JOIN_DATE; do
- DISPLAY=$(echo "$DISPLAY" | sed "s/'/''/g")
+for ((i=0; i<CITIZEN_COUNT; i++)); do
+ USERNAME=""
+ while true; do
+ FIRST=${FIRST_NAMES[$(( RANDOM % ${#FIRST_NAMES[@]} ))]}
+ USERNAME=$(echo "$FIRST" | tr '[:upper:]' '[:lower:]')
+ if [[ "$USED_USERNAMES" != *"|${USERNAME}|"* ]]; then
+ break
+ fi
+ LAST=${LAST_NAMES[$(( RANDOM % ${#LAST_NAMES[@]} ))]}
+ USERNAME=$(echo "${FIRST}${LAST}" | tr '[:upper:]' '[:lower:]')
+ if [[ "$USED_USERNAMES" != *"|${USERNAME}|"* ]]; then
+ break
+ fi
+ done
+ USED_USERNAMES="${USED_USERNAMES}${USERNAME}|"
+
+ DISPLAY_FIRST=${FIRST_NAMES[$(( RANDOM % ${#FIRST_NAMES[@]} ))]}
+ DISPLAY_LAST=${LAST_NAMES[$(( RANDOM % ${#LAST_NAMES[@]} ))]}
+ DISPLAY_NAME="$DISPLAY_FIRST $DISPLAY_LAST"
+
+ PRONOUN=${PRONOUNS[$(( RANDOM % ${#PRONOUNS[@]} ))]}
+ LOC=${LOCATIONS[$(( RANDOM % ${#LOCATIONS[@]} ))]}
+
+ JOIN_EPOCH=$(random_date_between $THREE_MONTHS_AGO $NOW_EPOCH)
+ JOIN_DATE=$(date -r $JOIN_EPOCH +"%Y-%m-%dT%H:%M:%SZ" 2>/dev/null || date -d "@$JOIN_EPOCH" +"%Y-%m-%dT%H:%M:%SZ")
+
+ SEEN_OFFSET=$(( RANDOM % (7 * 24 * 3600) ))
+ SEEN_EPOCH=$(( NOW_EPOCH - SEEN_OFFSET ))
+ LAST_SEEN=$(date -r $SEEN_EPOCH +"%Y-%m-%dT%H:%M:%SZ" 2>/dev/null || date -d "@$SEEN_EPOCH" +"%Y-%m-%dT%H:%M:%SZ")
+
+ BDAY_EPOCH=$(random_date_between $ONE_MONTH_AGO $ONE_MONTH_AHEAD)
+ BDAY_MONTH=$(date -r $BDAY_EPOCH +"%m" 2>/dev/null || date -d "@$BDAY_EPOCH" +"%m")
+ BDAY_DAY=$(date -r $BDAY_EPOCH +"%d" 2>/dev/null || date -d "@$BDAY_EPOCH" +"%d")
+ BIRTHDAY="1904-${BDAY_MONTH}-${BDAY_DAY}T00:00:00Z"
+
+ JADE=$(( RANDOM % 500 ))
+ HONOR=$(( RANDOM % 200 ))
+
+ BIO=""
+ SIG=""
+ if [[ "$BIO_MAP" == *",${i}:"* ]]; then
+ BIO_IDX=$(echo "$BIO_MAP" | sed "s/.*,${i}:\([0-9]*\),.*/\1/")
+ BIO=$(escape_sql "${BIOS[$BIO_IDX]}")
+ fi
+ if [[ "$SIG_MAP" == *",${i}:"* ]]; then
+ SIG_IDX=$(echo "$SIG_MAP" | sed "s/.*,${i}:\([0-9]*\),.*/\1/")
+ SIG=$(escape_sql "${SIGS[$SIG_IDX]}")
+ fi
+
+ ROLE="member"
+ EMAIL_VERIFIED=1
+ BANNED=0
+ BANNED_AT=""
+ BANNED_REASON=""
+ BANNED_BY=""
+ DISABLED=0
+ DISABLED_AT=""
+ DISABLED_REASON=""
+ DISABLED_BY=""
+ LINE_NUM=$(( i + 1 ))
+
+ if [ "$LINE_NUM" -le "$ADMIN_COUNT" ]; then
+ ROLE="admin"
+ elif [ "$LINE_NUM" -le "$((ADMIN_COUNT + MOD_COUNT))" ]; then
+ ROLE="moderator"
+ elif [ "$LINE_NUM" -le "$((ADMIN_COUNT + MOD_COUNT + BANNED_COUNT))" ]; then
+ BANNED=1
+ BANNED_AT="'${JOIN_DATE}'"
+ BANNED_REASON="'Violated community guidelines'"
+ BANNED_BY=1
+ elif [ "$LINE_NUM" -le "$((ADMIN_COUNT + MOD_COUNT + BANNED_COUNT + DISABLED_COUNT))" ]; then
+ DISABLED=1
+ DISABLED_AT="'${JOIN_DATE}'"
+ DISABLED_REASON="'Account temporarily suspended'"
+ DISABLED_BY=1
+ elif [ "$LINE_NUM" -le "$((ADMIN_COUNT + MOD_COUNT + BANNED_COUNT + DISABLED_COUNT + UNVERIFIED_COUNT))" ]; then
+ EMAIL_VERIFIED=0
+ fi
+
+ DISPLAY_ESC=$(escape_sql "$DISPLAY_NAME")
+ LOC_ESC=$(escape_sql "$LOC")
- printf '%s' ", ('${USERNAME}', '${USERNAME}@pagoda.local', '${HASH}', '${DISPLAY}', 'member', 1, '${JOIN_DATE}', '${JOIN_DATE}')" >> "$SQL_FILE"
+ printf "INSERT OR IGNORE INTO users (username, email, password_hash, display_name, role, email_verified, jade, honor, pronouns, location, bio, signature, birthday, last_seen_at, account_banned, banned_at, banned_reason, banned_by, account_disabled, disabled_at, disabled_reason, disabled_by, ip, created_at, updated_at) VALUES ('%s', '%[email protected]', '%s', '%s', '%s', %s, %s, %s, '%s', '%s', '%s', '%s', '%s', '%s', %s, %s, %s, %s, %s, %s, %s, %s, '127.0.0.1', '%s', '%s');\n" \
+ "$USERNAME" "$USERNAME" "$HASH" "$DISPLAY_ESC" "$ROLE" "$EMAIL_VERIFIED" \
+ "$JADE" "$HONOR" "$PRONOUN" "$LOC_ESC" "$BIO" "$SIG" \
+ "$BIRTHDAY" "$LAST_SEEN" \
+ "$BANNED" "${BANNED_AT:-NULL}" "${BANNED_REASON:-NULL}" "${BANNED_BY:-NULL}" \
+ "$DISABLED" "${DISABLED_AT:-NULL}" "${DISABLED_REASON:-NULL}" "${DISABLED_BY:-NULL}" \
+ "$JOIN_DATE" "$JOIN_DATE" >> "$SQL_FILE"
COUNT=$((COUNT + 1))
- echo " [$COUNT/99] $USERNAME ($DISPLAY)"
-done <<< "$NAMES"
+ STATUS=""
+ if [ "$BANNED" -eq 1 ]; then STATUS=" [banned]";
+ elif [ "$DISABLED" -eq 1 ]; then STATUS=" [disabled]";
+ elif [ "$EMAIL_VERIFIED" -eq 0 ]; then STATUS=" [unverified]";
+ elif [ "$ROLE" != "member" ]; then STATUS=" [$ROLE]";
+ fi
+ echo " [$COUNT/$CITIZEN_COUNT] $USERNAME ($DISPLAY_NAME)$STATUS"
+done
-echo ";" >> "$SQL_FILE"
+echo "COMMIT;" >> "$SQL_FILE"
echo "Inserting into database..."
sqlite3 "$DB_PATH" < "$SQL_FILE"
TOTAL=$(sqlite3 "$DB_PATH" "SELECT COUNT(*) FROM users;")
-echo "Done. Total users: $TOTAL" \ No newline at end of file
+echo "Done. Total users: $TOTAL (admins: $ADMIN_COUNT, mods: $MOD_COUNT, banned: $BANNED_COUNT, disabled: $DISABLED_COUNT, unverified: $UNVERIFIED_COUNT)" \ No newline at end of file
diff --git a/seed/bios.html b/seed/bios.html
new file mode 100644
index 0000000..0fd4b2d
--- /dev/null
+++ b/seed/bios.html
@@ -0,0 +1,109 @@
+<p class="editor-paragraph"><span style="white-space: pre-wrap;">just a small web enthusiast making things on the internet </span><br><span style="white-space: pre-wrap;">i collect </span><b><strong class="editor-bold" style="white-space: pre-wrap;">blinkies</strong></b><span style="white-space: pre-wrap;"> and </span><b><strong class="editor-bold" style="white-space: pre-wrap;">web badges</strong></b><span style="white-space: pre-wrap;"> like they're going out of style (they did, that's the point)</span></p>
+<p class="editor-paragraph"><i><em class="editor-italic" style="white-space: pre-wrap;">dreaming in hex colors since 2003</em></i><br><br><span style="white-space: pre-wrap;">html css and vibes. no javascript allowed on my lawn </span><br><span style="white-space: pre-wrap;">current mood: ๐ŸŒ™</span></p>
+<p class="editor-paragraph"><span style="white-space: pre-wrap;">welcome to my corner of the web! </span><br><br><b><strong class="editor-bold" style="white-space: pre-wrap;">interests:</strong></b><span style="white-space: pre-wrap;"> pixel art, retro gaming, web design, cats</span><br><b><strong class="editor-bold" style="white-space: pre-wrap;">currently playing:</strong></b><span style="white-space: pre-wrap;"> something old and good</span></p>
+<p class="editor-paragraph"><span style="white-space: pre-wrap;">professional internet explorer (not the browser) ๐Ÿ”</span><br><br><span style="white-space: pre-wrap;">i make websites for fun and refuse to learn react</span><br><i><em class="editor-italic" style="white-space: pre-wrap;">the old web was better and i will die on this hill</em></i></p>
+<p class="editor-paragraph"><span style="white-space: pre-wrap;">hi i'm a digital gardener tending my little web plot ๐ŸŒฑ</span><br><span style="white-space: pre-wrap;">if you like what you see, sign my guestbook!</span></p>
+<p class="editor-paragraph"><b><strong class="editor-bold" style="white-space: pre-wrap;">STATUS:</strong></b><span style="white-space: pre-wrap;"> perpetually under construction ๐Ÿšง</span><br><br><span style="white-space: pre-wrap;">webmaster, pixel pusher, css wizard</span><br><span style="white-space: pre-wrap;">making the web weird again one div at a time</span></p>
+<p class="editor-paragraph"><span style="white-space: pre-wrap;">๐ŸŽต linux user, pixel artist, coffee drinker ๐ŸŽต</span><br><br><span style="white-space: pre-wrap;">building my own little world out of html and spite</span><br><i><em class="editor-italic" style="white-space: pre-wrap;">powered by ramen and determination</em></i></p>
+<p class="editor-paragraph"><span style="white-space: pre-wrap;">i put the </span><i><em class="editor-italic" style="white-space: pre-wrap;">fun</em></i><span style="white-space: pre-wrap;"> in </span><b><strong class="editor-bold" style="white-space: pre-wrap;">function</strong></b><br><br><span style="white-space: pre-wrap;">amateur coder who thinks tables for layout was peak web design</span></p>
+<p class="editor-paragraph"><span style="white-space: pre-wrap;">nostalgic for the early web โœจ geocities refugee</span><br><br><b><strong class="editor-bold" style="white-space: pre-wrap;">skills:</strong></b><span style="white-space: pre-wrap;"> html, css, ms paint, being online too much</span></p>
+<p class="editor-paragraph"><span style="white-space: pre-wrap;">โญ collector of web things โญ</span><br><span style="white-space: pre-wrap;">buttons, blinkies, stamps, and bad opinions</span><br><br><i><em class="editor-italic" style="white-space: pre-wrap;">i have mass amounts of bookmarks and zero regrets</em></i></p>
+<p class="editor-paragraph"><span style="white-space: pre-wrap;">hi!! i like drawing and making websites ๐ŸŽจ</span><br><span style="white-space: pre-wrap;">my art is mediocre but my css is </span><b><strong class="editor-bold" style="white-space: pre-wrap;">immaculate</strong></b></p>
+<p class="editor-paragraph"><span style="white-space: pre-wrap;">yo i just think personal websites are neat</span><br><br><span style="white-space: pre-wrap;">recovering social media addict. this is my therapy</span><br><span style="white-space: pre-wrap;">๐Ÿ–ฅ๏ธ best viewed in 1024x768</span></p>
+<p class="editor-paragraph"><i><em class="editor-italic" style="white-space: pre-wrap;">you have entered my domain</em></i><br><br><span style="white-space: pre-wrap;">i write code during the day and worse code at night</span><br><span style="white-space: pre-wrap;">hobbyist web developer since dial-up was a thing</span></p>
+<p class="editor-paragraph"><span style="white-space: pre-wrap;">๐ŸŒธ amateur photographer and web designer ๐ŸŒธ</span><br><br><span style="white-space: pre-wrap;">i believe in the small web and also in naps</span></p>
+<p class="editor-paragraph"><b><strong class="editor-bold" style="white-space: pre-wrap;">web revival is real</strong></b><span style="white-space: pre-wrap;"> and i'm here for every pixel of it</span><br><br><span style="white-space: pre-wrap;">musician, artist, professional overthinker</span><br><span style="white-space: pre-wrap;">๐ŸŽธ check out my music page!</span></p>
+<p class="editor-paragraph"><span style="white-space: pre-wrap;">i spend too much time customizing my site and not enough time adding content</span><br><br><i><em class="editor-italic" style="white-space: pre-wrap;">it's about the journey not the destination</em></i><span style="white-space: pre-wrap;"> (the journey is CSS)</span></p>
+<p class="editor-paragraph"><span style="white-space: pre-wrap;">๐Ÿฑ cat parent, tea enthusiast, web builder</span><br><br><span style="white-space: pre-wrap;">started making websites in middle school and never stopped</span><br><b><strong class="editor-bold" style="white-space: pre-wrap;">frames and marquees forever</strong></b></p>
+<p class="editor-paragraph"><span style="white-space: pre-wrap;">just here to vibe and make weird little websites</span><br><span style="white-space: pre-wrap;">my code is spaghetti and i wouldn't have it any other way ๐Ÿ</span></p>
+<p class="editor-paragraph"><span style="white-space: pre-wrap;">old soul on the new web ๐Ÿ’พ</span><br><br><b><strong class="editor-bold" style="white-space: pre-wrap;">fav things:</strong></b><span style="white-space: pre-wrap;"> bitmap fonts, tiled backgrounds, visitor counters</span><br><span style="white-space: pre-wrap;">keeping the spirit of web 1.0 alive</span></p>
+<p class="editor-paragraph"><span style="white-space: pre-wrap;">๐Ÿฆ‡ creature of the night and the internet ๐Ÿฆ‡</span><br><br><span style="white-space: pre-wrap;">gothic web design is an art form and i am its humble practitioner</span></p>
+<p class="editor-paragraph"><span style="white-space: pre-wrap;">hello world! ๐Ÿ‘‹</span><br><span style="white-space: pre-wrap;">i like to tinker with things on the web</span><br><br><i><em class="editor-italic" style="white-space: pre-wrap;">forever adding new pages to my site that i will never finish</em></i></p>
+<p class="editor-paragraph"><span style="white-space: pre-wrap;">part-time webmaster, full-time nerd ๐Ÿค“</span><br><br><span style="white-space: pre-wrap;">i think every person deserves their own website</span><br><span style="white-space: pre-wrap;">the algorithm-free web is the </span><b><strong class="editor-bold" style="white-space: pre-wrap;">best</strong></b><span style="white-space: pre-wrap;"> web</span></p>
+<p class="editor-paragraph"><span style="white-space: pre-wrap;">๐ŸŒˆ making colorful things on the internet since forever</span><br><br><span style="white-space: pre-wrap;">designer by trade, web nerd by choice</span></p>
+<p class="editor-paragraph"><span style="white-space: pre-wrap;">i don't have a brand, i have a website. there's a difference</span><br><br><b><strong class="editor-bold" style="white-space: pre-wrap;">current hyperfixation:</strong></b><span style="white-space: pre-wrap;"> CSS art</span><br><i><em class="editor-italic" style="white-space: pre-wrap;">previous hyperfixation: also CSS art</em></i></p>
+<p class="editor-paragraph"><span style="white-space: pre-wrap;">๐Ÿ•น๏ธ retro game collector and web tinkerer</span><br><br><span style="white-space: pre-wrap;">my website has more pages than visitors and that's ok</span></p>
+<p class="editor-paragraph"><span style="white-space: pre-wrap;">local weirdo making websites in the year 20XX</span><br><span style="white-space: pre-wrap;">anti-minimalism activist ๐ŸŽช</span><br><br><b><strong class="editor-bold" style="white-space: pre-wrap;">more is more</strong></b></p>
+<p class="editor-paragraph"><span style="white-space: pre-wrap;">๐Ÿต tea, code, repeat</span><br><br><span style="white-space: pre-wrap;">freelance illustrator who spends more time on their personal site than on client work</span></p>
+<p class="editor-paragraph"><i><em class="editor-italic" style="white-space: pre-wrap;">in a committed relationship with my text editor</em></i><br><br><span style="white-space: pre-wrap;">full stack web developer (html + css = full stack right?)</span></p>
+<p class="editor-paragraph"><span style="white-space: pre-wrap;">๐ŸŒป spreading good vibes across the world wide web</span><br><br><span style="white-space: pre-wrap;">i believe in under construction gifs and background music autoplay</span></p>
+<p class="editor-paragraph"><span style="white-space: pre-wrap;">if you're reading this, you're cool ๐Ÿ˜Ž</span><br><br><span style="white-space: pre-wrap;">internet archaeologist and web preservationist</span><br><b><strong class="editor-bold" style="white-space: pre-wrap;">save the web!</strong></b></p>
+<p class="editor-paragraph"><span style="white-space: pre-wrap;">๐Ÿธ frog enthusiast and html hobbyist</span><br><br><span style="white-space: pre-wrap;">my website is my magnum opus (it has three pages)</span></p>
+<p class="editor-paragraph"><span style="white-space: pre-wrap;">bookworm, writer, and amateur web designer ๐Ÿ“š</span><br><br><i><em class="editor-italic" style="white-space: pre-wrap;">i write poetry and pretend people read it</em></i></p>
+<p class="editor-paragraph"><span style="white-space: pre-wrap;">hi i'm just here because social media is bad</span><br><span style="white-space: pre-wrap;">now i have a website instead and it's </span><b><strong class="editor-bold" style="white-space: pre-wrap;">significantly</strong></b><span style="white-space: pre-wrap;"> cooler</span></p>
+<p class="editor-paragraph"><span style="white-space: pre-wrap;">๐ŸŽฎ gamer, coder, professional procrastinator</span><br><br><span style="white-space: pre-wrap;">speedrunning website development (badly)</span></p>
+<p class="editor-paragraph"><span style="white-space: pre-wrap;">the internet used to be a place of wonder and it </span><b><strong class="editor-bold" style="white-space: pre-wrap;">can be again</strong></b><br><br><span style="white-space: pre-wrap;">โ˜€๏ธ optimist about the future of the personal web</span></p>
+<p class="editor-paragraph"><span style="white-space: pre-wrap;">๐ŸŽญ artist, writer, maker of things</span><br><br><span style="white-space: pre-wrap;">my website is my gallery, my diary, and my soapbox all in one</span></p>
+<p class="editor-paragraph"><span style="white-space: pre-wrap;">aspiring web wizard ๐Ÿง™</span><br><span style="white-space: pre-wrap;">currently learning: everything</span><br><span style="white-space: pre-wrap;">currently knowing: approximately nothing</span></p>
+<p class="editor-paragraph"><span style="white-space: pre-wrap;">๐ŸŒŠ ocean lover and web surfer (literally)</span><br><br><i><em class="editor-italic" style="white-space: pre-wrap;">surfing the web the way it was meant to be surfed</em></i></p>
+<p class="editor-paragraph"><span style="white-space: pre-wrap;">indie web advocate and pixel art dabbler</span><br><br><b><strong class="editor-bold" style="white-space: pre-wrap;">hot take:</strong></b><span style="white-space: pre-wrap;"> your website doesn't need to be useful, it just needs to be </span><i><em class="editor-italic" style="white-space: pre-wrap;">yours</em></i></p>
+<p class="editor-paragraph"><span style="white-space: pre-wrap;">๐Ÿ„ mushroom forager and website forager</span><br><br><span style="white-space: pre-wrap;">i find cool websites in the wild and add them to my links page</span></p>
+<p class="editor-paragraph"><span style="white-space: pre-wrap;">night owl coder ๐Ÿฆ‰</span><br><span style="white-space: pre-wrap;">best work happens between midnight and 4am</span><br><br><i><em class="editor-italic" style="white-space: pre-wrap;">this is not a healthy lifestyle but it is mine</em></i></p>
+<p class="editor-paragraph"><span style="white-space: pre-wrap;">๐Ÿช space nerd with a website</span><br><br><span style="white-space: pre-wrap;">my site has a starfield background and i </span><b><strong class="editor-bold" style="white-space: pre-wrap;">will not</strong></b><span style="white-space: pre-wrap;"> apologize</span></p>
+<p class="editor-paragraph"><span style="white-space: pre-wrap;">plant parent ๐ŸŒฟ web parent ๐ŸŒ</span><br><br><span style="white-space: pre-wrap;">both my plants and my websites need more attention than i give them</span></p>
+<p class="editor-paragraph"><span style="white-space: pre-wrap;">just vibing in my little html house ๐Ÿ </span><br><br><b><strong class="editor-bold" style="white-space: pre-wrap;">established:</strong></b><span style="white-space: pre-wrap;"> whenever i felt like it</span></p>
+<p class="editor-paragraph"><span style="white-space: pre-wrap;">๐ŸŽต musician who codes and coder who musics ๐ŸŽต</span><br><br><span style="white-space: pre-wrap;">my website has an embedded midi player and i think that's beautiful</span></p>
+<p class="editor-paragraph"><span style="white-space: pre-wrap;">critter enthusiast and web architect ๐Ÿพ</span><br><br><i><em class="editor-italic" style="white-space: pre-wrap;">every website should have an animals page. this is not negotiable</em></i></p>
+<p class="editor-paragraph"><span style="white-space: pre-wrap;">๐Ÿ–Œ๏ธ illustrator by day, webmaster by night</span><br><br><span style="white-space: pre-wrap;">my website is held together by willpower and z-index hacks</span></p>
+<p class="editor-paragraph"><span style="white-space: pre-wrap;">cottagecore but make it </span><b><strong class="editor-bold" style="white-space: pre-wrap;">webcore</strong></b><span style="white-space: pre-wrap;"> ๐ŸŒพ๐Ÿ’ป</span><br><br><span style="white-space: pre-wrap;">cozy websites for cozy people</span></p>
+<p class="editor-paragraph"><span style="white-space: pre-wrap;">๐Ÿ”ฎ digital witch brewing websites in my cauldron</span><br><br><span style="white-space: pre-wrap;">ingredients: html, css, a sprinkle of javascript, and three newt eyes</span></p>
+<p class="editor-paragraph"><span style="white-space: pre-wrap;">i have opinions about fonts and i </span><b><strong class="editor-bold" style="white-space: pre-wrap;">will</strong></b><span style="white-space: pre-wrap;"> share them</span><br><br><span style="white-space: pre-wrap;">typography nerd and web design enthusiast ๐Ÿ“</span></p>
+<p class="editor-paragraph"><span style="white-space: pre-wrap;">๐Ÿ”๏ธ mountain dweller making websites from the wilderness</span><br><br><i><em class="editor-italic" style="white-space: pre-wrap;">my internet connection is questionable but my website is not</em></i></p>
+<p class="editor-paragraph"><span style="white-space: pre-wrap;">recovering perfectionist learning to just ship it ๐Ÿš€</span><br><br><span style="white-space: pre-wrap;">my website is done when i say it's done (it's never done)</span></p>
+<p class="editor-paragraph"><span style="white-space: pre-wrap;">๐Ÿงถ fiber artist who also weaves the web</span><br><br><span style="white-space: pre-wrap;">knitting patterns and html have more in common than you think</span></p>
+<p class="editor-paragraph"><span style="white-space: pre-wrap;">chronically online since before it was a thing ๐Ÿ’€</span><br><br><b><strong class="editor-bold" style="white-space: pre-wrap;">achievement unlocked:</strong></b><span style="white-space: pre-wrap;"> 20+ years of being on the internet</span></p>
+<p class="editor-paragraph"><span style="white-space: pre-wrap;">๐ŸŽช ringmaster of my own little internet circus</span><br><br><span style="white-space: pre-wrap;">step right up and see the amazing blinking text!</span></p>
+<p class="editor-paragraph"><span style="white-space: pre-wrap;">solarpunk web designer โ˜€๏ธ๐ŸŒฟ</span><br><br><span style="white-space: pre-wrap;">building a better internet, one sustainable website at a time</span></p>
+<p class="editor-paragraph"><span style="white-space: pre-wrap;">๐ŸŽฒ tabletop gamer and web hobbyist</span><br><br><span style="white-space: pre-wrap;">rolled a nat 20 on website building. rolled a nat 1 on updating it regularly</span></p>
+<p class="editor-paragraph"><span style="white-space: pre-wrap;">i think websites should sparkle โœจ</span><br><br><i><em class="editor-italic" style="white-space: pre-wrap;">if your website doesn't have at least one gif, what are you even doing</em></i></p>
+<p class="editor-paragraph"><span style="white-space: pre-wrap;">๐Ÿงช mad scientist of web design</span><br><br><span style="white-space: pre-wrap;">my experiments are questionable but my enthusiasm is </span><b><strong class="editor-bold" style="white-space: pre-wrap;">unmatched</strong></b></p>
+<p class="editor-paragraph"><span style="white-space: pre-wrap;">quiet person, loud website ๐Ÿ“ข</span><br><br><span style="white-space: pre-wrap;">i let my html speak for me</span></p>
+<p class="editor-paragraph"><span style="white-space: pre-wrap;">๐ŸŒ™ nocturnal web builder</span><br><br><span style="white-space: pre-wrap;">all of my best design decisions were made at 3am and most of them were bad</span></p>
+<p class="editor-paragraph"><span style="white-space: pre-wrap;">vintage web collector ๐Ÿ“ผ</span><br><br><span style="white-space: pre-wrap;">i archive old websites like people archive vinyl records</span><br><b><strong class="editor-bold" style="white-space: pre-wrap;">preservation matters</strong></b></p>
+<p class="editor-paragraph"><span style="white-space: pre-wrap;">๐Ÿ busy bee making honeycombs of html</span><br><br><span style="white-space: pre-wrap;">my website is sweet and i'm proud of it</span></p>
+<p class="editor-paragraph"><span style="white-space: pre-wrap;">aspiring polymath, actual procrastinator ๐Ÿคท</span><br><br><span style="white-space: pre-wrap;">interests: too many. websites: also too many. finished projects: zero</span></p>
+<p class="editor-paragraph"><span style="white-space: pre-wrap;">๐Ÿดโ€โ˜ ๏ธ sailing the indie web seas</span><br><br><i><em class="editor-italic" style="white-space: pre-wrap;">arr, matey, have ye signed me guestbook?</em></i></p>
+<p class="editor-paragraph"><span style="white-space: pre-wrap;">film photography nerd and website builder ๐Ÿ“ท</span><br><br><span style="white-space: pre-wrap;">both my photos and my websites have that grainy analog charm</span></p>
+<p class="editor-paragraph"><span style="white-space: pre-wrap;">๐ŸฆŠ fox lover and web tinkerer</span><br><br><span style="white-space: pre-wrap;">firefox is the best browser and i accept no debate on this matter</span></p>
+<p class="editor-paragraph"><span style="white-space: pre-wrap;">i peaked when i learned how to center a div</span><br><br><b><strong class="editor-bold" style="white-space: pre-wrap;">it's all downhill from here</strong></b><span style="white-space: pre-wrap;"> (and i'm enjoying the ride)</span></p>
+<p class="editor-paragraph"><span style="white-space: pre-wrap;">๐ŸŒบ tropical vibes, digital life</span><br><br><span style="white-space: pre-wrap;">making websites from paradise (my room with a desk fan)</span></p>
+<p class="editor-paragraph"><span style="white-space: pre-wrap;">the web is a canvas and i refuse to paint inside the lines ๐ŸŽจ</span><br><br><i><em class="editor-italic" style="white-space: pre-wrap;">embrace chaos. embrace tables. embrace the blink tag</em></i></p>
+<p class="editor-paragraph"><span style="white-space: pre-wrap;">๐ŸงŠ cool and normal person with a cool and normal website</span><br><br><span style="white-space: pre-wrap;">(the website has flame gifs and a skull cursor)</span></p>
+<p class="editor-paragraph"><span style="white-space: pre-wrap;">train enthusiast who also rides the information superhighway ๐Ÿš‚</span><br><br><b><strong class="editor-bold" style="white-space: pre-wrap;">next stop:</strong></b><span style="white-space: pre-wrap;"> my website</span></p>
+<p class="editor-paragraph"><span style="white-space: pre-wrap;">๐ŸŒต desert dweller with an oasis of a website</span><br><br><span style="white-space: pre-wrap;">dry humor, warm climate, hot takes about web design</span></p>
+<p class="editor-paragraph"><span style="white-space: pre-wrap;">baker and coder ๐Ÿฐ</span><br><br><span style="white-space: pre-wrap;">both involve following recipes, making a mess, and hoping for the best</span></p>
+<p class="editor-paragraph"><span style="white-space: pre-wrap;">๐ŸŽญ theater kid energy but for websites</span><br><br><i><em class="editor-italic" style="white-space: pre-wrap;">every page is a stage and every visitor is my audience</em></i></p>
+<p class="editor-paragraph"><span style="white-space: pre-wrap;">i've been on the internet too long to remember what grass looks like ๐ŸŒพ</span><br><br><span style="white-space: pre-wrap;">but at least my website is nice</span></p>
+<p class="editor-paragraph"><span style="white-space: pre-wrap;">๐Ÿชด slowly growing my website like a bonsai tree</span><br><br><span style="white-space: pre-wrap;">patience, care, and strategic pruning of dead links</span></p>
+<p class="editor-paragraph"><span style="white-space: pre-wrap;">map nerd and web cartographer ๐Ÿ—บ๏ธ</span><br><br><span style="white-space: pre-wrap;">exploring the indie web and charting its many wonders</span></p>
+<p class="editor-paragraph"><span style="white-space: pre-wrap;">๐Ÿ  introvert who built their dream house out of html</span><br><br><b><strong class="editor-bold" style="white-space: pre-wrap;">visitors welcome.</strong></b><span style="white-space: pre-wrap;"> shoes off at the door please</span></p>
+<p class="editor-paragraph"><span style="white-space: pre-wrap;">chaotic good web designer ๐ŸŽฒ</span><br><br><span style="white-space: pre-wrap;">i follow no grid system and answer to no framework</span></p>
+<p class="editor-paragraph"><span style="white-space: pre-wrap;">๐Ÿ‰ here be dragons (and also my website)</span><br><br><span style="white-space: pre-wrap;">fantasy nerd who builds websites instead of DnD campaigns now</span></p>
+<p class="editor-paragraph"><span style="white-space: pre-wrap;">my browser has 47 tabs open and one of them is my own website ๐Ÿท๏ธ</span><br><br><i><em class="editor-italic" style="white-space: pre-wrap;">i will close them eventually (i will not)</em></i></p>
+<p class="editor-paragraph"><span style="white-space: pre-wrap;">๐ŸŽธ punk rock attitude, pixel art aesthetic</span><br><br><span style="white-space: pre-wrap;">DIY websites for a DIY world. corporate web can get lost</span></p>
+<p class="editor-paragraph"><span style="white-space: pre-wrap;">friendly neighborhood webmaster ๐Ÿ•ธ๏ธ</span><br><br><span style="white-space: pre-wrap;">with great html comes great responsibility</span></p>
+<p class="editor-paragraph"><span style="white-space: pre-wrap;">๐Ÿง life is short. eat cake. make websites</span><br><br><span style="white-space: pre-wrap;">in that order. always in that order</span></p>
+<p class="editor-paragraph"><span style="white-space: pre-wrap;">haunting the internet like a friendly ghost ๐Ÿ‘ป</span><br><br><b><strong class="editor-bold" style="white-space: pre-wrap;">boo!</strong></b><span style="white-space: pre-wrap;"> (did i scare you? no? ok. look at my website instead)</span></p>
+<p class="editor-paragraph"><span style="white-space: pre-wrap;">๐ŸŽจ color theory obsessed web designer</span><br><br><span style="white-space: pre-wrap;">i have spent 3 hours choosing between two shades of blue that are identical</span></p>
+<p class="editor-paragraph"><span style="white-space: pre-wrap;">robot in disguise ๐Ÿค–</span><br><br><span style="white-space: pre-wrap;">just kidding. i'm a human who makes websites. beep boop</span></p>
+<p class="editor-paragraph"><span style="white-space: pre-wrap;">๐ŸŒป spreading sunshine across the world wide web</span><br><br><span style="white-space: pre-wrap;">one cheerful webpage at a time</span></p>
+<p class="editor-paragraph"><span style="white-space: pre-wrap;">i write code like i write poetry: badly but with great passion ๐Ÿ“</span><br><br><i><em class="editor-italic" style="white-space: pre-wrap;">roses are red, violets are blue, my div won't center, i don't know what to do</em></i></p>
+<p class="editor-paragraph"><span style="white-space: pre-wrap;">๐Ÿ—๏ธ keeper of links and curator of the obscure</span><br><br><span style="white-space: pre-wrap;">if you need a website about something weird, i probably have it bookmarked</span></p>
+<p class="editor-paragraph"><span style="white-space: pre-wrap;">making websites is my love language ๐Ÿ’Œ</span><br><br><span style="white-space: pre-wrap;">gifts of service (web services, specifically)</span></p>
+<p class="editor-paragraph"><span style="white-space: pre-wrap;">โ˜• fueled entirely by caffeine and nostalgia</span><br><br><b><strong class="editor-bold" style="white-space: pre-wrap;">daily routine:</strong></b><span style="white-space: pre-wrap;"> wake up, coffee, check neocities, code, sleep, repeat</span></p>
+<p class="editor-paragraph"><span style="white-space: pre-wrap;">๐ŸŒˆ life's too short for boring websites</span><br><br><span style="white-space: pre-wrap;">if it doesn't have at least 5 colors on the homepage, i'm not interested</span></p>
+<p class="editor-paragraph"><span style="white-space: pre-wrap;">time traveler from web 1.0 ๐Ÿ•ฐ๏ธ</span><br><br><span style="white-space: pre-wrap;">i've seen things you wouldn't believe. animated construction workers. dancing babies. webring after webring...</span></p>
+<p class="editor-paragraph"><span style="white-space: pre-wrap;">๐Ÿงต threading pixels together since forever</span><br><br><i><em class="editor-italic" style="white-space: pre-wrap;">cross stitch enthusiast who learned that pixel art is basically the same thing</em></i></p>
+<p class="editor-paragraph"><span style="white-space: pre-wrap;">i take my websites seriously and nothing else ๐Ÿƒ</span><br><br><span style="white-space: pre-wrap;">professional goofball, amateur webmaster</span></p>
+<p class="editor-paragraph"><span style="white-space: pre-wrap;">๐ŸŒง๏ธ rainy day web builder</span><br><br><span style="white-space: pre-wrap;">there's no better time to code than when it's pouring outside</span><br><b><strong class="editor-bold" style="white-space: pre-wrap;">lo-fi beats and html sheets</strong></b></p>
+<p class="editor-paragraph"><span style="white-space: pre-wrap;">small web, big dreams โœจ</span><br><br><span style="white-space: pre-wrap;">one day my website will be cool. today is not that day. but </span><i><em class="editor-italic" style="white-space: pre-wrap;">soon</em></i></p>
+<p class="editor-paragraph"><span style="white-space: pre-wrap;">๐Ÿง penguin appreciator and open source advocate</span><br><br><span style="white-space: pre-wrap;">free software, free web, free penguin stickers (while supplies last)</span></p>
+<p class="editor-paragraph"><span style="white-space: pre-wrap;">wanderer of the digital realm ๐Ÿ—ก๏ธ</span><br><br><span style="white-space: pre-wrap;">i quest for cool websites and slay boring homepages</span></p>
+<p class="editor-paragraph"><span style="white-space: pre-wrap;">๐ŸŽช welcome to the show! my website is the main attraction</span><br><br><span style="white-space: pre-wrap;">admission: free. exit: through the guestbook</span></p>
+<p class="editor-paragraph"><span style="white-space: pre-wrap;">minimalist in life, maximalist on the web ๐Ÿ–ผ๏ธ</span><br><br><i><em class="editor-italic" style="white-space: pre-wrap;">my apartment is empty but my website has seventeen background images</em></i></p>
+<p class="editor-paragraph"><span style="white-space: pre-wrap;">just a chill person making chill websites ๐ŸงŠ</span><br><br><span style="white-space: pre-wrap;">no pressure, no deadlines, just vibes</span></p>
+<p class="editor-paragraph"><span style="white-space: pre-wrap;">๐ŸŽต my website has a soundtrack and it slaps</span><br><br><b><strong class="editor-bold" style="white-space: pre-wrap;">autoplay midi is a feature not a bug</strong></b></p>
+<p class="editor-paragraph"><span style="white-space: pre-wrap;">gardener of both real and digital gardens ๐ŸŒฑ</span><br><br><span style="white-space: pre-wrap;">my tomatoes are doing better than my CSS but we don't talk about that</span></p>
+<p class="editor-paragraph"><span style="white-space: pre-wrap;">๐Ÿ”ง fixing things that aren't broken since 1999</span><br><br><span style="white-space: pre-wrap;">if it works, don't touch it. unless it's your website. then touch it constantly</span></p>
+<p class="editor-paragraph"><span style="white-space: pre-wrap;">perpetual student of the web ๐Ÿ“–</span><br><br><span style="white-space: pre-wrap;">every day i learn something new about CSS and every day i forget something old</span></p>
+<p class="editor-paragraph"><span style="white-space: pre-wrap;">๐Ÿ„ riding the wave of indie web creativity</span><br><br><span style="white-space: pre-wrap;">cowabunga, dude. check out my rad homepage</span></p> \ No newline at end of file
diff --git a/seed/signatures.html b/seed/signatures.html
new file mode 100644
index 0000000..edb22a4
--- /dev/null
+++ b/seed/signatures.html
@@ -0,0 +1,60 @@
+<p class="editor-paragraph"><span style="white-space: pre-wrap;">thanks for visiting my site!</span></p>
+<p class="editor-paragraph"><span style="white-space: pre-wrap;">keep the web weird</span></p>
+<p class="editor-paragraph"><i><em class="editor-italic" style="white-space: pre-wrap;">made with love and too much coffee</em></i></p>
+<p class="editor-paragraph"><span style="white-space: pre-wrap;">the internet is my playground</span></p>
+<p class="editor-paragraph"><span style="white-space: pre-wrap;">stay curious, stay creative</span></p>
+<p class="editor-paragraph"><b><strong class="editor-bold" style="white-space: pre-wrap;">long live the personal web</strong></b></p>
+<p class="editor-paragraph"><span style="white-space: pre-wrap;">web revival is real</span></p>
+<p class="editor-paragraph"><i><em class="editor-italic" style="white-space: pre-wrap;">embrace the cringe</em></i></p>
+<p class="editor-paragraph"><span style="white-space: pre-wrap;">see you in the webrings!</span></p>
+<p class="editor-paragraph"><span style="white-space: pre-wrap;">peace, love, and html</span></p>
+<p class="editor-paragraph"><span style="white-space: pre-wrap;">signed, a humble webmaster</span></p>
+<p class="editor-paragraph"><b><strong class="editor-bold" style="white-space: pre-wrap;">be the website you want to see in the world</strong></b></p>
+<p class="editor-paragraph"><span style="white-space: pre-wrap;">don't forget to sign my guestbook!</span></p>
+<p class="editor-paragraph"><span style="white-space: pre-wrap;">love and ciao</span></p>
+<p class="editor-paragraph"><i><em class="editor-italic" style="white-space: pre-wrap;">end of line</em></i></p>
+<p class="editor-paragraph"><span style="white-space: pre-wrap;">until next time!</span></p>
+<p class="editor-paragraph"><span style="white-space: pre-wrap;">happy surfing!</span></p>
+<p class="editor-paragraph"><span style="white-space: pre-wrap;">you've been visited by the webmaster fairy</span></p>
+<p class="editor-paragraph"><b><strong class="editor-bold" style="white-space: pre-wrap;">small web, big heart</strong></b></p>
+<p class="editor-paragraph"><span style="white-space: pre-wrap;">catch me in the nekoverse</span></p>
+<p class="editor-paragraph"><span style="white-space: pre-wrap;">stay hydrated. touch grass. update your website</span></p>
+<p class="editor-paragraph"><i><em class="editor-italic" style="white-space: pre-wrap;">this signature is under construction</em></i></p>
+<p class="editor-paragraph"><span style="white-space: pre-wrap;">powered by pixels and determination</span></p>
+<p class="editor-paragraph"><span style="white-space: pre-wrap;">your friendly neighborhood webmaster</span></p>
+<p class="editor-paragraph"><b><strong class="editor-bold" style="white-space: pre-wrap;">404 signature not found</strong></b><span style="white-space: pre-wrap;"> (just kidding, here it is)</span></p>
+<p class="editor-paragraph"><span style="white-space: pre-wrap;">may your links never be broken</span></p>
+<p class="editor-paragraph"><span style="white-space: pre-wrap;">one website at a time</span></p>
+<p class="editor-paragraph"><i><em class="editor-italic" style="white-space: pre-wrap;">the web is what we make it</em></i></p>
+<p class="editor-paragraph"><span style="white-space: pre-wrap;">bytes and love</span></p>
+<p class="editor-paragraph"><span style="white-space: pre-wrap;">Ctrl+S and goodnight</span></p>
+<p class="editor-paragraph"><b><strong class="editor-bold" style="white-space: pre-wrap;">keep clicking, keep creating</strong></b></p>
+<p class="editor-paragraph"><span style="white-space: pre-wrap;">see you on the information superhighway</span></p>
+<p class="editor-paragraph"><span style="white-space: pre-wrap;">ad astra per html</span></p>
+<p class="editor-paragraph"><i><em class="editor-italic" style="white-space: pre-wrap;">semper web</em></i></p>
+<p class="editor-paragraph"><span style="white-space: pre-wrap;">logging off for now</span></p>
+<p class="editor-paragraph"><span style="white-space: pre-wrap;">xoxo, a creature of the internet</span></p>
+<p class="editor-paragraph"><b><strong class="editor-bold" style="white-space: pre-wrap;">make websites not war</strong></b></p>
+<p class="editor-paragraph"><span style="white-space: pre-wrap;">brb updating my site</span></p>
+<p class="editor-paragraph"><span style="white-space: pre-wrap;">in code we trust</span></p>
+<p class="editor-paragraph"><i><em class="editor-italic" style="white-space: pre-wrap;">no thoughts, just html</em></i></p>
+<p class="editor-paragraph"><span style="white-space: pre-wrap;">have a nice browse!</span></p>
+<p class="editor-paragraph"><span style="white-space: pre-wrap;">life is short, make weird websites</span></p>
+<p class="editor-paragraph"><b><strong class="editor-bold" style="white-space: pre-wrap;">the revolution will be hyperlinked</strong></b></p>
+<p class="editor-paragraph"><span style="white-space: pre-wrap;">click responsibly</span></p>
+<p class="editor-paragraph"><span style="white-space: pre-wrap;">farewell, fellow netizen</span></p>
+<p class="editor-paragraph"><i><em class="editor-italic" style="white-space: pre-wrap;">may your bandwidth be plentiful</em></i></p>
+<p class="editor-paragraph"><span style="white-space: pre-wrap;">go forth and hyperlink</span></p>
+<p class="editor-paragraph"><span style="white-space: pre-wrap;">cheers from the small web</span></p>
+<p class="editor-paragraph"><b><strong class="editor-bold" style="white-space: pre-wrap;">never stop building</strong></b></p>
+<p class="editor-paragraph"><span style="white-space: pre-wrap;">thanks for reading my posts!</span></p>
+<p class="editor-paragraph"><span style="white-space: pre-wrap;">my website misses you already</span></p>
+<p class="editor-paragraph"><i><em class="editor-italic" style="white-space: pre-wrap;">this message will self-destruct (it won't)</em></i></p>
+<p class="editor-paragraph"><span style="white-space: pre-wrap;">remember when the internet was fun? it still is</span></p>
+<p class="editor-paragraph"><span style="white-space: pre-wrap;">onwards and upwards!</span></p>
+<p class="editor-paragraph"><b><strong class="editor-bold" style="white-space: pre-wrap;">the future is handmade</strong></b></p>
+<p class="editor-paragraph"><span style="white-space: pre-wrap;">take care out there on the web</span></p>
+<p class="editor-paragraph"><span style="white-space: pre-wrap;">another day, another commit</span></p>
+<p class="editor-paragraph"><i><em class="editor-italic" style="white-space: pre-wrap;">view source for the truth</em></i></p>
+<p class="editor-paragraph"><span style="white-space: pre-wrap;">with love from my text editor</span></p>
+<p class="editor-paragraph"><span style="white-space: pre-wrap;">wishing you good CSS specificity</span></p> \ No newline at end of file