Compare commits
46 commits
aa059dfe0a
...
master
Author | SHA1 | Date | |
---|---|---|---|
8fe6760157 | |||
dbf43952ea | |||
0e041aa4e7 | |||
12bf1b932c | |||
e89d666239 | |||
5c592aebd9 | |||
5cc3c1bf5f | |||
6e058b53b5 | |||
d1de15af29 | |||
3e17c8b59d | |||
94ab2ba9f0 | |||
cd9bc7509e | |||
e145ace1a6 | |||
a11f885557 | |||
7b23f3c207 | |||
95d2f7d2da | |||
9a4eb4555e | |||
a0f3efb05a | |||
e3cf74d48c | |||
bd2f2ba0ba | |||
1806c17b83 | |||
136ff0df88 | |||
22d9a57ec6 | |||
c3e1adb2b6 | |||
66cb0475bf | |||
16278fc1cc | |||
3143462043 | |||
35d1242029 | |||
8c6a2bdb07 | |||
d924cb47a7 | |||
1e8b018341 | |||
4fe83a6ae4 | |||
e533512486 | |||
433216db58 | |||
e127389ac6 | |||
dff4f4df20 | |||
e71823700a | |||
c10e35ef86 | |||
75f28446ac | |||
e9987b24b0 | |||
519a2e9d98 | |||
f8fd4bfc54 | |||
510d37c710 | |||
8a05cf5ee4 | |||
ddb0008a7a | |||
f01b09460e |
28 changed files with 342 additions and 106 deletions
2
.bundle/config
Normal file
2
.bundle/config
Normal file
|
@ -0,0 +1,2 @@
|
|||
---
|
||||
BUNDLE_PATH: "vendor/bundle"
|
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -3,3 +3,4 @@ _site
|
|||
.jekyll-cache
|
||||
.jekyll-metadata
|
||||
vendor
|
||||
*.kate-swp
|
||||
|
|
46
.idea/inspectionProfiles/Project_Default.xml
Normal file
46
.idea/inspectionProfiles/Project_Default.xml
Normal file
|
@ -0,0 +1,46 @@
|
|||
<component name="InspectionProjectProfileManager">
|
||||
<profile version="1.0">
|
||||
<option name="myName" value="Project Default" />
|
||||
<inspection_tool class="GrazieInspection" enabled="false" level="TYPO" enabled_by_default="false" />
|
||||
<inspection_tool class="PyAugmentAssignmentInspection" enabled="true" level="WEAK WARNING" enabled_by_default="true" />
|
||||
<inspection_tool class="PyComparisonWithNoneInspection" enabled="true" level="WARNING" enabled_by_default="true" />
|
||||
<inspection_tool class="PyCompatibilityInspection" enabled="true" level="WARNING" enabled_by_default="true">
|
||||
<option name="ourVersions">
|
||||
<value>
|
||||
<list size="6">
|
||||
<item index="0" class="java.lang.String" itemvalue="3.6" />
|
||||
<item index="1" class="java.lang.String" itemvalue="3.7" />
|
||||
<item index="2" class="java.lang.String" itemvalue="3.8" />
|
||||
<item index="3" class="java.lang.String" itemvalue="3.9" />
|
||||
<item index="4" class="java.lang.String" itemvalue="3.10" />
|
||||
<item index="5" class="java.lang.String" itemvalue="3.10" />
|
||||
</list>
|
||||
</value>
|
||||
</option>
|
||||
</inspection_tool>
|
||||
<inspection_tool class="PyInconsistentIndentationInspection" enabled="true" level="ERROR" enabled_by_default="true" />
|
||||
<inspection_tool class="PyMissingTypeHintsInspection" enabled="true" level="WEAK WARNING" enabled_by_default="true" />
|
||||
<inspection_tool class="PyPep8Inspection" enabled="true" level="WEAK WARNING" enabled_by_default="true">
|
||||
<option name="ignoredErrors">
|
||||
<list>
|
||||
<option value="E302" />
|
||||
<option value="E305" />
|
||||
<option value="E261" />
|
||||
<option value="E128" />
|
||||
<option value="E124" />
|
||||
<option value="W191" />
|
||||
</list>
|
||||
</option>
|
||||
</inspection_tool>
|
||||
<inspection_tool class="PyUnresolvedReferencesInspection" enabled="true" level="WARNING" enabled_by_default="true">
|
||||
<option name="ignoredIdentifiers">
|
||||
<list>
|
||||
<option value="mutagen.id3._frames.APIC.*" />
|
||||
<option value="music_tools.note.Note" />
|
||||
</list>
|
||||
</option>
|
||||
</inspection_tool>
|
||||
<inspection_tool class="RedundantNotNullExtensionReceiverOfInline" enabled="true" level="INFORMATION" enabled_by_default="true" />
|
||||
<inspection_tool class="RegExpRepeatedSpace" enabled="true" level="INFORMATION" enabled_by_default="true" />
|
||||
</profile>
|
||||
</component>
|
8
Gemfile
8
Gemfile
|
@ -7,7 +7,7 @@ source "https://rubygems.org"
|
|||
#
|
||||
# This will help ensure the proper Jekyll version is running.
|
||||
# Happy Jekylling!
|
||||
gem "jekyll", "~> 4.2.0"
|
||||
gem "jekyll", "~> 4.3.3"
|
||||
# This is the default theme for new Jekyll sites. You may change this to anything you like.
|
||||
# If you want to use GitHub Pages, remove the "gem "jekyll"" above and
|
||||
# uncomment the line below. To upgrade, run `bundle update github-pages`.
|
||||
|
@ -20,12 +20,12 @@ end
|
|||
# Windows and JRuby does not include zoneinfo files, so bundle the tzinfo-data gem
|
||||
# and associated library.
|
||||
install_if -> { RUBY_PLATFORM =~ %r!mingw|mswin|java! } do
|
||||
gem "tzinfo", "~> 1.2"
|
||||
gem "tzinfo", "~> 2.0"
|
||||
gem "tzinfo-data"
|
||||
end
|
||||
|
||||
# Performance-booster for watching directories on Windows
|
||||
gem "wdm", "~> 0.1.1", :install_if => Gem.win_platform?
|
||||
|
||||
|
||||
gem "webrick", "~> 1.7"
|
||||
# fix for https://github.com/sass/sassc-ruby/issues/146
|
||||
gem "sassc", "< 2.2.0"
|
||||
|
|
83
Gemfile.lock
83
Gemfile.lock
|
@ -1,78 +1,87 @@
|
|||
GEM
|
||||
remote: https://rubygems.org/
|
||||
specs:
|
||||
addressable (2.7.0)
|
||||
public_suffix (>= 2.0.2, < 5.0)
|
||||
addressable (2.8.7)
|
||||
public_suffix (>= 2.0.2, < 7.0)
|
||||
bigdecimal (3.1.8)
|
||||
colorator (1.1.0)
|
||||
concurrent-ruby (1.1.8)
|
||||
em-websocket (0.5.2)
|
||||
concurrent-ruby (1.3.4)
|
||||
em-websocket (0.5.3)
|
||||
eventmachine (>= 0.12.9)
|
||||
http_parser.rb (~> 0.6.0)
|
||||
http_parser.rb (~> 0)
|
||||
eventmachine (1.2.7)
|
||||
ffi (1.15.0)
|
||||
ffi (1.17.0-x86_64-linux-gnu)
|
||||
forwardable-extended (2.6.0)
|
||||
http_parser.rb (0.6.0)
|
||||
i18n (1.8.10)
|
||||
google-protobuf (4.27.4-x86_64-linux)
|
||||
bigdecimal
|
||||
rake (>= 13)
|
||||
http_parser.rb (0.8.0)
|
||||
i18n (1.14.5)
|
||||
concurrent-ruby (~> 1.0)
|
||||
jekyll (4.2.0)
|
||||
jekyll (4.3.3)
|
||||
addressable (~> 2.4)
|
||||
colorator (~> 1.0)
|
||||
em-websocket (~> 0.5)
|
||||
i18n (~> 1.0)
|
||||
jekyll-sass-converter (~> 2.0)
|
||||
jekyll-sass-converter (>= 2.0, < 4.0)
|
||||
jekyll-watch (~> 2.0)
|
||||
kramdown (~> 2.3)
|
||||
kramdown (~> 2.3, >= 2.3.1)
|
||||
kramdown-parser-gfm (~> 1.0)
|
||||
liquid (~> 4.0)
|
||||
mercenary (~> 0.4.0)
|
||||
mercenary (>= 0.3.6, < 0.5)
|
||||
pathutil (~> 0.9)
|
||||
rouge (~> 3.0)
|
||||
rouge (>= 3.0, < 5.0)
|
||||
safe_yaml (~> 1.0)
|
||||
terminal-table (~> 2.0)
|
||||
jekyll-sass-converter (2.1.0)
|
||||
sassc (> 2.0.1, < 3.0)
|
||||
terminal-table (>= 1.8, < 4.0)
|
||||
webrick (~> 1.7)
|
||||
jekyll-sass-converter (3.0.0)
|
||||
sass-embedded (~> 1.54)
|
||||
jekyll-watch (2.2.1)
|
||||
listen (~> 3.0)
|
||||
kramdown (2.3.1)
|
||||
kramdown (2.4.0)
|
||||
rexml
|
||||
kramdown-parser-gfm (1.1.0)
|
||||
kramdown (~> 2.0)
|
||||
liquid (4.0.3)
|
||||
listen (3.5.1)
|
||||
liquid (4.0.4)
|
||||
listen (3.9.0)
|
||||
rb-fsevent (~> 0.10, >= 0.10.3)
|
||||
rb-inotify (~> 0.9, >= 0.9.10)
|
||||
mercenary (0.4.0)
|
||||
pathutil (0.16.2)
|
||||
forwardable-extended (~> 2.6)
|
||||
public_suffix (4.0.6)
|
||||
rb-fsevent (0.10.4)
|
||||
rb-inotify (0.10.1)
|
||||
public_suffix (6.0.1)
|
||||
rake (13.2.1)
|
||||
rb-fsevent (0.11.2)
|
||||
rb-inotify (0.11.1)
|
||||
ffi (~> 1.0)
|
||||
rexml (3.2.5)
|
||||
rouge (3.26.0)
|
||||
rexml (3.3.6)
|
||||
strscan
|
||||
rouge (4.3.0)
|
||||
safe_yaml (1.0.5)
|
||||
sassc (2.4.0)
|
||||
sass-embedded (1.77.8-x86_64-linux-gnu)
|
||||
google-protobuf (~> 4.26)
|
||||
sassc (2.1.0-x86_64-linux)
|
||||
ffi (~> 1.9)
|
||||
terminal-table (2.0.0)
|
||||
unicode-display_width (~> 1.1, >= 1.1.1)
|
||||
thread_safe (0.3.6)
|
||||
tzinfo (1.2.9)
|
||||
thread_safe (~> 0.1)
|
||||
tzinfo-data (1.2021.1)
|
||||
strscan (3.1.0)
|
||||
terminal-table (3.0.2)
|
||||
unicode-display_width (>= 1.1.1, < 3)
|
||||
tzinfo (2.0.6)
|
||||
concurrent-ruby (~> 1.0)
|
||||
tzinfo-data (1.2024.1)
|
||||
tzinfo (>= 1.0.0)
|
||||
unicode-display_width (1.7.0)
|
||||
unicode-display_width (2.5.0)
|
||||
wdm (0.1.1)
|
||||
webrick (1.7.0)
|
||||
webrick (1.8.1)
|
||||
|
||||
PLATFORMS
|
||||
x86_64-linux
|
||||
|
||||
DEPENDENCIES
|
||||
jekyll (~> 4.2.0)
|
||||
tzinfo (~> 1.2)
|
||||
jekyll (~> 4.3.3)
|
||||
sassc (< 2.2.0)
|
||||
tzinfo (~> 2.0)
|
||||
tzinfo-data
|
||||
wdm (~> 0.1.1)
|
||||
webrick (~> 1.7)
|
||||
|
||||
BUNDLED WITH
|
||||
2.2.16
|
||||
2.4.10
|
||||
|
|
16
README.md
16
README.md
|
@ -3,20 +3,28 @@ lynnesbian.space
|
|||
This is the Jekyll site directory for [lynnesbian.space](https://lynnesbian.space). I can't really see anyone getting
|
||||
much use out of the source for the website, but there's not really a reason *not* to publish it, so whatever.
|
||||
|
||||
## Getting started
|
||||
```bash
|
||||
git clone https://git.bune.city/lynnesbian/lynnespace
|
||||
cd lynnespace
|
||||
gem install bundler
|
||||
bundler install
|
||||
|
||||
```
|
||||
|
||||
## Licensing
|
||||
|
||||
This is gonna get complicated, but here goes:
|
||||
|
||||
- The provided HTML, JavaScript, and CSS files are licensed under the Expat license (aka the "MIT license").
|
||||
- `favicon.ico` and `favicon.png` are both CC-BY-SA.
|
||||
- All files in the `/_data` and `/_projects` directories are CC-BY-SA.
|
||||
- All files in the `/_projects` directory are CC-BY-SA.
|
||||
- All other files are Expat licensed.
|
||||
- If files seem to be licensed under two licenses (my bad), assume Expat.
|
||||
|
||||
In other words: You can use the JavaScript, HTML, and CSS content of this website without attribution (although I would
|
||||
prefer it if you did provide attribution). You can also do whatever you want with the files in `/_data` and
|
||||
`/_projects`, but you must provide attribution for these files, and any derivative works made with them must also be
|
||||
CC-BY-SA licensed.
|
||||
prefer it if you did provide attribution). You can also do whatever you want with the files in `/_projects`, but you
|
||||
must provide attribution for these files, and any derivative works made with them must also be CC-BY-SA licensed.
|
||||
|
||||
### Links to licenses used
|
||||
- [CC-BY-SA](https://creativecommons.org/licenses/by-sa/4.0/legalcode)
|
||||
|
|
|
@ -15,8 +15,8 @@ defaults:
|
|||
collections:
|
||||
content:
|
||||
output: true
|
||||
permalink: /:name
|
||||
permalink: /:name:output_ext
|
||||
projects:
|
||||
output: true
|
||||
permalink: /:collection/:name
|
||||
permalink: /:collection/:name:output_ext
|
||||
|
||||
|
|
|
@ -3,10 +3,11 @@ title: About
|
|||
---
|
||||
{% include h.html level=2 content="What I do" %}
|
||||
<p>
|
||||
I'm Lynne. My interests include creating free software, playing story-driven games, photography, and writing.
|
||||
My interests include creating and improving free software, learning all I can about computer science, playing
|
||||
story-driven games, photography, and writing.
|
||||
</p>
|
||||
<p>
|
||||
Most of what I do with computers is about helping people, whether that's through writing simple scripts to automate
|
||||
Much of what I do with computers is about helping people, whether that's through writing simple scripts to automate
|
||||
things or writing software to make things more accessible.
|
||||
</p>
|
||||
<p>
|
||||
|
@ -15,18 +16,25 @@ title: About
|
|||
contraptions and logic machines to accomplish tasks within the game.
|
||||
</p>
|
||||
<p>
|
||||
While making games and tools was (and is) enjoyable to me, what I want to do most is create software that helps
|
||||
people - I find it by far my greatest motivator.
|
||||
The type of software I want to create most is that which helps people, whether it be through providing or improving
|
||||
on accessibility options, creating tools that aim to simplify complex tasks, or even writing documentation that
|
||||
makes existing software easier to use - I find it by far my greatest motivator.
|
||||
</p>
|
||||
<p>
|
||||
I don't really consider myself a <em>hardcore gamer</em>, but I do enjoy video games - usually those with a focus on
|
||||
creativity or story. I've tried to make a few games before, but never completed any outside of short little minigames
|
||||
and TI-84 calculator toys. I'd like to make a few small games of my own, and I'm really interested in one day making
|
||||
mods for existing games to make them more accessible - lowering difficulty, removing epilepsy-triggering sequences,
|
||||
removing potentially phobia-inducing elements, etc. {% comment %} FOOTNOTE - why do so many games have spiders!!!! {% endcomment %}
|
||||
removing potentially phobia-inducing elements, and so on. {% comment %} FOOTNOTE - why do so many games have
|
||||
spiders!!!! {% endcomment %}
|
||||
</p>
|
||||
{% comment %}
|
||||
{% include h.html level=3 content="Some things I've made" %}
|
||||
<p>
|
||||
<a href="https://gitlab.com/Lynnesbian/fif">fif</a> is a tool to find and optionally correct files with misnamed
|
||||
extensions. It's written in Rust, partially to teach myself the language, and partially because it's (in my
|
||||
opinion) a more suitable language for a small CLI project like this than something like C# or Python.
|
||||
</p>
|
||||
<p>
|
||||
I've made a lot of software to help my wife Petra, but much of it is too specific to her needs to be useful on a
|
||||
greater scale, with perhaps a few exceptions, such as
|
||||
|
@ -43,26 +51,22 @@ title: About
|
|||
{% include h.html level=2 content="What I use" %}
|
||||
<p>
|
||||
All my computers and laptops run Linux, perhaps unsurprisingly. I mainly stick to
|
||||
<a href="https://archlinux.org">Arch</a> and <a href="https://debian.org">Debian</a>. Every Android phone I've ever
|
||||
<a href="https://fedoraproject.org">Fedora</a> and <a href="https://debian.org">Debian</a>, although in the past I
|
||||
used <a href="https://archlinux.org">Arch</a>. Up until my most recent one, every Android phone I've ever
|
||||
owned (with the exception of <a href="https://www.gsmarena.com/huawei_u8150_ideos-3513.php">my very first</a>) ended
|
||||
up running <a href="https://en.wikipedia.org/wiki/CyanogenMod">Cyanogenmod</a> or
|
||||
<a href="https://lineageos.org/">LineageOS</a> at some point, usually soon after purchase. This includes my current
|
||||
phone.
|
||||
<a href="https://lineageos.org/">LineageOS</a> at some point, usually soon after purchase. One UI finally won me
|
||||
over, and rooting phones is just too annoying now, with
|
||||
<a href="https://developer.android.com/google/play/integrity">Play Integrity</a> (formerly SafetyNet) and all that.
|
||||
</p>
|
||||
<p>
|
||||
I avoid proprietary and/or closed software wherever I can without hugely inconveniencing myself. The vast majority of
|
||||
the software on my computer(s) is free and open source. I am strongly opposed to almost all forms of
|
||||
<a href="https://en.wikipedia.org/wiki/Digital_rights_management">DRM</a>, and either avoid buying media with it, or
|
||||
remove it after purchase. For example, I buy all of my music from <a href="https://bandcamp.com/">Bandcamp</a> and
|
||||
download the <a href="https://en.wikipedia.org/wiki/Ogg_Vorbis">OGG</a> version of the albums. I do this for both
|
||||
ideological/philosophical and practical reasons.
|
||||
I consider myself an advocate for free and open source software, and all of my existing projects are licensed under
|
||||
copyleft or permissive licences.
|
||||
</p>
|
||||
<p>
|
||||
I used to use social media (the <a href="https://en.wikipedia.org/wiki/Fediverse">Fediverse</a>, specifically) a fair
|
||||
amount, but I've since moved away from all forms of social media besides reddit (where I never post).
|
||||
I'm fairly active on the Fediverse, and I self-host Mastodon. You can follow me on
|
||||
<a rel="me" href="https://fedi.lynnesbian.space/@lynnesbian">my account at fedi.lynnesbian.space</a>!
|
||||
</p>
|
||||
<p>
|
||||
Most of my programming is done in <a href="https://rust-lang.org/">Rust</a> or <a href="https://python.org">Python</a>. I'm also somewhat familiar with
|
||||
<a href="https://docs.microsoft.com/dotnet/csharp">C#</a> and
|
||||
<a href="https://wikipedia.org/wiki/JavaScript">JavaScript</a>.
|
||||
For info on what programming languages I tend to use, see <a href="skills.html">my skills page</a>.
|
||||
</p>
|
||||
|
|
|
@ -1,5 +1,7 @@
|
|||
---
|
||||
title: Contact
|
||||
---
|
||||
I can by reached <a href="mailto:lynne@bune.city">by email</a>. If you find any bugs or issues with my software, feel
|
||||
free to open an issue on the respective repository or email me.
|
||||
<p>
|
||||
I can by reached <a href="mailto:lynne@bune.city">by email</a>. If you find any bugs or issues with my software, feel
|
||||
free to open an issue on the respective repository or email me.
|
||||
</p>
|
||||
|
|
|
@ -3,8 +3,9 @@ title: Home
|
|||
custom_heading: true
|
||||
---
|
||||
<picture id="bune">
|
||||
<source type="image/webp" srcset="/assets/img/bune.webp">
|
||||
<img id="bune" src="/assets/img/bune.png" alt="A drawing of a rabbit with brown-tipped ears sniffing the air excitedly!" title="" style="">
|
||||
<source type="image/webp" srcset="/assets/img/bune-smol.webp 1x, /assets/img/bune.webp 2x">
|
||||
<img id="bune-img" src="/assets/img/bune.png" alt="A drawing of a rabbit with brown-tipped ears sniffing the air
|
||||
excitedly!" title="">
|
||||
</picture>
|
||||
|
||||
{% include h.html level=1 content="Lynnesbian dot Space" %}
|
||||
|
@ -16,12 +17,17 @@ custom_heading: true
|
|||
|
||||
{% include h.html level=2 content="Quick Links" %}
|
||||
<p>
|
||||
<a href="https://bune.city/">My blog</a> is updated very infrequently, and focuses mostly on technology and/or games.
|
||||
I'm on the Fediverse! Follow me:
|
||||
<a rel="me" href="https://fedi.lynnesbian.space/@lynnesbian">@lynnesbian@fedi.lynnesbian.space</a>
|
||||
</p>
|
||||
<p>
|
||||
<a href="https://bune.city/">My abandoned blog</a> updated very infrequently, and focused mostly on technology and/or
|
||||
games.
|
||||
</p>
|
||||
<p>
|
||||
My <a href="https://keybase.io/lynnesbian/pgp_keys.asc">public PGP key</a> is available on Keybase. I've proven
|
||||
ownership of the lynnesbian Keybase account via
|
||||
<a href="https://keybase.io/lynnesbian/sigchain#ad0cb53b48a917df3c369f64150672fc86be8bd946850269b81d25fd068626d30f">DNS</a>.
|
||||
<a href="//keybase.io/lynnesbian/sigchain#ad0cb53b48a917df3c369f64150672fc86be8bd946850269b81d25fd068626d30f">DNS</a>.
|
||||
</p>
|
||||
<p>
|
||||
I host a few small <a href="https://apt.bune.city">apt repository mirrors</a> on this server, along with
|
||||
|
|
|
@ -9,7 +9,7 @@ title: Projects
|
|||
{% assign projects = site.projects | sort:"order" %}
|
||||
{% for project in projects %}
|
||||
<div class="project">
|
||||
<h2>{{ project.name }}</h2>
|
||||
<h2>{{ project.name }} <span class="subtle"><em>{{ project.language }}</em></span></h2>
|
||||
<p>
|
||||
{{ project.description }}
|
||||
</p>
|
||||
|
|
|
@ -53,7 +53,7 @@ layout: none
|
|||
</TD>
|
||||
<TD ID=" MAIN">
|
||||
<H2>Who?</H2>
|
||||
My name is Lynne, a twenty-two year old woman living in Australia (the land down under!)
|
||||
My name is Lynne, a twenty-five year old woman living in Australia (the land down under!)
|
||||
<BR />
|
||||
<BR />
|
||||
|
||||
|
@ -106,14 +106,8 @@ layout: none
|
|||
that I
|
||||
sound paranoid, but in my opinion, it's better safe than sorry.
|
||||
<H2>Where?</H2>
|
||||
You won't find me on centralised blogging websites. You can, however, find me on the Fediverse - an
|
||||
open
|
||||
and federated social networking platform that allows for messages to flow freely from computer to
|
||||
computer
|
||||
through centralised servers ("instances") - without relying on a single point of failure. Drop me a
|
||||
line at <A HREF='@lynnesbian@fedi.lynnesbian.space'>@lynnesbian@fedi.lynnesbian.space</A>, or if
|
||||
you're more
|
||||
old-school, you can email me at <A HREF='mailto:lynne@bune.city'>lynne@bune.city</A>.
|
||||
You won't find me on any data-slurping "social media" websites. Drop me a line at
|
||||
<A HREF='mailto:lynne@bune.city'>lynne@bune.city</A> if you need to get in touch.
|
||||
|
||||
<H2>When?</H2>
|
||||
Until the end of cyber freedom as we know it, the webmasters, webmistresses and webmakers of the
|
||||
|
|
32
_content/skills.html
Normal file
32
_content/skills.html
Normal file
|
@ -0,0 +1,32 @@
|
|||
---
|
||||
title: Skills
|
||||
---
|
||||
{% include h.html level=2 content="Languages" %}
|
||||
I'm most comfortable with...
|
||||
<ul>
|
||||
<li><a href="https://rust-lang.org/">Rust</a> - my preferred language, and my default for new CLI/TUI projects</li>
|
||||
<li><a href="https://python.org">Python</a> - my go-to scripting/glue language</li>
|
||||
<li><a href="https://docs.microsoft.com/dotnet/csharp">C#</a> - my usual pick for GUI projects</li>
|
||||
</ul>
|
||||
|
||||
I'm fairly capable with...
|
||||
<ul>
|
||||
<li><a href="https://wikipedia.org/wiki/JavaScript">JavaScript</a></li>
|
||||
<li><a href="https://wikipedia.org/wiki/HTML">HTML</a>/<a href="https://wikipedia.org/wiki/CSS">CSS</a></li>
|
||||
<li><a href="https://www.gnu.org/software/bash/manual/bash.html">Bash</a></li>
|
||||
</ul>
|
||||
|
||||
I'm currently learning...
|
||||
<ul>
|
||||
<li><a href="https://isocpp.org">C++</a> - while I much prefer Rust, C++ has a far larger established base, and
|
||||
learning either it or C (preferably both) is near-essential for systems programming, particularly when working
|
||||
with Linux internals</li>
|
||||
<li><a href="https://en.wikipedia.org/wiki/C_(programming_language)">C</a> - a very useful language for both
|
||||
working with established codebases and for writing software for small, low-power devices, such as in the context
|
||||
of embedded hardware.</li>
|
||||
<li><a href="https://kotlinlang.org">Kotlin</a> - my personal favourite of the various JVM languages. Java is
|
||||
widespread in many industries, and Kotlin provides near-seamless Java interop. Knowing at least one JVM
|
||||
language should be very helpful for integrating with existing established codebases.</li>
|
||||
<li><a href="https://ziglang.org">Zig</a> - Zig's alluring promise of a better C captured my attention, and I quite
|
||||
enjoy its <tt>comptime</tt> paradigm, ease of configuring allocators, and philosophy around error handling.</li>
|
||||
</ul>
|
|
@ -3,12 +3,12 @@
|
|||
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<link rel="stylesheet" type="text/css" href="/assets/style.css">
|
||||
<link rel="stylesheet" type="text/css" href="/assets/fonts/fonts.css">
|
||||
<link rel="shortcut icon" href="/assets/img/favicon.png">
|
||||
<script src='/assets/script.js'></script>
|
||||
{% comment %}<script async src="https://ackee.lynnesbian.space/script.js" data-ackee-server="https://ackee.lynnesbian.space" data-ackee-domain-id="f0217e7d-ec2a-4a9b-baf3-d2d2215810ba"></script>{% endcomment %}
|
||||
<script async src="https://ackee.lynnesbian.space/script.js" data-ackee-server="https://ackee.lynnesbian.space" data-ackee-domain-id="f0217e7d-ec2a-4a9b-baf3-d2d2215810ba"></script>
|
||||
<title>{{ page.title | default: "lynnesbian dot space" }}</title>
|
||||
<meta property="og:title" content="{{ page.title | default: 'Henlo!' }}">
|
||||
<meta property="og:site_name" content="lynnesbian dot space">
|
||||
|
@ -21,20 +21,22 @@
|
|||
<body>
|
||||
<header>
|
||||
<section id="header-content">
|
||||
<a href="/">
|
||||
<picture id="logo">
|
||||
<source type="image/webp" srcset="/assets/img/lynnesoft-centred.png">
|
||||
<source type="image/webp" srcset="/assets/img/lynnesoft-centred.webp">
|
||||
<img id="logo"
|
||||
src="/assets/img/lynnesoft-centred.png"
|
||||
alt="A cyan-purple parallelogram with an outline of the letter L in its bottom-left corner."
|
||||
height="442"
|
||||
width="607">
|
||||
</picture>
|
||||
</a>
|
||||
|
||||
<nav>
|
||||
<a href='/' {%- if page.title == "Home" %} class='current'{% endif -%}>Home</a>
|
||||
{%- for html_page in site.content -%}
|
||||
{%- unless html_page.url == '/index' -%}
|
||||
<a href='{{ html_page.url }}' {%- if page.title == html_page.title %} class='current'{% endif -%}>
|
||||
{%- unless html_page.title == 'Home' -%}
|
||||
<a href='{{ html_page.url }}' {%- if page.title == html_page.title or layout.sidebar_title == html_page.title %} class='current'{% endif -%}>
|
||||
{{ html_page.title }}
|
||||
</a>
|
||||
{%- endunless -%}
|
||||
|
|
|
@ -1,11 +1,15 @@
|
|||
---
|
||||
layout: default
|
||||
sidebar_title: Projects
|
||||
---
|
||||
{% comment %}<h1>{{ page.name }}</h1>{% endcomment %}
|
||||
<div class='subheading-links'>
|
||||
{% if page.source %}<a href='{{ project.source }}'>Source code</a>{% endif %}
|
||||
{% if page.website %}<a href='{{ project.website }}'>Website</a>{% endif %}
|
||||
{% if page.source %}<a href='{{ page.source }}'>Source code</a>{% endif %}
|
||||
{% if page.website %}<a href='{{ page.website }}'>Website</a>{% endif %}
|
||||
</div>
|
||||
<div id="project-language">Written in {{ page.language }}</div>
|
||||
<p>{{ page.description }}</p>
|
||||
{{ content | rstrip | default: "There's nothing here yet." }}
|
||||
{% if page.image %}
|
||||
<img class="project-image" alt="A screenshot of {{ page.name }}." src="{{ page.image }}" />
|
||||
{% endif %}
|
||||
<a href="/projects.html">Back to all projects</a>
|
38
_plugins/extensions.rb
Normal file
38
_plugins/extensions.rb
Normal file
|
@ -0,0 +1,38 @@
|
|||
require "liquid"
|
||||
require "jekyll"
|
||||
|
||||
module Jekyll
|
||||
module LynnesbianDotSpaceFilters
|
||||
def ansi_colour(code)
|
||||
"\u001b[38;5;#{code}m"
|
||||
end
|
||||
|
||||
def ansi_bg(code)
|
||||
"\u001b[48;5;#{code}m"
|
||||
end
|
||||
end
|
||||
|
||||
class AnsiResetTag < Liquid::Tag
|
||||
def render(context)
|
||||
"\u001b[0m"
|
||||
end
|
||||
end
|
||||
|
||||
class AnsiBoldTag < Liquid::Tag
|
||||
def render(context)
|
||||
"\u001b[1m"
|
||||
end
|
||||
end
|
||||
|
||||
class AnsiUnderlineTag < Liquid::Tag
|
||||
def render(context)
|
||||
"\u001b[4m"
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
Liquid::Template.register_filter(Jekyll::LynnesbianDotSpaceFilters)
|
||||
Liquid::Template.register_tag('ansi_reset', Jekyll::AnsiResetTag)
|
||||
Liquid::Template.register_tag('ansi_bold', Jekyll::AnsiBoldTag)
|
||||
Liquid::Template.register_tag('ansi_underline', Jekyll::AnsiUnderlineTag)
|
|
@ -3,6 +3,6 @@ name: BuyPeeb
|
|||
description: BuyPeeb is a simple program that allows you to track auctions on Yahoo Auctions Japan.
|
||||
source: https://git.bune.city/lynnesbian/buypeeb-cs
|
||||
language: C#
|
||||
order: "02"
|
||||
order: "05"
|
||||
---
|
||||
I made it for my wife Petra some time ago, and I haven't really been working on or updating it.
|
||||
|
|
|
@ -4,7 +4,8 @@ title: fif
|
|||
description: fif is a command-line tool for detecting and optionally correcting files with incorrect extensions.
|
||||
source: https://gitlab.com/Lynnesbian/fif
|
||||
language: Rust
|
||||
order: "01"
|
||||
order: "04"
|
||||
image: /assets/img/projects/fif.png
|
||||
---
|
||||
It's cross-platform, multi-threaded, and can output its findings in a variety of formats, such as PowerShell and Bourne
|
||||
Shell scripts.
|
||||
|
|
9
_projects/scoop_ui.md
Normal file
9
_projects/scoop_ui.md
Normal file
|
@ -0,0 +1,9 @@
|
|||
---
|
||||
name: Scoop UI
|
||||
title: Scoop UI
|
||||
description: Scoop UI is a graphical frontend to Scoop.
|
||||
source: https://gitlab.com/Lynnesbian/scoop-ui
|
||||
language: Rust
|
||||
order: "02"
|
||||
---
|
||||
It uses the egui framework and has a much faster search feature than Scoop's own native one.
|
9
_projects/smallgoo.md
Normal file
9
_projects/smallgoo.md
Normal file
|
@ -0,0 +1,9 @@
|
|||
---
|
||||
name: Smallgoo
|
||||
description: Smallgoo is a GUI frontend to various image optimisers.
|
||||
source: https://gitlab.com/Lynnesbian/smallgoo
|
||||
language: C++
|
||||
order: "03"
|
||||
image: /assets/img/projects/smallgoo.png
|
||||
---
|
||||
It compresses files in parallel and supports various configuration options.
|
10
_projects/ztgui.md
Normal file
10
_projects/ztgui.md
Normal file
|
@ -0,0 +1,10 @@
|
|||
---
|
||||
name: ZtGui
|
||||
title: ZtGui
|
||||
description: ZtGui is a cross-platform graphical frontend for managing ZeroTier networks.
|
||||
source: https://gitlab.com/Lynnesbian/ztgui
|
||||
language: Rust
|
||||
order: "01"
|
||||
image: /assets/img/projects/ztgui.png
|
||||
---
|
||||
It provides a much friendlier interface for managing networks than the default command-line interface.
|
|
@ -3,6 +3,7 @@
|
|||
font-family: 'Roboto';
|
||||
font-style: normal;
|
||||
font-weight: 100;
|
||||
font-display: swap;
|
||||
src: local(''),
|
||||
url('/assets/fonts/roboto-v20-latin-100.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
|
||||
url('/assets/fonts/roboto-v20-latin-100.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
|
||||
|
@ -13,6 +14,7 @@
|
|||
font-family: 'Roboto';
|
||||
font-style: italic;
|
||||
font-weight: 100;
|
||||
font-display: swap;
|
||||
src: local(''),
|
||||
url('/assets/fonts/roboto-v20-latin-100italic.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
|
||||
url('/assets/fonts/roboto-v20-latin-100italic.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
|
||||
|
@ -23,6 +25,7 @@
|
|||
font-family: 'Roboto';
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
font-display: swap;
|
||||
src: local(''),
|
||||
url('/assets/fonts/roboto-v20-latin-regular.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
|
||||
url('/assets/fonts/roboto-v20-latin-regular.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
|
||||
|
@ -33,6 +36,7 @@
|
|||
font-family: 'Roboto';
|
||||
font-style: italic;
|
||||
font-weight: 400;
|
||||
font-display: swap;
|
||||
src: local(''),
|
||||
url('/assets/fonts/roboto-v20-latin-italic.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
|
||||
url('/assets/fonts/roboto-v20-latin-italic.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
|
||||
|
@ -43,6 +47,7 @@
|
|||
font-family: 'Roboto';
|
||||
font-style: italic;
|
||||
font-weight: 500;
|
||||
font-display: swap;
|
||||
src: local(''),
|
||||
url('/assets/fonts/roboto-v20-latin-500italic.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
|
||||
url('/assets/fonts/roboto-v20-latin-500italic.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
|
||||
|
@ -53,6 +58,7 @@
|
|||
font-family: 'Roboto';
|
||||
font-style: normal;
|
||||
font-weight: 500;
|
||||
font-display: swap;
|
||||
src: local(''),
|
||||
url('/assets/fonts/roboto-v20-latin-500.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
|
||||
url('/assets/fonts/roboto-v20-latin-500.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
|
||||
|
@ -63,6 +69,7 @@
|
|||
font-family: 'Open Sans';
|
||||
font-style: normal;
|
||||
font-weight: 300;
|
||||
font-display: swap;
|
||||
src: local(''),
|
||||
url('/assets/fonts/open-sans-v18-latin-300.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
|
||||
url('/assets/fonts/open-sans-v18-latin-300.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
|
||||
|
@ -73,6 +80,7 @@
|
|||
font-family: 'Open Sans';
|
||||
font-style: italic;
|
||||
font-weight: 300;
|
||||
font-display: swap;
|
||||
src: local(''),
|
||||
url('/assets/fonts/open-sans-v18-latin-300italic.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
|
||||
url('/assets/fonts/open-sans-v18-latin-300italic.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
|
||||
|
@ -83,6 +91,7 @@
|
|||
font-family: 'Open Sans';
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
font-display: swap;
|
||||
src: local(''),
|
||||
url('/assets/fonts/open-sans-v18-latin-regular.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
|
||||
url('/assets/fonts/open-sans-v18-latin-regular.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
|
||||
|
@ -93,6 +102,7 @@
|
|||
font-family: 'Open Sans';
|
||||
font-style: normal;
|
||||
font-weight: 600;
|
||||
font-display: swap;
|
||||
src: local(''),
|
||||
url('/assets/fonts/open-sans-v18-latin-600.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
|
||||
url('/assets/fonts/open-sans-v18-latin-600.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
|
||||
|
@ -103,6 +113,7 @@
|
|||
font-family: 'Open Sans';
|
||||
font-style: italic;
|
||||
font-weight: 700;
|
||||
font-display: swap;
|
||||
src: local(''),
|
||||
url('/assets/fonts/open-sans-v18-latin-700italic.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
|
||||
url('/assets/fonts/open-sans-v18-latin-700italic.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
|
||||
|
@ -113,6 +124,7 @@
|
|||
font-family: 'Open Sans';
|
||||
font-style: normal;
|
||||
font-weight: 700;
|
||||
font-display: swap;
|
||||
src: local(''),
|
||||
url('/assets/fonts/open-sans-v18-latin-700.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
|
||||
url('/assets/fonts/open-sans-v18-latin-700.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
|
||||
|
|
BIN
assets/img/bune-smol.webp
Normal file
BIN
assets/img/bune-smol.webp
Normal file
Binary file not shown.
After Width: | Height: | Size: 28 KiB |
BIN
assets/img/projects/fif.png
Normal file
BIN
assets/img/projects/fif.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 61 KiB |
BIN
assets/img/projects/smallgoo.png
Normal file
BIN
assets/img/projects/smallgoo.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 24 KiB |
BIN
assets/img/projects/ztgui.png
Normal file
BIN
assets/img/projects/ztgui.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 25 KiB |
|
@ -27,6 +27,9 @@ h1, h2, h3 {
|
|||
h1 {
|
||||
font-size: 3em;
|
||||
text-align: center;
|
||||
}
|
||||
main article h1 a {
|
||||
/* needed for chrome */
|
||||
/*noinspection CssInvalidPropertyValue*/
|
||||
text-decoration: underline mediumpurple dotted 5px;
|
||||
}
|
||||
|
@ -67,6 +70,10 @@ main article a:hover {
|
|||
text-decoration-color: unset;
|
||||
}
|
||||
|
||||
.subtle {
|
||||
color: gray;
|
||||
}
|
||||
|
||||
p {
|
||||
line-height: 1.5em;
|
||||
}
|
||||
|
@ -92,6 +99,7 @@ header::after {
|
|||
z-index: -1;
|
||||
/*noinspection CssInvalidFunction*/
|
||||
background: linear-gradient(to bottom, #333, #333 10%, 70%, transparent),
|
||||
/* image("/assets/img/background.webp", "/assets/img/background.jpeg") no-repeat bottom center/cover, */
|
||||
url("/assets/img/background.jpeg") no-repeat bottom center/cover,
|
||||
#333;
|
||||
filter: blur(5px) saturate(75%);
|
||||
|
@ -158,7 +166,7 @@ nav a.current::before {
|
|||
margin: 30px auto 50px auto;
|
||||
}
|
||||
|
||||
#bune {
|
||||
#bune, #bune-img {
|
||||
height: max(200px, 10vh);
|
||||
display: block;
|
||||
margin: 50px auto 0;
|
||||
|
@ -181,6 +189,19 @@ nav a.current::before {
|
|||
font-style: italic;
|
||||
}
|
||||
|
||||
.subheading-links {
|
||||
text-align: center;
|
||||
}
|
||||
.project-image {
|
||||
max-height: 500px;
|
||||
display: block;
|
||||
margin: 0 auto;
|
||||
}
|
||||
#project-language {
|
||||
text-align: center;
|
||||
margin-top: 0.5em;
|
||||
}
|
||||
|
||||
/* mobile tweaks */
|
||||
@media only screen and (min-device-width : 320px) and (max-device-width : 480px) {
|
||||
main {
|
||||
|
@ -201,6 +222,7 @@ nav a.current::before {
|
|||
position: fixed;
|
||||
left: -100vw;
|
||||
width: 100vw;
|
||||
overflow: hidden;
|
||||
z-index: 3;
|
||||
}
|
||||
header.active {
|
||||
|
|
25
cli.txt
Normal file
25
cli.txt
Normal file
|
@ -0,0 +1,25 @@
|
|||
---
|
||||
layout: none
|
||||
---
|
||||
{%- assign cyan = 87 | ansi_colour -%}
|
||||
{%- assign purple = 99 | ansi_colour -%}
|
||||
{{ purple }}{{ 231 | ansi_bg }}{% ansi_bold %}▞▚▞▚▞▚▖ ▂▃▄▅▆▇█{{99 | ansi_bg }}{{ 231 | ansi_colour }} lynnesbian dot space {{ purple }}{{ 231 | ansi_bg }}█▇▆▅▄▃▂ ▗▞▚▞▚▞▚{% ansi_reset %}
|
||||
{{ purple }} {% ansi_underline %} {{ cyan }} {% ansi_reset %}
|
||||
{{ purple }} ╱ ╱ {{ cyan }} ╱{% ansi_reset %}
|
||||
{{ purple }} ╱ ╱ {{ cyan }} ╱{% ansi_reset %}
|
||||
{{ cyan }} ╱ ╱ ╱{% ansi_reset %}
|
||||
{{ cyan }} ╱ {% ansi_underline %}╱ {% ansi_reset %}{{ cyan }}╱{% ansi_reset %}
|
||||
{{ cyan }} {% ansi_underline %}╱ {% ansi_reset %}{{ cyan }}╱{% ansi_reset %}
|
||||
{{ 81 | ansi_bg }} {{ 213 | ansi_bg }} {{ 231 | ansi_bg }} {{ 213 | ansi_bg }} {{ 81 | ansi_bg }} {% ansi_reset %}
|
||||
╭──────────────────────────────────────┬───────────────────────────────────────╮
|
||||
│ Name │ Lynne, aka Lynnesbian │
|
||||
│ Timezone │ Australia/Brisbane - AEST - UTC+1000 │
|
||||
│ What I do │ Free and open source software │
|
||||
│ Languages │ Rust, Python, C#, JavaScript... │
|
||||
│ Email │ @lynne@bune.city │
|
||||
│ Blog │ https://bune.city │
|
||||
│ Be gay │ Do crimes │
|
||||
╰──────────────────────────────────────┴───────────────────────────────────────╯
|
||||
{{ 81 | ansi_bg }} {{ 213 | ansi_bg }} {{ 231 | ansi_bg }} {{ 213 | ansi_bg }} {{ 81 | ansi_bg }} {% ansi_reset %}
|
||||
|
||||
{{ purple }}{{ 231 | ansi_bg }}{% ansi_bold %}░▒▓▒░▒▓▒░▒▓▒░▒▓▒░ Source code: https://l.bune.city/clisrc ░▒▓▒░▒▓▒░▒▓▒░▒▓▒░▓▒░{% ansi_reset %}
|
Loading…
Reference in a new issue