summaryrefslogtreecommitdiff
path: root/index.shtml
diff options
context:
space:
mode:
Diffstat (limited to 'index.shtml')
-rw-r--r--index.shtml575
1 files changed, 229 insertions, 346 deletions
diff --git a/index.shtml b/index.shtml
index c39ec00..dafc5db 100644
--- a/index.shtml
+++ b/index.shtml
@@ -26,6 +26,36 @@
#msgform{width:50%;margin:auto;}
@media (max-width:768px)
{#msgform{width:auto;margin:1em;}}
+ div.projects-flex{
+ display: flex;
+ flex-direction: row;
+ flex-wrap: wrap;
+ }
+ div.projects-flex .projects-item{
+ flex: 1;
+ flex-basis: 40%;
+ align-self: flex-start;
+ margin: 0.5em;
+ padding: 1em;
+ }
+ div.projects-flex details{
+ border: 1px solid var(--secondary-fg);
+ }
+ div.projects-flex details summary{
+ transition: 0.3s ease background;
+ background-clip: content-box;
+ cursor: zoom-in;
+ }
+ div.projects-flex details summary:hover{
+ background-color: color-mix(in oklab, var(--interactive-hover-bg) 30%, rgba(0, 0, 0, 0));
+ }
+ div.projects-flex details[open] summary{
+ background-color: unset !important;
+ border-bottom: 1px solid var(--principal-fg);
+ padding-bottom: 1em;
+ margin-bottom: 1em;
+ cursor: zoom-out;
+ }
</style>
</head>
<!--
@@ -59,10 +89,6 @@ function changeTheme(a,b){
document.cookie=`thm=${thm};max-age=126144000`;
loadTheme();
}
-function toggleblkdisplay(e){
- var E=document.getElementById(e);
- E.style.display=E.style.display=='none'?'block':'none';
-}
function contsw(cont){
var lst=document.getElementById('content').getElementsByClassName('block');
for(var i=0;i<lst.length;++i)
@@ -138,362 +164,214 @@ document.addEventListener("DOMContentLoaded", swonload);
come with <strong>ABSOLUTELY NO WARRANTY</strong>. Use them at your own risk.
</p>
<h3 style="font-weight:normal;">Current Projects</h3>
- <ul>
- <li>deduper
- <reduced>
- <a href="https://cgit.chrisoft.org/deduper.git/">
- [details]</a>
- <a href="javascript:toggleblkdisplay('dedp-desc')">
- [short desc.]</a></reduced>
- <div class="block" id="dedp-desc">
- Scans local images for duplicates.
- Also provides reverse image search for your local images.
- Implements a variant of the algorithm described in "An
- image signature for any kind of image", doi:
- 10.1109/ICIP.2002.1038047.
- </div>
- </reduced>
- </li>
- <li>it2midi
- <reduced>
- <a href="https://cgit.chrisoft.org/it2midi.git/">
- [details]</a>
- <a href="javascript:toggleblkdisplay('it2m-desc')">
- [short desc.]</a></reduced>
- <div class="block" id="it2m-desc">
- An effort to rewrite my old it2midi.cpp in Rust.
- A versatile IT (impulse tracker) to MIDI converter.
- Currently it's moulting into a fully-fledged mod
- player.
- </div>
- </reduced>
- </li>
- <li>QMidiPlayer
- <reduced><a href="./QMidiPlayer">[details]</a>
- <a href="javascript:toggleblkdisplay('qmp-desc')">
- [short desc.]</a></reduced>
- <div class="block" id="qmp-desc">
- A feature-rich cross-platform MIDI player with UI
- inspired by vanBasco's Karaoke Player and QSynth.
- It has a comprehensive plugin interface to
- provide extra functionalities.
- </div>
- </li>
- <li>SMELT
- <reduced>
- <a href="https://github.com/BearKidsTeam/SMELT">
- [details]</a>
- <a href="javascript:toggleblkdisplay('smlt-desc')">
- [short desc.]</a></reduced>
- <div class="block" id="smlt-desc">
- SMELT is a set of classes that provide hardware-accelerated
- graphics, input handling and optionally, audio output.
- SMELT is used extensively in my other projects.
- </div>
- </li>
- <li>lightsd
- <reduced>
- <a href="https://github.com/chirs241097/lightsd">
- [details]</a>
- <a href="javascript:toggleblkdisplay('litd-desc')">
- [short desc.]</a></reduced>
- <div class="block" id="litd-desc">
- Auto brightness for Linux, without requiring
- a desktop environment or systemd.
- </div>
- </reduced>
- </li>
- <li>RBUS-ADAT
- <reduced>
- <a href="https://chrisoft.org/rbusif">
- [details]</a>
- <a href="javascript:toggleblkdisplay('rbusad-desc')">
- [short desc.]</a></reduced>
- <div class="block" id="rbusad-desc">
- Convert digital audio data carried by Roland's proprietary
- R-BUS interface into ADAT. Linked page also provided additional
- technical information on R-BUS.
- </div>
- </reduced>
- </li>
- <li>Touhou BGM Remix
- <reduced><a href="./thbgmremix">[details]</a>
- <a href="javascript:toggleblkdisplay('thbgm-desc')">
- [short desc.]</a></reduced>
- <div class="block" id="thbgm-desc">
- The only project that has nothing to do with
- programming here. These packages provide remixed
- BGM in a more modern style for legacy Touhou Project
- releases. It may sound worse or better. You decide.
- </div>
- </li>
- </ul>
+ <div class="projects-flex" id="current-projects">
+ <details class="projects-item">
+ <summary><a href="https://cgit.chrisoft.org/deduper.git/">deduper</a></summary>
+ Scans local images for duplicates.
+ Also provides reverse image search for your local images.
+ Implements a variant of the algorithm described in "An
+ image signature for any kind of image", doi:
+ 10.1109/ICIP.2002.1038047.
+ </details>
+ <details class="projects-item">
+ <summary><a href="https://cgit.chrisoft.org/it2midi.git/">it2midi</a></summary>
+ An effort to rewrite my old it2midi.cpp in Rust.
+ A versatile IT (impulse tracker) to MIDI converter.
+ Currently it's moulting into a fully-fledged mod
+ player.
+ </details>
+ <details class="projects-item">
+ <summary><a href="https://cgit.chrisoft.org/QMidiPlayer.git/">QMidiPlayer</a></summary>
+ A feature-rich cross-platform MIDI player with UI
+ inspired by vanBasco's Karaoke Player and QSynth.
+ It has a comprehensive plugin interface to
+ provide extra functionalities.
+ </details>
+ <details class="projects-item">
+ <summary><a href="https://cgit.chrisoft.org/SMELT.git/">SMELT</a></summary>
+ SMELT is a set of classes that provide hardware-accelerated
+ graphics, input handling and optionally, audio output.
+ SMELT is used extensively in my other projects.
+ </details>
+ <details class="projects-item">
+ <summary><a href="https://cgit.chrisoft.org/lightsd.git/">lightsd</a></summary>
+ Auto brightness for Linux, without requiring
+ a desktop environment or systemd.
+ </details>
+ <details class="projects-item">
+ <summary><a href="/rbusif">RBUS-ADAT</a></summary>
+ Convert digital audio data carried by Roland's proprietary
+ R-BUS interface into ADAT. Linked page also provided additional
+ technical information on R-BUS.
+ </details>
+ <details class="projects-item">
+ <summary><a href="/thbgmremix">Touhou BGM Remix</a></summary>
+ The only project that has nothing to do with
+ programming here. These packages provide remixed
+ BGM in a more modern style for legacy Touhou Project
+ releases. It may sound worse or better. You decide.
+ </details>
+ <div class="projects-item"></div>
+ </div>
<h3 style="font-weight:normal;">Contributed Projects</h3>
<p>
I've made contributions to these projects, more or less.
</p>
- <ul>
- <li>BLumia OJ
- <reduced>
- <a href="https://github.com/BLumia/BLumiaOJ">
- [details]</a>
- <a href="javascript:toggleblkdisplay('bloj-desc')">
- [short desc.]</a>
- </reduced>
- <div class="block" id="bloj-desc">
- A HUSTOJ compatible Online Judge system.
- </div>
- </li>
- <li>Pineapple Synth
- <reduced>
- <a href="https://github.com/BLumia/PineappleSynth">[details]</a>
- <a href="javascript:toggleblkdisplay('psyn-desc')">
- [short desc.]</a></reduced>
- <div class="block" id="psyn-desc">
- A software synthesizer developed by BLumia. I helped with some optimizations and bug fixes.
- </div>
- </reduced>
- </li>
- <li>FluidSynth
- <reduced>
- <a href="https://github.com/FluidSynth/fluidsynth">[details]</a>
- <a href="javascript:toggleblkdisplay('fluidsynth-desc')">
- [short desc.]</a></reduced>
- <div class="block" id="fluidsynth-desc">
- A realtime soundfont synthesizer. The irony is that most code I have contributed is Windoze-specific.
- </div>
- </reduced>
- </li>
- <li>thplayer
- <reduced>
- <a href="https://github.com/BearKidsTeam/thplayer">[details]</a>
- <a href="javascript:toggleblkdisplay('thplyr-desc')">
- [short desc.]</a></reduced>
- <div class="block" id="thplyr-desc">
- A replacement for my "thplayer.cpp" with GUI, written by BLumia. It has my reinvented wheel inside.
- </div>
- </reduced>
- </li>
- <li>Deepin Desktop Environment
- <reduced>
- <a href="javascript:toggleblkdisplay('dde-desc')">
- [short desc.]</a></reduced>
- <div class="block" id="dde-desc">
- <p>
- I worked for Deepin as an intern for almost a year starting from February 2019. My work there
- includes implementing optical disc authoring for the file manager and reworking the computer
- pseudo-folder. I also worked on the networking section of the settings application for some
- time, as well as a few other system components (DTK being one of them). Chances are if you
- have ever used DDE v20 (the redesign released in 2020), my code has passed through the
- pipelines of your processor.
- </p>
- <p>I have mixed views on Deepin the company. You may find out more in my blog posts. I'm no
- longer affiliated with the company or its successor UnionTech.</p>
- </div>
- </reduced>
- </li>
- <li>CKRasterizer
- <reduced>
- <a href="https://github.com/Swung0x48/CKRasterizer">[details]</a>
- <a href="javascript:toggleblkdisplay('ckrst-desc')">
- [short desc.]</a></reduced>
- <div class="block" id="ckrst-desc">
- Rasterizers for Virtools (an old interactive 3D toolkit). I shifted the project from a
- reverse-engineering approach to a "just wing it" approach. Helped with completing the
- DirectX 9 rasterizer. Additionally created two new rasterizer modules
- for modern graphics from scratch (CKGLRasterizer and CKVkRasterizer).
- </div>
- </reduced>
- </li>
- <li>SDUOJ
- <reduced>
- <a href="javascript:toggleblkdisplay('soj-desc')">
- [short desc.]</a>
- </reduced>
- <div class="block" id="soj-desc">
+ <div class="projects-flex" id="contrib-projects">
+ <details class="projects-item">
+ <summary><a href="https://github.com/BLumia/BLumiaOJ">BLumia OJ</a></summary>
+ A HUSTOJ compatible Online Judge system.
+ </details>
+ <details class="projects-item">
+ <summary><a href="https://github.com/BLumia/PineappleSynth">Pineapple Synth</a></summary>
+ A software synthesizer developed by BLumia. I helped with some optimizations and bug fixes.
+ </details>
+ <details class="projects-item">
+ <summary><a href="https://github.com/FluidSynth/fluidsynth">FluidSynth</a></summary>
+ A realtime soundfont synthesizer. The irony is that most code I have contributed is Windoze-specific.
+ </details>
+ <details class="projects-item">
+ <summary><a href="https://github.com/BearKidsTeam/thplayer">thplayer</a></summary>
+ A replacement for my "thplayer.cpp" with GUI, written by BLumia. It has my reinvented wheel inside.
+ </details>
+ <details class="projects-item">
+ <summary>Deepin Desktop Environment</summary>
+ <p>
+ I worked for Deepin as an intern for almost a year starting from February 2019. My work there
+ includes implementing optical disc authoring for the file manager and reworking the computer
+ pseudo-folder. I also worked on the networking section of the settings application for some
+ time, as well as a few other system components (DTK being one of them). Chances are if you
+ have ever used DDE v20 (the redesign released in 2020), my code has passed through the
+ pipelines of your processor.
+ </p>
+ <p>I have mixed views on Deepin the company. You may find out more in my blog posts. I'm no
+ longer affiliated with the company or its successor UnionTech.</p>
+ </details>
+ <details class="projects-item">
+ <summary><a href="https://github.com/Swung0x48/CKRasterizer">CKRasterizer</a></summary>
+ Rasterizers for Virtools (an old interactive 3D toolkit). I shifted the project from a
+ reverse-engineering approach to a "just wing it" approach. Helped with completing the
+ DirectX 9 rasterizer. Additionally created two new rasterizer modules
+ for modern graphics from scratch (CKGLRasterizer and CKVkRasterizer).
+ </details>
+ <details class="projects-item">
+ <summary>SDUOJ</summary>
The Online Judge used by Shandong University,
- Located <a href="http://acm.sdu.edu.cn/">here</a>.
+ Once located <a href="http://acm.sdu.edu.cn/">here</a>.
It does have a github repo, but we have been modifying
the production directly for so long that it is very
- outdated. Yes we use ssh and vim to modify the prod.
- And thanks to the stupid university I am in, it is
+ outdated. Yes we used ssh and vim to develop on prod.
+ And thanks to the stupid university I was in, it is
<b>impossible to access out of the campus</b>.
- </div>
- </li>
- </ul>
+ </details>
+ <div class="projects-item"></div>
+ </div>
+ <h3 style="font-weight:normal;"><s>Archived</s> Antique Projects</h3>
+ <p>Some of these projects are permanently lost in a disaster.</p>
+ <div class="projects-flex" id="antique-projects">
+ <details class="projects-item">
+ <summary><a href="/BulletLabRemix">Bullet Lab Remix (2012-2015)</a></summary>
+ A danmaku-like game. Inspired by a flash game
+ called "Bullet Lab", this project has departured
+ so far from it that it has became a STG without
+ the 'shooting' part.
+ </details>
+ <details class="projects-item">
+ <summary><a href="/BallanceRemix">Ballance Remix (2011-2012)</a></summary>
+ Old project attempting to recreate the game Ballance from Cyparade.
+ It uses the same Virtools engine but without using custom extensions
+ to the engine.<br>
+ Playable, but in no way resemble the "feel" of the original game in
+ terms of controls.
+ </details>
+ <details class="projects-item">
+ <summary>World's Hardest Game 3D (2010-2011)</summary>
+ <a href="https://1drv.ms/u/s!AjEe7BxvJRi9gSCz7LxTzCjXWMsT">Download this abomination, if you wish.</a>
+ 3D version of a flash game called "World's Hardest Game" made with Virtools.
+ Extremely hard because it's basically unplayable.
+ </details>
+ <details class="projects-item">
+ <summary>Cross Noodles (Virtools) (2012)</summary>
+ <a href="//cgit.chrisoft.org/oddities.git/tree/Virtools/Cross_Noodles.cmo">Download this abomination, if you wish.</a>
+ A stupid game made with Virtools. A new version written for modern(-ish)
+ browser is <a href="/CrossNoodlesJS/">available</a>.
+ </details>
+ <details class="projects-item">
+ <summary><a href="//filestorage.chrisoft.org/inactive/TimidityPlayer.tar.xz">Chris' Timidity Player (2012)</a></summary>
+ Simple timidity frontend written in FreePascal. BLumia created a more
+ feature-rich fork called <a href="https://github.com/BLumia/BLumiaTimidityShell">BLumia's Timidity Shell</a>.
+ </details>
+ <details class="projects-item">
+ <summary><a href="//filestorage.chrisoft.org/inactive/Tester.tar.xz">Simple Tester for OI (2012)</a></summary>
+ Local judger for OI problems. Doesn't really have any fancy features.
+ Written in FreePascal.
+ </details>
+ <details class="projects-item">
+ <summary>the <s>Ultimate</s> Data Visualiser (2015)</summary>
+ A data visualizer for a certain very specific purpose.
+ This project is never made public. Written in C++. Uses SMELT.
+ </details>
+ <details class="projects-item">
+ <summary>Compiz 0.9.7.99 (2012-2016)</summary>
+ <a href="//filestorage.chrisoft.org/inactive/compiz0.9.7.9.tar.xz">Archived source code.</a>
+ The ultimate pre-GLES port compiz distribution with extra features
+ added by me, as well as backports of a few new features added later.
+ It was forked off the 0.9.7 branch for Ubuntu 12.04. It comes with
+ probably every single plugin ever available for compiz (that I could
+ get working).
+ </details>
+ <details class="projects-item">
+ <summary>Minesweeper in HGE (2012)</summary>
+ Essentially a cmine.c with GUI.
+ </details>
+ <details class="projects-item">
+ <summary>Desktop (2012)</summary>
+ <a href="//filestorage.chrisoft.org/inactive/Desktop.tar.xz">Archived source code.</a>
+ Windows 7 style show desktop for Windows 2000, Windows XP and Windows Vista.
+ Written in FreePascal. It was pretty broken though.
+ </details>
+ <details class="projects-item">
+ <summary>Go!Word (2012)</summary>
+ Hangman written in FreePascal.
+ </details>
+ <details class="projects-item">
+ <summary>cpu.c (2011)</summary>
+ Plots a sine function in CPU usage using busy waits.
+ </details>
+ <details class="projects-item">
+ <summary>cmine.c (2012)</summary>
+ Minesweeper, CLI version (the 289536397th one been written).
+ </details>
+ <details class="projects-item">
+ <summary>fpsnake.pas (2016)</summary>
+ Snake game written in FreePascal. I wrote this in order to prove that
+ I can still do Pascal.
+ </details>
+ <details class="projects-item">
+ <summary>fpGraphicClock (2011-2012)</summary>
+ Primitive graphic clock written in FreePascal.
+ </details>
+ <details class="projects-item">
+ <summary>Date&amp;Time (2009-2010)</summary>
+ Text mode clock, alarm and stopwatch written in FreePascal.
+ </details>
+ </div>
<h3 style="font-weight:normal;">Pending Projects</h3>
+ <p>These project may or may not ever be started.</p>
<ul>
<li>OPLang</li>
<li>msed</li>
+ <li>Roland Editor</li>
<li>FluidR3 GM2+Extension</li>
<li>QSPS Sound Set</li>
<li><s>vjtester v2</s></li>
<li><s>SMELT4js(?)</s></li>
<li><s>Online Judge</s></li>
</ul>
- <h3 style="font-weight:normal;"><s>Archived</s> Antique Projects</h3>
- <p>
- Some of these projects are permanently lost in a disaster.
-
- </p>
- <ul>
- <li>Bullet Lab Remix
- <reduced><a href="./BulletLabRemix">[details]</a>
- <a href="javascript:toggleblkdisplay('blr-desc')">
- [short desc.]</a></reduced>
- <div class="block" id="blr-desc">
- A danmaku-like game. Inspired by a flash game
- called "Bullet Lab", this project has departured
- so far from it that it has became a STG without
- the 'shooting' part.
- </div>
- </li>
- <li>Ballance Remix (2011-2012)
- <reduced>
- <a href="./BallanceRemix">[details]</a>
- <a href="javascript:toggleblkdisplay('br-desc')">[short desc.]</a>
- </reduced>
- <div class="block" id="br-desc">
- Old project attempting to recreate the game Ballance from Cyparade.
- It uses the same Virtools engine but without using custom extensions
- to the engine.
- Playable, but in no way resemble the "feel" of the original game in
- terms of controls.
- </div>
- </li>
- <li>Chris' Timidity Player (2012)
- <reduced>
- <a id="timidityplyr" href="//filestorage.chrisoft.org/inactive/TimidityPlayer.tar.xz">[archive]</a>
- <a href="javascript:toggleblkdisplay('tmidp-desc')">[short desc.]</a>
- </reduced>
- <div class="block" id="tmidp-desc">
- Simple timidity frontend written in FreePascal. BLumia created a more
- feature-rich fork called <a href="https://github.com/BLumia/BLumiaTimidityShell">BLumia's Timidity Shell</a>.
- </div>
- </li>
- <li>Simple Tester for OI (2012)
- <reduced>
- <a href="//filestorage.chrisoft.org/inactive/Tester.tar.xz">[archive]</a>
- <a href="javascript:toggleblkdisplay('testr-desc')">[short desc.]</a>
- </reduced>
- <div class="block" id="testr-desc">
- Local judger for OI problems. Doesn't really have any advanced features.
- Written in FreePascal.
- </div>
- </li>
- <li>the <s>Ultimate</s> Data Visualiser (2015)
- <reduced>
- <a href="javascript:toggleblkdisplay('dvis-desc')">[short desc.]</a>
- </reduced>
- <div class="block" id="dvis-desc">
- A data visualizer for some very specific purpose.
- This project is never made public. Written in C++. Uses SMELT.
- </div>
- </li>
- <li>World's Hardest Game 3D (2010-2011)
- <reduced>
- <a href="https://1drv.ms/u/s!AjEe7BxvJRi9gSCz7LxTzCjXWMsT">[archive]</a>
- <a href="javascript:toggleblkdisplay('whg3d-desc')">[short desc.]</a>
- </reduced>
- <div class="block" id="whg3d-desc">
- 3D version of a flash game called "World's Hardest Game" made with Virtools.
- Extremely hard because it's basically unplayable.
- </div>
- </li>
- <li>Cross Noodles (Virtools) (2012)
- <reduced>
- <a href="//cgit.chrisoft.org/oddities.git/tree/Virtools/Cross_Noodles.cmo">[details]</a>
- <a href="javascript:toggleblkdisplay('crxnd-desc')">[short desc.]</a>
- </reduced>
- <div class="block" id="crxnd-desc">
- A stupid game made with Virtools. A new version written for modern(-ish)
- browser is <a href="https://chrisoft.org/CrossNoodlesJS/">available</a>.
- </div>
- </li>
- <li>Compiz 0.9.7.99 (2012-2016)
- <reduced>
- <a href="//filestorage.chrisoft.org/inactive/compiz0.9.7.9.tar.xz">[archive]</a>
- <a href="javascript:toggleblkdisplay('cmpz-desc')">[short desc.]</a>
- </reduced>
- <div class="block" id="cmpz-desc">
- The ultimate pre-GLES port compiz distribution with extra features
- added by me, as well as backports of a few new features added later.
- It was forked off the 0.9.7 branch for Ubuntu 12.04. It comes with
- probably every single plugin ever available for compiz.
- </div>
- </li>
- <li>Minesweeper in HGE (2012)
- <reduced>
- <a href="javascript:toggleblkdisplay('mswp-desc')">[short desc.]</a>
- </reduced>
- <div class="block" id="mswp-desc">
- Essentially a cmine.c with GUI.
- </div>
- </li>
- <li>Desktop (2012)
- <reduced>
- <a href="//filestorage.chrisoft.org/inactive/Desktop.tar.xz">[archive]</a>
- <a href="javascript:toggleblkdisplay('dskt-desc')">[short desc.]</a>
- </reduced>
- <div class="block" id="dskt-desc">
- Windows 7 style show desktop for Windows 2000, Windows XP and Windows Vista.
- Written in FreePascal. It's pretty broken though.
- </div>
- </li>
- <li>Go!Word (2012)
- <reduced>
- <a href="javascript:toggleblkdisplay('gword-desc')">[short desc.]</a>
- </reduced>
- <div class="block" id="gword-desc">
- Hangman written in FreePascal.
- </div>
- </li>
- <li>cpu.c (2011)
- <reduced>
- <a href="javascript:toggleblkdisplay('cpuc-desc')">[short desc.]</a>
- </reduced>
- <div class="block" id="cpuc-desc">
- Plots a sine function in CPU usage using busy waits.
- </div>
- </li>
- <li>cmine.c (2012)
- <reduced>
- <a href="javascript:toggleblkdisplay('cmine-desc')">[short desc.]</a>
- </reduced>
- <div class="block" id="cmine-desc">
- Minesweeper, CLI version.
- </div>
- </li>
- <li>fpsnake.pas (2016)
- <reduced>
- <a href="javascript:toggleblkdisplay('psnk-desc')">[short desc.]</a>
- </reduced>
- <div class="block" id="psnk-desc">
- Snake game written in FreePascal. I wrote this in order to prove that
- I can still do Pascal.
- </div>
- </li>
- <li>fpGraphicClock (2011-2012)
- <reduced>
- <a href="javascript:toggleblkdisplay('pgclk-desc')">[short desc.]</a>
- </reduced>
- <div class="block" id="pgclk-desc">
- Primitive graphic clock written in FreePascal.
- </div>
- </li>
- <li>Date&amp;Time (2009-2010)
- <reduced>
- <a href="javascript:toggleblkdisplay('dntm-desc')">[short desc.]</a>
- </reduced>
- <div class="block" id="dntm-desc">
- Text mode clock, alarm and stopwatch written in FreePascal.
- </div>
- </li>
- </ul>
</div>
<div class="block" id="blog">
<h2>Blog</h2><hr>
- <h3><a href="/blog/list"><ruby>SPELVNCAM·VRSAE·VISERE<rp>(</rp><rt>Visit the bearess's den</rt><rp>)</rp></ruby></a></h3>
+ <h3><a href="/blog/list"><ruby>SPELVNCAM·VRSAE·VISERE<rp>(</rp><rt>Visit the bearess' den</rt><rp>)</rp></ruby></a></h3>
<p>
As its name suggests, this place is dangerous. However if you
do know what you're looking for, you might be able to find
@@ -532,15 +410,20 @@ document.addEventListener("DOMContentLoaded", swonload);
</p>
</div>
<div class="block" id="guestbook">
- <h2>Leave a Message</h2><hr>
+ <h2>Guestbook</h2><hr>
<p style="font-size:75%;">
All times are in CST (UTC+8).
- General etiquette still applies.
+ General etiquette applies.
Your IP will be checked against a spam filter (AbuseIPDB).
Your message will be held in a moderation buffer if there
are reports against your IP, and may be released later.
See the <a href="https://chrisoft.org/blog/post/Privacy.html">Privacy Policy</a> for details.
</p>
+ <p style="font-size:75%;">
+ <b>IMPORTANT:</b> This is a guestbook, not a contact form. If you expect a reply from
+ the owner of this website, please use the contacts in the <a href="#about">about page</a>.
+ </p>
+ <p style="font-size:75%;"><button class="link-like" onclick="document.getElementById('msgform').scrollIntoView();">To the signing area.</button></p>
<div id="commentdiv">
</div>
<script>
@@ -561,12 +444,12 @@ document.addEventListener("DOMContentLoaded", swonload);
h.send(JSON.stringify(f));
h.onerror=function(){
alert('You broke something, or something broke itself...');
- document.getElementById('button_send').innerHTML='Leave the message!';
+ document.getElementById('button_send').innerHTML='Sign the guestbook!';
document.getElementById('button_send').disabled=false;
};
h.onload=function(){
gb_load();
- document.getElementById('button_send').innerHTML='Leave the message!';
+ document.getElementById('button_send').innerHTML='Sign the guestbook!';
document.getElementById('button_send').disabled=false;
document.getElementById('mname').value=
document.getElementById('mcontent').value='';
@@ -605,15 +488,15 @@ document.addEventListener("DOMContentLoaded", swonload);
}
gb_load();
</script>
- <form id="msgform" method="post" style="padding:5px;border:1px solid #CCC;">
+ <form id="msgform" method="post" style="padding:5px;border:1px solid var(--secondary-fg);">
<span style="width:98%;display:table;">
- <label for="name" style="display:table-cell;width:1px;white-space:nowrap;">Your honourable name:</label>
+ <label for="name" style="display:table-cell;width:1px;white-space:nowrap;">Your honorable name:</label>
<input type="text" id="mname" name="name" required style="margin-left:5px;display:table-cell;width:100%;">
</span>
<div style="padding:0.5em;">Message:</div>
<textarea required id="mcontent" name="content" rows="5" style="width:97%;margin:0.5em;"></textarea>
<div style="text-align:center;">
- <button id="button_send" onclick="gb_send();" type="button">Leave the message!</button>
+ <button id="button_send" onclick="gb_send();" type="button">Sign the guestbook!</button>
</div>
</form>
</div>