diff options
-rw-r--r-- | CHANGELOG.md | 9 | ||||
-rw-r--r-- | README.md | 57 | ||||
-rw-r--r-- | css/footer.scss | 34 | ||||
-rw-r--r-- | css/page.scss | 25 | ||||
-rw-r--r-- | html/about.html | 4 | ||||
-rw-r--r-- | html/agbsum.html | 2 | ||||
-rw-r--r-- | html/ax.html | 2 | ||||
-rw-r--r-- | html/backspace.html | 2 | ||||
-rw-r--r-- | html/benoit.html | 2 | ||||
-rw-r--r-- | html/bowshock.html | 2 | ||||
-rw-r--r-- | html/bzipper.html | 2 | ||||
-rw-r--r-- | html/deltaWorld.html | 2 | ||||
-rw-r--r-- | html/eas.html | 2 | ||||
-rw-r--r-- | html/luma.html | 2 | ||||
-rw-r--r-- | html/pollex.html | 2 | ||||
-rw-r--r-- | html/u8c.html | 2 | ||||
-rw-r--r-- | include/footer.shtml | 10 | ||||
-rwxr-xr-x | install.sh | 9 | ||||
-rw-r--r-- | js/initImages.ts | 4 | ||||
-rwxr-xr-x | make.sh | 10 |
20 files changed, 133 insertions, 51 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md index 1f757b7..99935b1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,14 @@ # Changelog +## 6.1 + +* Elaborate pages +* Add readme +* Make scripts verbose +* Fix images +* Add CVR number +* Rework footer + ## 6.0 * Add mobile styling diff --git a/README.md b/README.md new file mode 100644 index 0000000..63fc136 --- /dev/null +++ b/README.md @@ -0,0 +1,57 @@ +# achernar + +This repository contains the source code for Achernar's webservice at `https://achernar.dk`. + +## Testing + +Use the installation script at `install.sh` to install the server. + +If using nginx, add the following server to your configuration (assuming installation at `/srv/achernar`): + +``` +server { + listen 8080; + server_name localhost; + + location = / { + return 307 /html/about.html; + } + + location = /apple-touch-icon.png { + alias /srv/achernar/apple-touch-icon.png; + } + + location = /favicon.ico { + alias /srv/achernar/favicon.ico; + } + + location /css { + alias /srv/achernar/css; + } + + location /font { + alias /srv/achernar/font; + } + + location /html { + alias /srv/achernar/html; + ssi on; + } + + location /image { + alias /srv/achernar/image; + } + + location /include { + alias /srv/achernar/include; + } + + location /js { + alias /srv/achernar/js; + } + + location /svg { + alias /srv/achernar/svg; + } +} +``` diff --git a/css/footer.scss b/css/footer.scss index a8a389f..890bd82 100644 --- a/css/footer.scss +++ b/css/footer.scss @@ -7,27 +7,33 @@ margin-top: 1rem; padding: 1rem; - .separator { + #emailAddress { background-color: var(--textColour); - border-radius: 0.125rem; - height: 0.25rem; - margin: 1rem auto; - width: 100%; + display: inline-block; + height: 1em; + image-rendering: pixelated; + mask-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAALcAAAAICAYAAAC78m4/AAAA/UlEQVRYw+1XQQ7EIAiExv9/2T01IQQJDNZ0rdyEFmEcBJmIqPfe6ciRzYRvYjMzS4Mk/Mim9RXbbY/YkGLM5BDdI4PZKAe5zuJi+fDWmTPK5F3hS2RPNPdLK/RHnk1ulLFJnbWWOsuGEhuNJetT27I5eP95WFskqJ5fJM4oX1Cso3FqXUNvrZHTWSNO5Zb+i5bpkGhmh/rMCGJwsEWJ6oEmq4mZefRftkpXEmq1T3Q0QPGMFNNul8kVBRYdD9CW94TMGHFW+ETx9OLw4nzTGVVw0cXa5INlxq2APEisNow8cN8EtMYzE2clP+9humIUqHKpwjOd+9Zz7ZFvyw87v+eHE6E5DAAAAABJRU5ErkJggg"); + mask-position: center; + mask-repeat: no-repeat; + mask-size: cover; + vertical-align: middle; + width: calc(183em / 8); } #footerHeading { font-size: 2em; font-weight: bold; - } - .obfuscatedText { - background-color: var(--textColour); - height: 1rem; - image-rendering: pixelated; - mask-position: center; - mask-repeat: no-repeat; - mask-size: contain; - width: 100%; + &::after { + background-color: var(--textColour); + border-radius: 0.25rem; + content: ""; + display: block; + height: 0.25rem; + margin-bottom: 1rem; + margin-top: 0.25rem; + width: 100%; + } } img { diff --git a/css/page.scss b/css/page.scss index 5017dcc..82ce4cc 100644 --- a/css/page.scss +++ b/css/page.scss @@ -4,7 +4,7 @@ padding: 1rem; padding-top: calc($headerHeight + 1rem); - p:not(.heading, #contentHeading, #cloneNotice p) { + p:not(.heading, #pageHeading, #footer p) { line-height: 2em; } @@ -34,11 +34,11 @@ } } - p.heading, #contentHeading { + p.heading, #pageHeading { font-family: "Martian Mono", "monospace"; } - #contentHeading { + #pageHeading { background-color: var(--foregroundColour); border-radius: 1rem; display: block; @@ -65,17 +65,17 @@ } p.heading { - font-size: 2em; - font-weight: bold; - margin-bottom: 1rem; - width: 100%; + font-size: 2em; + font-weight: bold; + width: 100%; &::after { background-color: var(--textColour); - border-radius: 0.125rem; + border-radius: 0.25rem; content: ""; display: block; height: 0.25rem; + margin-bottom: 1rem; margin-top: 0.25rem; width: 100%; } @@ -111,7 +111,14 @@ border-radius: 1rem; display: block; image-rendering: pixelated; - width: 100%; + + &.fullheight { + height: 12rem; + } + + &.fullwidth { + width: 100%; + } } } } diff --git a/html/about.html b/html/about.html index 9a4a538..c6d76a9 100644 --- a/html/about.html +++ b/html/about.html @@ -18,10 +18,10 @@ <!--#include virtual="/include/header.shtml"--> <div id="page"> - <p id="contentHeading">About</p> + <p id="pageHeading">About</p> <section> - <p><em>Achernar</em> is a small indie development studio based in the Capital Region of Denmark. 🇩🇰</p> + <p><em>Achernar</em> is a small, indie development studio based in the Capital Region of Denmark. 🇩🇰</p> <br> <p>We develop open-source software, including video games and more productive software. We work with embedded systems as well as hosted ones.</p> </section> diff --git a/html/agbsum.html b/html/agbsum.html index 6ea7d43..ee9830f 100644 --- a/html/agbsum.html +++ b/html/agbsum.html @@ -18,7 +18,7 @@ <!--#include virtual="/include/header.shtml"--> <div id="page"> - <p id="contentHeading">agbsum</p> + <p id="pageHeading">agbsum</p> <section> <p><em>agbsum</em> is a utility for patching AGB images.</p> diff --git a/html/ax.html b/html/ax.html index 54987ce..9a98eab 100644 --- a/html/ax.html +++ b/html/ax.html @@ -18,7 +18,7 @@ <!--#include virtual="/include/header.shtml"--> <div id="page"> - <p id="contentHeading">Advanced X</p> + <p id="pageHeading">Advanced X</p> <section> <p><em>Advanced X</em> (or just <em>AX</em>) is a C library for developing applications for the <em>AGB</em> line of hardware.</p> diff --git a/html/backspace.html b/html/backspace.html index 2626921..de8e07a 100644 --- a/html/backspace.html +++ b/html/backspace.html @@ -18,7 +18,7 @@ <!--#include virtual="/include/header.shtml"--> <div id="page"> - <p id="contentHeading">Comming Soon</p> + <p id="pageHeading">Comming Soon</p> <!--#include virtual="/include/footer.shtml"--> </div> diff --git a/html/benoit.html b/html/benoit.html index 7e722a0..0e90e9d 100644 --- a/html/benoit.html +++ b/html/benoit.html @@ -18,7 +18,7 @@ <!--#include virtual="/include/header.shtml"--> <div id="page"> - <p id="contentHeading">Benoit</p> + <p id="pageHeading">Benoit</p> <section> <p><em>Benoit</em> is a Rust-written programme for visualising complex functions, e.g. <em>the Mandelbrot Set</em> and similar fractals.</p> diff --git a/html/bowshock.html b/html/bowshock.html index 588a7d0..d733129 100644 --- a/html/bowshock.html +++ b/html/bowshock.html @@ -18,7 +18,7 @@ <!--#include virtual="/include/header.shtml"--> <div id="page"> - <p id="contentHeading">Coming Soon</p> + <p id="pageHeading">Coming Soon</p> <!--#include virtual="/include/footer.shtml"--> </div> diff --git a/html/bzipper.html b/html/bzipper.html index bd85915..1ff4daf 100644 --- a/html/bzipper.html +++ b/html/bzipper.html @@ -18,7 +18,7 @@ <!--#include virtual="/include/header.shtml"--> <div id="page"> - <p id="contentHeading">bzipper</p> + <p id="pageHeading">bzipper</p> <section> <p><em>bzipper</em> is a Rust crate for serialisation and deserialisation of binary streams.</p> diff --git a/html/deltaWorld.html b/html/deltaWorld.html index 17fcbd2..26ba50f 100644 --- a/html/deltaWorld.html +++ b/html/deltaWorld.html @@ -18,7 +18,7 @@ <!--#include virtual="/include/header.shtml"--> <div id="page"> - <p id="contentHeading">Comming Soon</p> + <p id="pageHeading">Comming Soon</p> <!--#include virtual="/include/footer.shtml"--> </div> diff --git a/html/eas.html b/html/eas.html index 457708d..b0f5317 100644 --- a/html/eas.html +++ b/html/eas.html @@ -18,7 +18,7 @@ <!--#include virtual="/include/header.shtml"--> <div id="page"> - <p id="contentHeading"><span class="small">the </span>Embedded Assembler</p> + <p id="pageHeading"><span class="small">the </span>Embedded Assembler</p> <section> <p>The <em>Embedded Assembler</em> (or simply <em>eAS</em>) is an assembler for cross-compiling to embedded Arm</p> diff --git a/html/luma.html b/html/luma.html index e433e5e..2de6643 100644 --- a/html/luma.html +++ b/html/luma.html @@ -18,7 +18,7 @@ <!--#include virtual="/include/header.shtml"--> <div id="page"> - <p id="contentHeading">Luma</p> + <p id="pageHeading">Luma</p> <section> <p><em>Luma</em> is an emulator for the <em>AGB</em> line of game consoles by Nintendo Co.</p> diff --git a/html/pollex.html b/html/pollex.html index a60c186..e8730f6 100644 --- a/html/pollex.html +++ b/html/pollex.html @@ -18,7 +18,7 @@ <!--#include virtual="/include/header.shtml"--> <div id="page"> - <p id="contentHeading">Pollex</p> + <p id="pageHeading">Pollex</p> <section> <p><em>Pollex</em> is a Rust library for manipulating Arm ISA instructions.</p> diff --git a/html/u8c.html b/html/u8c.html index b9efced..c703781 100644 --- a/html/u8c.html +++ b/html/u8c.html @@ -18,7 +18,7 @@ <!--#include virtual="/include/header.shtml"--> <div id="page"> - <p id="contentHeading">u8c</p> + <p id="pageHeading">u8c</p> <section> <p><em>u8c</em> is a library for handling Unicode sequences in C.</p> diff --git a/include/footer.shtml b/include/footer.shtml index 1221684..328ecd3 100644 --- a/include/footer.shtml +++ b/include/footer.shtml @@ -1,15 +1,15 @@ <footer id="footer"> <p id="footerHeading">Achernar</p> - <br> + <table> <tbody> <tr> <th>CVR</th> - <td>(TBA)</td> + <td>44936429</td> </tr> <tr> <th>E-mail</th> - <td>Gabriel Bjørnager Jensen, see obfuscated address below.</td> + <td><div id="emailAddress"></div></td> </tr> </tbody> </table> @@ -17,8 +17,4 @@ <p>Communications can be done in English and Danish.</p> <br> <p>This webservice can be cloned from <a href="https://mandelbrot.dk/achernar/" rel="noopener noreferrer" target="_blank"><span class="code">mandelbrot.dk</span></a>.</p> - - <div class="separator"></div> - - <div class="obfuscatedText" style="mask-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAALcAAAAICAYAAAC78m4/AAAA/UlEQVRYw+1XQQ7EIAiExv9/2T01IQQJDNZ0rdyEFmEcBJmIqPfe6ciRzYRvYjMzS4Mk/Mim9RXbbY/YkGLM5BDdI4PZKAe5zuJi+fDWmTPK5F3hS2RPNPdLK/RHnk1ulLFJnbWWOsuGEhuNJetT27I5eP95WFskqJ5fJM4oX1Cso3FqXUNvrZHTWSNO5Zb+i5bpkGhmh/rMCGJwsEWJ6oEmq4mZefRftkpXEmq1T3Q0QPGMFNNul8kVBRYdD9CW94TMGHFW+ETx9OLw4nzTGVVw0cXa5INlxq2APEisNow8cN8EtMYzE2clP+9humIUqHKpwjOd+9Zz7ZFvyw87v+eHE6E5DAAAAABJRU5ErkJggg);"></div> </footer> @@ -4,7 +4,14 @@ DESTINATION="${1}" if [ -z "${DESTINATION}" ] then - echo missing destination directory... + printf "missing destination directory...\n" + printf "\n" + printf "Usage:\n" + printf " install.sh <directory>\n" + printf "\n" + printf "Installs the server to the given directory.\n" + + exit 1 fi mkdir -p "${DESTINATION}" diff --git a/js/initImages.ts b/js/initImages.ts index 7bff4b5..3e6a175 100644 --- a/js/initImages.ts +++ b/js/initImages.ts @@ -1,7 +1,7 @@ function initImages() { - let content = document.getElementById("content")!; + let page = document.getElementById("page")!; - let image_list = Array.from(content.getElementsByTagName("x-image")); + let image_list = Array.from(page.getElementsByTagName("x-image")); for (let image of image_list) { let file = image.getAttribute("data-file")!; console.log("initialising image that links to \"" + file + "\""); @@ -6,7 +6,7 @@ make_icon() { width="${2}" output="${3}" - echo rendering icon at \"${input}\" as ${width}px by ${width}px to \"${output}\" + printf "rendering icon at \"%s\" as %ipx by %ipx to \"%s\"\n" "${input}" ${width} ${width} "${output}" inkscape -w ${width} -h ${width} "${input}" -o "${output}" } @@ -24,7 +24,7 @@ make_icon() { render_icon "${input}" 192 "${directory}/192x192.png" render_icon "${input}" 256 "${directory}/256x256.png" - echo combining renders in \"${directory}\" to \"${output}\" + printf "combining renders in \"%s\" to \"%s\"\n" "${directory}" "${output}" icotool -co "favicon.ico" "${directory}/"*".png" render_icon "${input}" 180 "apple-touch-icon.png" @@ -34,7 +34,7 @@ make_stylesheet() { input="css/${1}.scss" output="css/${1}.css" - echo making stylesheet at \"${output}\"... + printf "making stylesheet at \"%s\"...\n" "${output}" sass --no-source-map --style=compressed "${input}" "${output}" } @@ -42,11 +42,11 @@ make_script() { input="js/${1}.ts" output="js/${1}.js" - echo making script at \"${output}\"... + printf "making script at \"%s\"...\n" "${output}" tsc --outFile "${output}" --target ES2022 "${input}" } -#make_icon "svg/achernar-icon.svg" +make_icon "svg/achernar-icon.svg" make_stylesheet "main" make_stylesheet "noScript" |