Move old_index
This commit is contained in:
parent
cc4c96456f
commit
14f39253b2
Binary file not shown.
After Width: | Height: | Size: 94 KiB |
|
@ -0,0 +1,170 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="x-ua-compatible" content="ie=edge">
|
||||
<meta name="viewport"
|
||||
content="width=device-width, initial-scale=1, user-scalable=yes">
|
||||
<meta name="author" content="acdw">
|
||||
|
||||
<title>acdw's house</title>
|
||||
|
||||
<link rel="stylesheet" href="style.css" type="text/css" />
|
||||
<script src="script.js" type="text/javascript"> </script>
|
||||
</head>
|
||||
<body>
|
||||
<div id="everything">
|
||||
<section id="cover">
|
||||
<h1>~acdw</h1>
|
||||
<a id="moon" href="moon/">🌚</a>
|
||||
</section>
|
||||
<div id="below-the-fold">
|
||||
<main role="main">
|
||||
<section id="house">
|
||||
<table id="site-header">
|
||||
<tr><td>
|
||||
<pre>
|
||||
__
|
||||
/ \
|
||||
/ \
|
||||
------
|
||||
| ____|
|
||||
| | ||
|
||||
| | '||
|
||||
~~~~~~~~
|
||||
</pre>
|
||||
</td>
|
||||
<td id="titleblock">
|
||||
<h1>acdw's house</h1>
|
||||
<h2>in the
|
||||
<a href="https://tilde.town">
|
||||
~.town
|
||||
</a>
|
||||
</h2>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</section>
|
||||
|
||||
<section id="about">
|
||||
<h1>about me</h1>
|
||||
<img id="mood" src="mood.jpg" alt="a dog with her head under the sofa" title="Mood." />
|
||||
<p>I work in a library and care about books and information being free.
|
||||
I have two dogs and foster a third.
|
||||
I'm getting married soon and I'm excited about it.
|
||||
</p>
|
||||
<p>I'm interested in
|
||||
veganism,
|
||||
cooking,
|
||||
socialism,
|
||||
free software,
|
||||
making friends,
|
||||
science fiction,
|
||||
co-ops (or at least the idea of them),
|
||||
and cetera.
|
||||
I'm a Unitarian Universalist by church
|
||||
and an atheist/humanist by faith
|
||||
(or lack of it).
|
||||
I believe in the inherent goodness of people.
|
||||
I believe in the simple fact
|
||||
that we've made our bed,
|
||||
and we can remake it to be better.
|
||||
</p>
|
||||
<p>My favorite children's book might just be
|
||||
<a href="https://www.goodreads.com/book/show/363973.The_Little_Old_Lady_Who_Was_Not_Afraid_of_Anything">
|
||||
<em>The Little Old Woman Who Wasn't Afraid of Anything</em></a>.
|
||||
It's a lot of fun to read and it has a good message,
|
||||
namely: <em>Don't be afraid of the unknown.
|
||||
It's probably just misunderstood.</em>
|
||||
</p>
|
||||
<p>I am in complete awe of the community here on ~.town.
|
||||
There's so much great art around town
|
||||
and I want to make some that's just as good.
|
||||
Everyone here inspires the hell out of me.
|
||||
</p>
|
||||
</section>
|
||||
|
||||
<section id="links">
|
||||
<h1>links</h2>
|
||||
<dl>
|
||||
<dt>my stuff</dt>
|
||||
<dd><a href="old_index">
|
||||
old site</a></dd>
|
||||
<dd><a href="feels">
|
||||
feels</a></dd>
|
||||
<dd><a href="https://www.acdw.net">
|
||||
my "real" website</a></dd>
|
||||
<dd><a href="http://ring.acdw.net">
|
||||
a webring I made</a></dd>
|
||||
<dd><a href="/~loosepoops/">
|
||||
L O O S E P O O P S</a></dd>
|
||||
|
||||
<dt>coolness around town</dt>
|
||||
<dd><a href="/~troido/cadastre/town.html">
|
||||
town plots</a></dd>
|
||||
<dd><a href="/~demophoon/">
|
||||
~demophoon</a></dd>
|
||||
<dd><a href="/~x4464/tildebrowser/">
|
||||
a browser of all our pages</a></dd>
|
||||
<dd><a href="/~karlen/">
|
||||
no one will ever read this</a></dd>
|
||||
|
||||
<dt>surfing the world wide web</dt>
|
||||
<dd><a href="https://generative.fm/">
|
||||
Generative music generator</a></dd>
|
||||
</dl>
|
||||
</section>
|
||||
|
||||
<section id="lets-get-weird">
|
||||
<h1>get weird</h1>
|
||||
<p class="note">
|
||||
I want to do something here that's "weird,"
|
||||
like interesting.
|
||||
But I don't know what to do.
|
||||
Maybe bad poetry?</p>
|
||||
<p class="verse">
|
||||
<span class="line">There are things and there are things</span>
|
||||
<span class="line">and there are other things, surely</span>
|
||||
<span class="line">there are those that would not want</span>
|
||||
<span class="line">to be so general but they don't know</span>
|
||||
<span class="line">what it means to be general do they</span>
|
||||
<p class="verse">
|
||||
<span class="line">I have the general feeling</span>
|
||||
<span class="line">that I wrote this in about two minutes</span>
|
||||
<span class="line">and it shows</span>
|
||||
<p class="verse">
|
||||
<span class="line">I cannot simply keep slumping down into</span>
|
||||
<span class="line">a reflexive self-consciousness</span>
|
||||
<span class="line">I need to simply be who I am</span>
|
||||
<span class="line">and be myself surely there is a way</span>
|
||||
<span class="line">to do that but somehow they never</span>
|
||||
<span class="line">told me what to do</span>
|
||||
</section>
|
||||
</main>
|
||||
<footer>
|
||||
<span class="ring" id="tilde_ring">
|
||||
<em>a member of the ~ring</em>
|
||||
(<a href="/~eeeeeta/ring/join.html">join</a>)
|
||||
</span>
|
||||
<span class="ring-links">
|
||||
<a id="tilde_town_ring" class="tilde_ring_link" href="">
|
||||
random ~user
|
||||
</a>
|
||||
| <a id="random_tildebox" class="tilde_ring_link" href="">
|
||||
random ~box
|
||||
</a>
|
||||
| <a id="tilde_town_ring_next" class="tilde_ring_link" href="">
|
||||
next ~user
|
||||
</a>
|
||||
</span>
|
||||
<script type="text/javascript">
|
||||
var ringjs = document.createElement('script')
|
||||
ringjs.src = document.location.protocol
|
||||
+ '//tilde.town/~login/tilde_ring.js'
|
||||
document.getElementById('tilde_ring').appendChild(ringjs)
|
||||
</script>
|
||||
</footer>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
Binary file not shown.
After Width: | Height: | Size: 1.3 MiB |
|
@ -0,0 +1,45 @@
|
|||
<!DOCTYPE html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="x-ua-compatible" content="ie=edge">
|
||||
<meta name="viewport"
|
||||
content="width=device-width, initial-scale=1, user-scalable=yes">
|
||||
<meta name="author" content="acdw">
|
||||
<title>moon</title>
|
||||
<link rel="stylesheet" type="text/css" href="style.css" />
|
||||
<script src="suncalc.js" type="text/javascript"> </script>
|
||||
</head>
|
||||
<body>
|
||||
<p>
|
||||
The moon is <span id="phase"></span> tonight, long live the moon.
|
||||
</p>
|
||||
<script>
|
||||
function phaseStr(phase) {
|
||||
if (phase == 0) {
|
||||
return "new";
|
||||
} else if (phase < 0.25) {
|
||||
return "a waxing crescent";
|
||||
} else if (phase == 0.25) {
|
||||
return "at first quarter";
|
||||
} else if (phase < 0.5) {
|
||||
return "a waxing gibbous";
|
||||
} else if (phase == 0.5) {
|
||||
return "full";
|
||||
} else if (phase < 0.75) {
|
||||
return "a waning gibbous";
|
||||
} else if (phase == 0.75) {
|
||||
return "at last quarter";
|
||||
} else if (phase < 1) {
|
||||
return "a waning crescent";
|
||||
}
|
||||
}
|
||||
|
||||
let phase = phaseStr(SunCalc.getMoonIllumination(new Date()).phase);
|
||||
let moondesc = document.getElementById("phase");
|
||||
|
||||
document.addEventListener("DOMContentLoaded", function() {
|
||||
moondesc.innerHTML = phase;
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
Binary file not shown.
After Width: | Height: | Size: 222 KiB |
|
@ -0,0 +1,5 @@
|
|||
body {
|
||||
background-color: #c0ffee;
|
||||
background-image: url('https://tilde.town/~acdw/moon/moon.jpg');
|
||||
color: white;
|
||||
}
|
|
@ -0,0 +1,332 @@
|
|||
/*
|
||||
(c) 2011-2015, Vladimir Agafonkin
|
||||
SunCalc is a JavaScript library for calculating sun/moon position and light phases.
|
||||
https://github.com/mourner/suncalc
|
||||
Copyright (c) 2014, Vladimir Agafonkin
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without modification, are
|
||||
permitted provided that the following conditions are met:
|
||||
|
||||
1. Redistributions of source code must retain the above copyright notice, this list of
|
||||
conditions and the following disclaimer.
|
||||
|
||||
2. Redistributions in binary form must reproduce the above copyright notice, this list
|
||||
of conditions and the following disclaimer in the documentation and/or other materials
|
||||
provided with the distribution.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
|
||||
EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
|
||||
EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
|
||||
TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
(function () { 'use strict';
|
||||
|
||||
// shortcuts for easier to read formulas
|
||||
|
||||
var PI = Math.PI,
|
||||
sin = Math.sin,
|
||||
cos = Math.cos,
|
||||
tan = Math.tan,
|
||||
asin = Math.asin,
|
||||
atan = Math.atan2,
|
||||
acos = Math.acos,
|
||||
rad = PI / 180;
|
||||
|
||||
// sun calculations are based on http://aa.quae.nl/en/reken/zonpositie.html formulas
|
||||
|
||||
|
||||
// date/time constants and conversions
|
||||
|
||||
var dayMs = 1000 * 60 * 60 * 24,
|
||||
J1970 = 2440588,
|
||||
J2000 = 2451545;
|
||||
|
||||
function toJulian(date) { return date.valueOf() / dayMs - 0.5 + J1970; }
|
||||
function fromJulian(j) { return new Date((j + 0.5 - J1970) * dayMs); }
|
||||
function toDays(date) { return toJulian(date) - J2000; }
|
||||
|
||||
|
||||
// general calculations for position
|
||||
|
||||
var e = rad * 23.4397; // obliquity of the Earth
|
||||
|
||||
function rightAscension(l, b) { return atan(sin(l) * cos(e) - tan(b) * sin(e), cos(l)); }
|
||||
function declination(l, b) { return asin(sin(b) * cos(e) + cos(b) * sin(e) * sin(l)); }
|
||||
|
||||
function azimuth(H, phi, dec) { return atan(sin(H), cos(H) * sin(phi) - tan(dec) * cos(phi)); }
|
||||
function altitude(H, phi, dec) { return asin(sin(phi) * sin(dec) + cos(phi) * cos(dec) * cos(H)); }
|
||||
|
||||
function siderealTime(d, lw) { return rad * (280.16 + 360.9856235 * d) - lw; }
|
||||
|
||||
function astroRefraction(h) {
|
||||
if (h < 0) // the following formula works for positive altitudes only.
|
||||
h = 0; // if h = -0.08901179 a div/0 would occur.
|
||||
|
||||
// formula 16.4 of "Astronomical Algorithms" 2nd edition by Jean Meeus (Willmann-Bell, Richmond) 1998.
|
||||
// 1.02 / tan(h + 10.26 / (h + 5.10)) h in degrees, result in arc minutes -> converted to rad:
|
||||
return 0.0002967 / Math.tan(h + 0.00312536 / (h + 0.08901179));
|
||||
}
|
||||
|
||||
// general sun calculations
|
||||
|
||||
function solarMeanAnomaly(d) { return rad * (357.5291 + 0.98560028 * d); }
|
||||
|
||||
function eclipticLongitude(M) {
|
||||
|
||||
var C = rad * (1.9148 * sin(M) + 0.02 * sin(2 * M) + 0.0003 * sin(3 * M)), // equation of center
|
||||
P = rad * 102.9372; // perihelion of the Earth
|
||||
|
||||
return M + C + P + PI;
|
||||
}
|
||||
|
||||
function sunCoords(d) {
|
||||
|
||||
var M = solarMeanAnomaly(d),
|
||||
L = eclipticLongitude(M);
|
||||
|
||||
return {
|
||||
dec: declination(L, 0),
|
||||
ra: rightAscension(L, 0)
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
var SunCalc = {};
|
||||
|
||||
|
||||
// calculates sun position for a given date and latitude/longitude
|
||||
|
||||
SunCalc.getPosition = function (date, lat, lng) {
|
||||
|
||||
var lw = rad * -lng,
|
||||
phi = rad * lat,
|
||||
d = toDays(date),
|
||||
|
||||
c = sunCoords(d),
|
||||
H = siderealTime(d, lw) - c.ra;
|
||||
|
||||
return {
|
||||
azimuth: azimuth(H, phi, c.dec),
|
||||
altitude: altitude(H, phi, c.dec)
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
// sun times configuration (angle, morning name, evening name)
|
||||
|
||||
var times = SunCalc.times = [
|
||||
[-0.833, 'sunrise', 'sunset' ],
|
||||
[ -0.3, 'sunriseEnd', 'sunsetStart' ],
|
||||
[ -6, 'dawn', 'dusk' ],
|
||||
[ -12, 'nauticalDawn', 'nauticalDusk'],
|
||||
[ -18, 'nightEnd', 'night' ],
|
||||
[ 6, 'goldenHourEnd', 'goldenHour' ]
|
||||
];
|
||||
|
||||
// adds a custom time to the times config
|
||||
|
||||
SunCalc.addTime = function (angle, riseName, setName) {
|
||||
times.push([angle, riseName, setName]);
|
||||
};
|
||||
|
||||
|
||||
// calculations for sun times
|
||||
|
||||
var J0 = 0.0009;
|
||||
|
||||
function julianCycle(d, lw) { return Math.round(d - J0 - lw / (2 * PI)); }
|
||||
|
||||
function approxTransit(Ht, lw, n) { return J0 + (Ht + lw) / (2 * PI) + n; }
|
||||
function solarTransitJ(ds, M, L) { return J2000 + ds + 0.0053 * sin(M) - 0.0069 * sin(2 * L); }
|
||||
|
||||
function hourAngle(h, phi, d) { return acos((sin(h) - sin(phi) * sin(d)) / (cos(phi) * cos(d))); }
|
||||
|
||||
// returns set time for the given sun altitude
|
||||
function getSetJ(h, lw, phi, dec, n, M, L) {
|
||||
|
||||
var w = hourAngle(h, phi, dec),
|
||||
a = approxTransit(w, lw, n);
|
||||
return solarTransitJ(a, M, L);
|
||||
}
|
||||
|
||||
|
||||
// calculates sun times for a given date and latitude/longitude
|
||||
|
||||
SunCalc.getTimes = function (date, lat, lng) {
|
||||
|
||||
var lw = rad * -lng,
|
||||
phi = rad * lat,
|
||||
|
||||
d = toDays(date),
|
||||
n = julianCycle(d, lw),
|
||||
ds = approxTransit(0, lw, n),
|
||||
|
||||
M = solarMeanAnomaly(ds),
|
||||
L = eclipticLongitude(M),
|
||||
dec = declination(L, 0),
|
||||
|
||||
Jnoon = solarTransitJ(ds, M, L),
|
||||
|
||||
i, len, time, Jset, Jrise;
|
||||
|
||||
|
||||
var result = {
|
||||
solarNoon: fromJulian(Jnoon),
|
||||
nadir: fromJulian(Jnoon - 0.5)
|
||||
};
|
||||
|
||||
for (i = 0, len = times.length; i < len; i += 1) {
|
||||
time = times[i];
|
||||
|
||||
Jset = getSetJ(time[0] * rad, lw, phi, dec, n, M, L);
|
||||
Jrise = Jnoon - (Jset - Jnoon);
|
||||
|
||||
result[time[1]] = fromJulian(Jrise);
|
||||
result[time[2]] = fromJulian(Jset);
|
||||
}
|
||||
|
||||
return result;
|
||||
};
|
||||
|
||||
|
||||
// moon calculations, based on http://aa.quae.nl/en/reken/hemelpositie.html formulas
|
||||
|
||||
function moonCoords(d) { // geocentric ecliptic coordinates of the moon
|
||||
|
||||
var L = rad * (218.316 + 13.176396 * d), // ecliptic longitude
|
||||
M = rad * (134.963 + 13.064993 * d), // mean anomaly
|
||||
F = rad * (93.272 + 13.229350 * d), // mean distance
|
||||
|
||||
l = L + rad * 6.289 * sin(M), // longitude
|
||||
b = rad * 5.128 * sin(F), // latitude
|
||||
dt = 385001 - 20905 * cos(M); // distance to the moon in km
|
||||
|
||||
return {
|
||||
ra: rightAscension(l, b),
|
||||
dec: declination(l, b),
|
||||
dist: dt
|
||||
};
|
||||
}
|
||||
|
||||
SunCalc.getMoonPosition = function (date, lat, lng) {
|
||||
|
||||
var lw = rad * -lng,
|
||||
phi = rad * lat,
|
||||
d = toDays(date),
|
||||
|
||||
c = moonCoords(d),
|
||||
H = siderealTime(d, lw) - c.ra,
|
||||
h = altitude(H, phi, c.dec),
|
||||
// formula 14.1 of "Astronomical Algorithms" 2nd edition by Jean Meeus (Willmann-Bell, Richmond) 1998.
|
||||
pa = atan(sin(H), tan(phi) * cos(c.dec) - sin(c.dec) * cos(H));
|
||||
|
||||
h = h + astroRefraction(h); // altitude correction for refraction
|
||||
|
||||
return {
|
||||
azimuth: azimuth(H, phi, c.dec),
|
||||
altitude: h,
|
||||
distance: c.dist,
|
||||
parallacticAngle: pa
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
// calculations for illumination parameters of the moon,
|
||||
// based on http://idlastro.gsfc.nasa.gov/ftp/pro/astro/mphase.pro formulas and
|
||||
// Chapter 48 of "Astronomical Algorithms" 2nd edition by Jean Meeus (Willmann-Bell, Richmond) 1998.
|
||||
|
||||
SunCalc.getMoonIllumination = function (date) {
|
||||
|
||||
var d = toDays(date || new Date()),
|
||||
s = sunCoords(d),
|
||||
m = moonCoords(d),
|
||||
|
||||
sdist = 149598000, // distance from Earth to Sun in km
|
||||
|
||||
phi = acos(sin(s.dec) * sin(m.dec) + cos(s.dec) * cos(m.dec) * cos(s.ra - m.ra)),
|
||||
inc = atan(sdist * sin(phi), m.dist - sdist * cos(phi)),
|
||||
angle = atan(cos(s.dec) * sin(s.ra - m.ra), sin(s.dec) * cos(m.dec) -
|
||||
cos(s.dec) * sin(m.dec) * cos(s.ra - m.ra));
|
||||
|
||||
return {
|
||||
fraction: (1 + cos(inc)) / 2,
|
||||
phase: 0.5 + 0.5 * inc * (angle < 0 ? -1 : 1) / Math.PI,
|
||||
angle: angle
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
function hoursLater(date, h) {
|
||||
return new Date(date.valueOf() + h * dayMs / 24);
|
||||
}
|
||||
|
||||
// calculations for moon rise/set times are based on http://www.stargazing.net/kepler/moonrise.html article
|
||||
|
||||
SunCalc.getMoonTimes = function (date, lat, lng, inUTC) {
|
||||
var t = new Date(date);
|
||||
if (inUTC) t.setUTCHours(0, 0, 0, 0);
|
||||
else t.setHours(0, 0, 0, 0);
|
||||
|
||||
var hc = 0.133 * rad,
|
||||
h0 = SunCalc.getMoonPosition(t, lat, lng).altitude - hc,
|
||||
h1, h2, rise, set, a, b, xe, ye, d, roots, x1, x2, dx;
|
||||
|
||||
// go in 2-hour chunks, each time seeing if a 3-point quadratic curve crosses zero (which means rise or set)
|
||||
for (var i = 1; i <= 24; i += 2) {
|
||||
h1 = SunCalc.getMoonPosition(hoursLater(t, i), lat, lng).altitude - hc;
|
||||
h2 = SunCalc.getMoonPosition(hoursLater(t, i + 1), lat, lng).altitude - hc;
|
||||
|
||||
a = (h0 + h2) / 2 - h1;
|
||||
b = (h2 - h0) / 2;
|
||||
xe = -b / (2 * a);
|
||||
ye = (a * xe + b) * xe + h1;
|
||||
d = b * b - 4 * a * h1;
|
||||
roots = 0;
|
||||
|
||||
if (d >= 0) {
|
||||
dx = Math.sqrt(d) / (Math.abs(a) * 2);
|
||||
x1 = xe - dx;
|
||||
x2 = xe + dx;
|
||||
if (Math.abs(x1) <= 1) roots++;
|
||||
if (Math.abs(x2) <= 1) roots++;
|
||||
if (x1 < -1) x1 = x2;
|
||||
}
|
||||
|
||||
if (roots === 1) {
|
||||
if (h0 < 0) rise = i + x1;
|
||||
else set = i + x1;
|
||||
|
||||
} else if (roots === 2) {
|
||||
rise = i + (ye < 0 ? x2 : x1);
|
||||
set = i + (ye < 0 ? x1 : x2);
|
||||
}
|
||||
|
||||
if (rise && set) break;
|
||||
|
||||
h0 = h2;
|
||||
}
|
||||
|
||||
var result = {};
|
||||
|
||||
if (rise) result.rise = hoursLater(t, rise);
|
||||
if (set) result.set = hoursLater(t, set);
|
||||
|
||||
if (!rise && !set) result[ye > 0 ? 'alwaysUp' : 'alwaysDown'] = true;
|
||||
|
||||
return result;
|
||||
};
|
||||
|
||||
|
||||
// export as Node module / AMD module / browser variable
|
||||
if (typeof exports === 'object' && typeof module !== 'undefined') module.exports = SunCalc;
|
||||
else if (typeof define === 'function' && define.amd) define(SunCalc);
|
||||
else window.SunCalc = SunCalc;
|
||||
|
||||
}());
|
|
@ -0,0 +1,31 @@
|
|||
<p>
|
||||
I think the skies in Louisiana are maybe the prettiest I've ever seen.
|
||||
Phoenix's sunsets are beautiful as well,
|
||||
but for the rest of the day the skies are just a pale blue,
|
||||
which isn't that interesting.
|
||||
But here, they're a dynamic canvas:
|
||||
clouds move and morph with the fluidity of emotion,
|
||||
breezes play with each other like waves in a surf,
|
||||
the blue backdrop is somehow deeper, a richer tapestry.
|
||||
Plus it's not quite as hot as in Phoenix,
|
||||
though it still does get <em>quite hot</em>,
|
||||
and the people are more ... <em>so</em>.
|
||||
</p><p>
|
||||
I'm not sure how else to put it.
|
||||
</p><p>
|
||||
The one thing I miss in this state is the mountains from back home.
|
||||
I would give anything for them;
|
||||
they are an indelible part of me
|
||||
and my very being aches with loss every time I go home
|
||||
and see them again
|
||||
and am reminded how they are.
|
||||
</p><p>
|
||||
I wonder, sometimes, about my childrens' relationships
|
||||
with the land.
|
||||
If they grow up here,
|
||||
and move to the mountains,
|
||||
will they miss the lowlands of <em>their</em> youth?
|
||||
</p><p>
|
||||
How strange they will be to me then.
|
||||
And how strange will I be to them.
|
||||
<p>
|
|
@ -0,0 +1,110 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en-US">
|
||||
<head>
|
||||
<title>acdw's house</title>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="author" content="acdw" />
|
||||
<meta name="viewport"
|
||||
content="width=device-width,
|
||||
initial-scale=1.0,
|
||||
user-scalable=yes" />
|
||||
<link rel="stylesheet" href="style.css" />
|
||||
</head>
|
||||
<body>
|
||||
<table id="site-header">
|
||||
<tr><td>
|
||||
<pre id="house">
|
||||
__
|
||||
/ \
|
||||
/ \
|
||||
------
|
||||
| ____|
|
||||
| | ||
|
||||
| | '||
|
||||
~~~~~~~~
|
||||
</pre>
|
||||
</td>
|
||||
<td>
|
||||
<h1>acdw's house</h1>
|
||||
<h2>in the
|
||||
<a href="https://tilde.town">
|
||||
~.town
|
||||
</a>
|
||||
</h2>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<main id="site-content">
|
||||
<section id="la-story">
|
||||
<p>
|
||||
I think the skies in Louisiana are maybe the prettiest I've ever seen.
|
||||
Phoenix's sunsets are beautiful as well,
|
||||
but for the rest of the day the skies are just a pale blue,
|
||||
which isn't that interesting.
|
||||
But here, they're a dynamic canvas:
|
||||
clouds move and morph with the fluidity of emotion,
|
||||
breezes play with each other like waves in a surf,
|
||||
the blue backdrop is somehow deeper, a richer tapestry.
|
||||
Plus it's not quite as hot as in Phoenix,
|
||||
though it still does get <em>quite hot</em>,
|
||||
and the people are more ... <em>so</em>.
|
||||
</p><p>
|
||||
I'm not sure how else to put it.
|
||||
</p><p>
|
||||
The one thing I miss in this state is the mountains from back home.
|
||||
I would give anything for them;
|
||||
they are an indelible part of me
|
||||
and my very being aches with loss every time I go home
|
||||
and see them again
|
||||
and am reminded how they are.
|
||||
</p><p>
|
||||
I wonder, sometimes, about my childrens' relationships
|
||||
with the land.
|
||||
If they grow up here,
|
||||
and move to the mountains,
|
||||
will they miss the lowlands of <em>their</em> youth?
|
||||
</p><p>
|
||||
How strange they will be to me then.
|
||||
And how strange will I be to them.
|
||||
<p>
|
||||
</section>
|
||||
<section id="links">
|
||||
<h2>Links</h2>
|
||||
<ul>
|
||||
<li><a href="feels">feels</a></li>
|
||||
<li><a href="https://www.acdw.net">my "real" website</a></li>
|
||||
<li><a href="https://tilde.town/~troido/cadastre/town.html">town</a></li>
|
||||
<li><a id="moon" href="moon/">🌕</a></li>
|
||||
<li><a href="https://tilde.town/~loosepoops/">L O O S E P O O P S</a></li>
|
||||
</ul>
|
||||
<hr />
|
||||
<h2>Some of my favorite townies</h2>
|
||||
<ul>
|
||||
<li><a href="https://tilde.town/~demophoon/">~demophoon</a></li>
|
||||
</ul>
|
||||
</section>
|
||||
</main>
|
||||
<footer id="site-footer">
|
||||
<span class="ring" id="tilde_ring">
|
||||
<em>a member of the ~ring</em>
|
||||
(<a href="https://tilde.town/~eeeeeta/ring/join.html">join</a>)
|
||||
</span>
|
||||
<span class="ring-links">
|
||||
<a id="tilde_town_ring" class="tilde_ring_link" href="">
|
||||
random ~user
|
||||
</a>
|
||||
| <a id="random_tildebox" class="tilde_ring_link" href="">
|
||||
random ~box
|
||||
</a>
|
||||
| <a id="tilde_town_ring_next" class="tilde_ring_link" href="">
|
||||
next ~user</a>
|
||||
</span>
|
||||
<script type="text/javascript">
|
||||
var ringjs = document.createElement('script')
|
||||
ringjs.src = document.location.protocol
|
||||
+ '//tilde.town/~login/tilde_ring.js'
|
||||
document.getElementById('tilde_ring').appendChild(ringjs)
|
||||
</script>
|
||||
</footer>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,11 @@
|
|||
<!DOCTYPE html>
|
||||
<head>
|
||||
<title>moon</title>
|
||||
<link rel="stylesheet" type="text/css" href="style.css" />
|
||||
</head>
|
||||
<body>
|
||||
<p>
|
||||
The moon is full tonight, long live the moon.
|
||||
</p>
|
||||
</body>
|
||||
</html>
|
Binary file not shown.
After Width: | Height: | Size: 222 KiB |
|
@ -0,0 +1,5 @@
|
|||
body {
|
||||
background-color: #c0ffee;
|
||||
background-image: url('https://tilde.town/~acdw/moon/moon.jpg');
|
||||
color: white;
|
||||
}
|
|
@ -0,0 +1,63 @@
|
|||
html, body {
|
||||
background-color: #aeaeee;
|
||||
font-family: monospace;
|
||||
height: 100vh;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
display: flex;
|
||||
flex-flow: column nowrap;
|
||||
}
|
||||
|
||||
#site-header {
|
||||
background-color: #eeaeee;
|
||||
table-layout: auto;
|
||||
}
|
||||
#house {
|
||||
background-color: #bb7bbb;
|
||||
color: #ffffff;
|
||||
padding-right: 1em;
|
||||
}
|
||||
|
||||
#site-content {
|
||||
flex: 2;
|
||||
max-width: 49em;
|
||||
margin: 2em;
|
||||
}
|
||||
|
||||
#site-footer {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
background-color: #aeeeae;
|
||||
padding: 0 1em;
|
||||
}
|
||||
|
||||
em {
|
||||
text-decoration: underline;
|
||||
font-style: normal;
|
||||
}
|
||||
|
||||
#links h2 {
|
||||
display: inline;
|
||||
}
|
||||
#links h2::after {
|
||||
content: ": ";
|
||||
}
|
||||
#links ul {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
display: inline;
|
||||
}
|
||||
|
||||
#links li {
|
||||
display: inline;
|
||||
}
|
||||
#links li::after {
|
||||
content: ", ";
|
||||
}
|
||||
#links li:last-child::after {
|
||||
content: "";
|
||||
}
|
||||
|
||||
#moon {
|
||||
font-size: 3em;
|
||||
}
|
|
@ -0,0 +1,9 @@
|
|||
function positionMoon() {
|
||||
var moon = document.getElementById('moon');
|
||||
moon.style.top = Math.random()*100 + "%";
|
||||
moon.style.left = Math.random()*100 + "%";
|
||||
}
|
||||
|
||||
document.addEventListener("DOMContentLoaded", function() {
|
||||
positionMoon();
|
||||
});
|
|
@ -0,0 +1,117 @@
|
|||
html,
|
||||
body,
|
||||
#cover,
|
||||
#cover *
|
||||
{
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
html { font: 16px/22px "Courier Prime", "Courier New", monospace; }
|
||||
body { background: PapayaWhip; }
|
||||
|
||||
#cover h1 {
|
||||
position: absolute;
|
||||
right: 1em;
|
||||
bottom: 1em;
|
||||
font-size: 3em;
|
||||
}
|
||||
#cover {
|
||||
position: fixed;
|
||||
color: white;
|
||||
height: 100vh;
|
||||
width: 100vw;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
background: no-repeat center/cover url("flamingobathroom.jpg");
|
||||
}
|
||||
|
||||
#moon {
|
||||
position: absolute;
|
||||
font-size: 1em;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
#everything {
|
||||
height: 100vh;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
#below-the-fold {
|
||||
position: relative;
|
||||
top: 100vh;
|
||||
}
|
||||
|
||||
#mood {
|
||||
float: right;
|
||||
width: 200px;
|
||||
margin: 8px;
|
||||
}
|
||||
|
||||
main { }
|
||||
main section {
|
||||
max-width: 50rem;
|
||||
width: 90%;
|
||||
margin: 0 auto;
|
||||
background: papayawhip;
|
||||
padding: 1rem;
|
||||
border-radius: 5px;
|
||||
margin-bottom: 1rem;
|
||||
}
|
||||
|
||||
#house pre {
|
||||
background-color: #efd5ff;
|
||||
padding-right: 1rem;
|
||||
}
|
||||
#titleblock {
|
||||
text-align: right;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
footer {
|
||||
max-width: 50rem;
|
||||
width: 90%;
|
||||
margin: 0 auto;
|
||||
padding: 0 1rem;
|
||||
background-color: #d5efff;
|
||||
text-align: right;
|
||||
border-radius: 5px 5px 0 0;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
}
|
||||
|
||||
a {
|
||||
color: inherit;
|
||||
}
|
||||
a:link {}
|
||||
a:active {
|
||||
text-transform: uppercase;
|
||||
}
|
||||
a:hover {
|
||||
text-transform: uppercase;
|
||||
background-color: #d5d5ff;
|
||||
}
|
||||
a:visited {}
|
||||
|
||||
dt {
|
||||
border-bottom: 1px solid black;
|
||||
line-height: 1.0;
|
||||
margin-top: 1em;
|
||||
}
|
||||
dd {
|
||||
border-left: 1px solid black;
|
||||
padding-left: 0.5em;
|
||||
}
|
||||
|
||||
.note {
|
||||
margin: 0 4rem;
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
.verse {
|
||||
}
|
||||
.verse .line {
|
||||
display: block;
|
||||
margin: 0;
|
||||
margin-left: 1rem;
|
||||
text-indent: -1rem;
|
||||
}
|
|
@ -1 +0,0 @@
|
|||
Subproject commit c2f515e6ba736314199c8d2fcb1aa984a37af940
|
Loading…
Reference in New Issue