]> git.r.bdr.sh - rbdr/r.bdr.sh/commitdiff
Add CI + columns
authorRuben Beltran del Rio <redacted>
Sat, 7 Oct 2023 14:45:58 +0000 (16:45 +0200)
committerRuben Beltran del Rio <redacted>
Sat, 7 Oct 2023 14:45:58 +0000 (16:45 +0200)
.build.yml [new file with mode: 0644]
_layout.html
api.gmi
css/style.css
flat_bezel.gmi
index.gmi
lyricli.gmi
min_sizes.gmi

diff --git a/.build.yml b/.build.yml
new file mode 100644 (file)
index 0000000..3eade29
--- /dev/null
@@ -0,0 +1,21 @@
+image: archlinux
+packages:
+  - make
+  - rust
+  - rsync
+sources:
+  - git@git.sr.ht:~rbdr/page
+  - git@git.sr.ht:~rbdr/unlimited.pizza
+secrets:
+  - 21c73f87-a944-4560-a616-2dfd558c72da
+tasks:
+  - build_page: |
+      cd page
+      make -e profile=release
+  - generate_page: |
+      cd unlimited.piza
+      ../page/target/release/page
+  - sync_html: |
+      rsync -r unlimited.pizza_html/ deploy@barthes.unlimited.pizza:/var/www/www
+  - sync_gemini: |
+      rsync -r unlimited.pizza_gemini/ deploy@barthes.unlimited.pizza:/var/gemini/content
index c1514ac2a210966dca4f92ffc7d898ca4d1d959f..6a90b1a736929cd1b0803dd45f754533f51725db 100644 (file)
   <body>
     <header>
       <h1>
   <body>
     <header>
       <h1>
-        <canvas width=100 height=100></canvas>
+        <canvas width="100" height="100"></canvas>
         <a href="/">unlimited.pizza</a>
       </h1>
     </header>
     <p><a href="gemini://gemini.unlimited.pizza">=> ♊️ This page is better consumed via gemini</a></p>
         <a href="/">unlimited.pizza</a>
       </h1>
     </header>
     <p><a href="gemini://gemini.unlimited.pizza">=> ♊️ This page is better consumed via gemini</a></p>
-    {{ content }}
+    <main class="columned">
+      {{ content }}
+    </main>
   </body>
 </html>
   </body>
 </html>
diff --git a/api.gmi b/api.gmi
index d0d99ad5285587383853068ca6e3e386174135ec..60cc62a102cb1bfcb08364ed956325fa8cf7d147 100644 (file)
--- a/api.gmi
+++ b/api.gmi
@@ -1,9 +1,11 @@
 --- title: /api.html
 --- description: API Notation
 --- title: /api.html
 --- description: API Notation
-# API Notation
+## API Notation
 
 API Notation is a language-agnostic notation to share the public API of components in code. It was created to standardize software specification documents in teams that need to review code across several languages.
 
 
 API Notation is a language-agnostic notation to share the public API of components in code. It was created to standardize software specification documents in teams that need to review code across several languages.
 
+## Reference
+The notation allows describing objects or modules, with properties, events and methods along with their types.
 ```
 // Anything after two forward slashes is a comment
 NameOfClass.WithPossibleNamespace
 ```
 // Anything after two forward slashes is a comment
 NameOfClass.WithPossibleNamespace
@@ -17,45 +19,38 @@ NameOfClass.WithPossibleNamespace
   <- dispatched events (instance)
   :: class method
    # instance method
   <- dispatched events (instance)
   :: class method
    # instance method
-
+----
 Other symbols
   => returns
   #> throws
 [xx] optional
 <xx> data type
 Other symbols
   => returns
   #> throws
 [xx] optional
 <xx> data type
-
-Recommended order: class first, then sockets, then instance. Internally:
-Properties, events, methods.
 ```
 
 ```
 
-Or, with some examples:
+## Example
+With this artificial example, you can see how to use it for more complex cases:
 
 ```
 // Definitions start with object / module / class names, with namespaces
 // separated by periods. Types are marked between angular brackets.
 Definitions.Models.Post
   // Properties.
 
 ```
 // Definitions start with object / module / class names, with namespaces
 // separated by periods. Types are marked between angular brackets.
 Definitions.Models.Post
   // Properties.
-  +static_property <Type>
-  -instance_property <Types<Can<Be<Nested>>>>
+  +static_property &lt;Type>
+  -instance_property &lt;Types&lt;Can&lt;Be&lt;Nested>>>>
   // Methods. Parameters are listed in parentheses, and comma separated.
   // Optional values are inside brackets
   // => defines return values
   // #> defines thrown exceptions, can be comma separated.
   // Methods. Parameters are listed in parentheses, and comma separated.
   // Optional values are inside brackets
   // => defines return values
   // #> defines thrown exceptions, can be comma separated.
-  ::static_methods(parameter_label <Type>) => ReturnValueType #> BadTimesException,UnknownError
-  #update(text <String>, [options] <GlobalOptions.tOptions>) => Promise<Void>
+  ::static_methods(parameter_label &lt;Type>) => ReturnValueType #> BadTimesException,UnknownError
+  #update(text &lt;String>, [options] &lt;GlobalOptions.tOptions>) => Promise&lt;Void>
+  // Function types can include parameter lists, returns and throws as well.
+  #transform&lt;T>( Function&lt;T>(payload &lt;T>) => &lt;T>, announce &lt;Bool>) => &lt;Bool>
   // Listened Events
   // Listened Events
-  +>static_listener(parameters_expected <Bool>)
+  +>static_listener(parameters_expected &lt;Bool>)
   ->instance_listener()
   ->instance_listener()
-  ~>network_events(peer <Networking.Peer>)
+  ~>network_events(peer &lt;Networking.Peer>)
   // Emitted Events
   // Emitted Events
-  <+emitted_statically(payload <StaticEventPayload>)
-  <-emitted_by_instance(reason <String>, code <Int>)
-  <~emitted_through_network(text <String>)
-```
-
-When defining function types, you may use parameter lists, returns and throws notation as well.
-
-```
-HypotheticalModule
-  #transform<T>( Function<T>(payload <T>) => <T>, announce <Bool>) => <Bool>
+  &lt;+emitted_statically(payload &lt;StaticEventPayload>)
+  &lt;-emitted_by_instance(reason &lt;String>, code &lt;Int>)
+  &lt;~emitted_through_network(text &lt;String>)
 ```
 ```
index dae306da4531490abab9d5b59a6281b4a1c48cba..d5d21792f4e1457e3daa225c64998f5164d6f6bd 100644 (file)
@@ -2,22 +2,50 @@ body {
   font-family: "Times New Roman", Times, serif;
   line-height: 1.6;
   letter-spacing: 0.02em;
   font-family: "Times New Roman", Times, serif;
   line-height: 1.6;
   letter-spacing: 0.02em;
-  column-count: auto;
-  column-width: 15em;
 }
 
 }
 
-header, p:first-of-type, pre:first-of-type { column-span: all }
+@media only screen and (min-width: 500px) {
+  body {
+    overflow-x: auto;
+  }
 
 
-h1, h2, h3 { font-weight: normal }
+  .columned {
+    height: calc(100vh - 180px);
+    width: max-content;
+  }
 
 
-h2 { break-before: column }
+  .columned .h2 {
+    float: left;
+    margin: 0 40px;
+    height: calc(100vh - 180px);
+  }
 
 
-p { break-inside: avoid }
+  .columned h2 {
+    width: 14.6em;
+  }
 
 
+  .columned .h3, .columned p {
+    width: 22em;
+    break-inside: prevent;
+  }
+
+  .columned pre { width: 25em }
+}
+
+blockquote, p { max-width: 45em }
+pre { max-width: 55em }
+blockquote {
+  border-left: 4px solid #ccc;
+  padding-left: 10px;
+}
+
+h1, h2, h3 { font-weight: normal }
+br { display: none }
 pre {
   font-family: Monaco, monospace;
   font-size: 14px;
   background-color: #eee;
 pre {
   font-family: Monaco, monospace;
   font-size: 14px;
   background-color: #eee;
+  overflow-x: auto;
 }
 
 canvas {
 }
 
 canvas {
index b0dfeb4cba159b1845037518285290372b4a7222..b47c2eeedfcbcdef46f6ce9232436bd6d4c95f3c 100644 (file)
@@ -24,4 +24,4 @@ You may need to allow the plugin to run in "Privacy &amp; Security" in your syst
 => /files/flat_bezel/Flat_Bezel-1.1.0.qsplugin.tar.gz Flat Bezel.qsplugin 1.1.0
 
 1.0.0 - Initial release
 => /files/flat_bezel/Flat_Bezel-1.1.0.qsplugin.tar.gz Flat Bezel.qsplugin 1.1.0
 
 1.0.0 - Initial release
-=> /files/flat_bezel/Flat_Bezel-1.0.0.qsplugin.tar.gz">Flat Bezel.qsplugin 1.0.0
+=> /files/flat_bezel/Flat_Bezel-1.0.0.qsplugin.tar.gz Flat Bezel.qsplugin 1.0.0
index 7c5b996fa53b48b570690517b7c722caf7dbe5ab..467b4863877d5de3e5e843164a4ec437c87ed32d 100644 (file)
--- a/index.gmi
+++ b/index.gmi
@@ -1,9 +1,10 @@
 --- title: /index.html
 --- description: unlimited.pizza - ruben beltran del río surfs the internet: programming, music, fun times, hugs, bad jokes, and unlimited pizza
 --- title: /index.html
 --- description: unlimited.pizza - ruben beltran del río surfs the internet: programming, music, fun times, hugs, bad jokes, and unlimited pizza
+## 
 ```Unlimited Pizza
 ```Unlimited Pizza
-┬ ┬┌┐┌┬  ┬┌┬┐┬┌┬┐┌─┐┌┬┐╔═╗╦╔═╗╔═╗╔═╗
-│ │││││  │││││ │ ├┤  ││╠═╝║╔═╝╔═╝╠═╣
-└─┘┘└┘┴─┘┴┴ ┴┴ ┴ └─┘─┴┘╩  ╩╚═╝╚═╝╩ ╩
+┬ ┬┌┐┌┬  ┬┌┬┐┬┌┬┐┌─┐┌┬┐ ╔═╗╦╔═╗╔═╗╔═╗
\94\82 â\94\82â\94\82â\94\82â\94\82â\94\82  â\94\82â\94\82â\94\82â\94\82â\94\82 â\94\82 â\94\9câ\94¤  â\94\82â\94\82â\97\8fâ\95 â\95\90â\95\9dâ\95\91â\95\94â\95\90â\95\9dâ\95\94â\95\90â\95\9dâ\95 â\95\90â\95£
+└─┘┘└┘┴─┘┴┴ ┴┴ ┴ └─┘─┴┘ ╩  ╩╚═╝╚═╝╩ ╩
 ```
 
 The personal capsule of Rubén Beltrán del Río
 ```
 
 The personal capsule of Rubén Beltrán del Río
@@ -11,51 +12,57 @@ The personal capsule of Rubén Beltrán del Río
 => /gemlog/ 📓 Blog / Gemlog
 => /pub.txt 🔑 Public GPG Key
 => gemini://gemini.unlimited.pizza/guestbook 📒 Guestbook
 => /gemlog/ 📓 Blog / Gemlog
 => /pub.txt 🔑 Public GPG Key
 => gemini://gemini.unlimited.pizza/guestbook 📒 Guestbook
+=> https://pixelfed.de/minoltacos 📷 Pictures I've taken
+=> https://hachyderm.io/@myspace 💭 Social Media™
 => mailto:ruben+up@unlimited.pizza ✉️ Send me an e-mail
 
 ## Apps
 => mailto:ruben+up@unlimited.pizza ✉️ Send me an e-mail
 
 ## Apps
-
-Do, a task manager for iOS and MacOs that makes you write a journal entry when the task is done.
+### Do
+A task manager for iOS and MacOs that makes you write a journal entry when the task is done.
 => https://do.tranquil.systems/ do.tranquil.systems
 
 => https://do.tranquil.systems/ do.tranquil.systems
 
-Map, A MacOS app that lets you create wardley maps using text.
+### Map
+A MacOS app that lets you create wardley maps using text.
 => https://map.tranquil.systems/ map.tranquil.systems
 
 => https://map.tranquil.systems/ map.tranquil.systems
 
-Ritmo, An iOS and MacOS app that helps you maintain a healthy balance.
-=> https://map.tranquil.systems/ ritmo.tranquil.systems
+### Ritmo
+An iOS and MacOS app that helps you maintain a healthy balance.
+=> https://ritmo.tranquil.systems/ ritmo.tranquil.systems
 
 
-Lyricli, a command line tool to print the lyrics of your current Apple Music or Spotify track
+### Lyricli
+A command line tool to print the lyrics of your current Apple Music or Spotify track
 => /lyricli.gmi ./lyricli.gmi
 => https://git.sr.ht/~rbdr/lyricli lyricli source code.
 
 ## Libraries
 => /lyricli.gmi ./lyricli.gmi
 => https://git.sr.ht/~rbdr/lyricli lyricli source code.
 
 ## Libraries
-
-Patterns, MacPaint style pattern views for SwiftUI
+### Patterns
+MacPaint style pattern views for SwiftUI
 => https://git.sr.ht/~rbdr/patterns Patterns source code
 
 => https://git.sr.ht/~rbdr/patterns Patterns source code
 
-Serpentity, an entity-component-system framework for Javascript
+### Serpentity
+An entity-component-system framework for Javascript
 => https://sr.ht/~rbdr/serpentity Serpentity source code
 => https://sr.ht/~rbdr/serpentity-lib Serpentity Shared Library source code
 
 => https://sr.ht/~rbdr/serpentity Serpentity source code
 => https://sr.ht/~rbdr/serpentity-lib Serpentity Shared Library source code
 
-Grafn, flow based programming library for javascript.
+### Grafn
+Flow based programming library for javascript.
 => https://git.sr.ht/~rbdr/grafn Grafn source code
 
 => https://git.sr.ht/~rbdr/grafn Grafn source code
 
-Cologne, log multiplexer for javascript with no dependencies.
+### Cologne
+Log multiplexer for javascript with no dependencies.
 => https://git.sr.ht/~rbdr/cologne Cologne source code
 
 => https://git.sr.ht/~rbdr/cologne Cologne source code
 
-## Plugins
+## Plugins I
 
 ### Flat Bezel.qsplugin
 
 ### Flat Bezel.qsplugin
+A UI Plugin for quicksilver inspired by the classic Bezel with a modern macOS look and SF Symbols.
 
 
-A UI Plugin for quicksilver
-
-=> ./flat_bezel.gmi Flat Bezel Homepage
+=> ./flat_bezel.gmi ./flat_bezel.gmi
 
 ### API Notation
 
 ### API Notation
-
 A syntax for notating component APIs in text documents. We provide a tree-sitter parser and a neovim plugin.
 
 A syntax for notating component APIs in text documents. We provide a tree-sitter parser and a neovim plugin.
 
-=> ./api.gmi API Notation definition
+=> ./api.gmi ./api.gmi
 => https://git.sr.ht/~rbdr/tree-sitter-api-notation tree-sitter parser and neovim plugin.
 
 Older versions of the plugin exist for other editors, though they support an older version of the notation definition.
 => https://git.sr.ht/~rbdr/tree-sitter-api-notation tree-sitter parser and neovim plugin.
 
 Older versions of the plugin exist for other editors, though they support an older version of the notation definition.
@@ -65,14 +72,14 @@ Older versions of the plugin exist for other editors, though they support an old
 => https://git.sr.ht/~rbdr/api-notation-atom Syntax for atom
 => https://git.sr.ht/~rbdr/api-notation.tmLanguage Syntax for sublime text
 
 => https://git.sr.ht/~rbdr/api-notation-atom Syntax for atom
 => https://git.sr.ht/~rbdr/api-notation.tmLanguage Syntax for sublime text
 
-### NGINX Office Hours
+## II
 
 
+### NGINX Office Hours
 A victory for the server's labor rights: An nginx module that allows you to serve your content only during office hours.
 
 => https://git.sr.ht/~rbdr/ngx_http_office_hours_filter_module ngx_http_office_hours_filter_module
 
 ### Junction
 A victory for the server's labor rights: An nginx module that allows you to serve your content only during office hours.
 
 => https://git.sr.ht/~rbdr/ngx_http_office_hours_filter_module ngx_http_office_hours_filter_module
 
 ### Junction
-
 A browser extension that lets you start audio calls on any URL.
 
 => https://junction.unlimited.pizza Junction
 A browser extension that lets you start audio calls on any URL.
 
 => https://junction.unlimited.pizza Junction
@@ -97,63 +104,83 @@ To listen online, you can also find it in the world wide web.
 => https://music.apple.com/de/artist/ben-beltran/1338665508?l=en Apple Music
 => https://soundcloud.com/benbeltran Soundcloud
 
 => https://music.apple.com/de/artist/ben-beltran/1338665508?l=en Apple Music
 => https://soundcloud.com/benbeltran Soundcloud
 
-## More of my things
-
-=> https://pixelfed.de/minoltacos 📷 Pictures I've taken
-=> https://hachyderm.io/@myspace 💭 Social Media™
+## Etc I
 
 
-## Etc
+### Min Sizes
+(2023) Minimum window sizes for assorted mac software
+=> ./min_sizes.gmi ./min_sizes.gmi
 
 
-Page (2023): A static website generator.
+### Page
+(2023) A static website generator.
 => gemini://gemini.unlimited.pizza/gemlog/1681763713661/introducing-page.gmi Gemlog entry about page.
 => https://git.sr.ht/~rbdr/page  Page source code
 
 => gemini://gemini.unlimited.pizza/gemlog/1681763713661/introducing-page.gmi Gemlog entry about page.
 => https://git.sr.ht/~rbdr/page  Page source code
 
-Prompt (2021): Drawing prompts on demand.
+### Prompt
+(2021) Drawing prompts on demand.
 => https://prompt.unlimited.pizza/ prompt.unlimited.pizza
 => https://git.sr.ht/~rbdr/prompt Prompt source code
 
 => https://prompt.unlimited.pizza/ prompt.unlimited.pizza
 => https://git.sr.ht/~rbdr/prompt Prompt source code
 
-Corona Regeln (2021): Up-to-date corona rules for Berlin. Refresh frequently.
+### Corona Regeln
+(2021) Up-to-date corona rules for Berlin. Refresh frequently.
 => https://corona.unlimited.pizza/ corona.unlimited.pizza
 => https://git.sr.ht/~rbdr/corona-regeln Corona Regeln source code
 
 => https://corona.unlimited.pizza/ corona.unlimited.pizza
 => https://git.sr.ht/~rbdr/corona-regeln Corona Regeln source code
 
-Flower (2018): 🌹🌸🌺💐🌼🌻🌷 draw a flower rotating a cube 🌷🌻🌼💐🌺🌸🌹
+## II
+
+### Flower
+(2018) 🌹🌸🌺💐🌼🌻🌷 draw a flower rotating a cube 🌷🌻🌼💐🌺🌸🌹
 => https://flower.unlimited.pizza/ flower.unlimited.pizza
 
 => https://flower.unlimited.pizza/ flower.unlimited.pizza
 
-Sorting Hat & Renderer (2017): Reads your brain and places you in a category based on your mental activity
+### Sorting Hat
+(2017) Reads your brain and places you in a category based on your mental activity
 => https://git.sr.ht/~rbdr/sorting-hat Sorting hat source
 => https://git.sr.ht/~rbdr/sorting-hat-renderer Sorting hat renderer source code
 
 => https://git.sr.ht/~rbdr/sorting-hat Sorting hat source
 => https://git.sr.ht/~rbdr/sorting-hat-renderer Sorting hat renderer source code
 
-Dasein (2017): Ephemeral posts experiment: the posts stay alive as the conversation continues, but disappear shortly after activity stops.
+### Dasein
+(2017) Ephemeral posts experiment: the posts stay alive as the conversation continues, but disappear shortly after activity stops.
 => https://git.sr.ht/~rbdr/dasein Dasein source code
 
 => https://git.sr.ht/~rbdr/dasein Dasein source code
 
-Frames (2017): 🆒
+### Frames
+(2017) 🆒
 => https://frames.unlimited.pizza/ frames.unlimited.pizza
 
 => https://frames.unlimited.pizza/ frames.unlimited.pizza
 
-Dead Drop (2017, Spanish): Marca un número de 📞 y deja un mensaje secreto, o escucha algo al azar.
+### Dead Drop
+(2017, Spanish) Marca un número de 📞 y deja un mensaje secreto, o escucha algo al azar.
 => https://git.sr.ht/~rbdr/dead-drop Dead Drop source code
 
 => https://git.sr.ht/~rbdr/dead-drop Dead Drop source code
 
-Tomato Sauce (2016): a random work of ansi art via telnet. Better with 24-bit enabled terminals.
+## III
+
+### Tomato Sauce
+(2016) a random work of ansi art via telnet. Better with 24-bit enabled terminals.
 => telnet:barthes.unlimited.pizza:7777 telnet barthes.unlimited.pizza 7777
 => https://git.sr.ht/~rbdr/tomato-sauce Tomato Sauce source code
 
 => telnet:barthes.unlimited.pizza:7777 telnet barthes.unlimited.pizza 7777
 => https://git.sr.ht/~rbdr/tomato-sauce Tomato Sauce source code
 
-LGTM (2016): Looks Good To Me! 👍
+### LGTM
+(2016) Looks Good To Me! 👍
 => https://lgtm.unlimited.pizza/ lgtm.unlimited.pizza
 => https://git.sr.ht/~rbdr/lgtm lgtm source code
 
 => https://lgtm.unlimited.pizza/ lgtm.unlimited.pizza
 => https://git.sr.ht/~rbdr/lgtm lgtm source code
 
-Heart (2016): ❤️💜💙💛💚
+### Heart
+(2016) ❤️💜💙💛💚
 => https://heart.unlimited.pizza/ heart.unlimited.pizza
 
 => https://heart.unlimited.pizza/ heart.unlimited.pizza
 
-Generador de Insultos (2015, Spanish): Un generador de insultos multi-usos que te da un insulto nuevo cada vez que lo cargas.
+### Generador de Insultos
+(2015, Spanish) Un generador de insultos multi-usos que te da un insulto nuevo cada vez que lo cargas.
 => https://insultos.unlimited.pizza/ insultos.unlimited.pizza
 => https://git.sr.ht/~rbdr/generador-de-insultos generador de insultos source code
 
 => https://insultos.unlimited.pizza/ insultos.unlimited.pizza
 => https://git.sr.ht/~rbdr/generador-de-insultos generador de insultos source code
 
-Grita (2010, Spanish): Comparte texto anónimamente y distribuyelo con QR codes y URLs cortas.
+## IV
+
+### Grita
+(2010, Spanish) Comparte texto anónimamente y distribuyelo con QR codes y URLs cortas.
 => https://git.sr.ht/~rbdr/grita grita source code
 
 => https://git.sr.ht/~rbdr/grita grita source code
 
-Polarity (2009): Top-down arena shooter game with magnetism.
+### Polarity
+(2009) Top-down arena shooter game with magnetism.
 => ./files/polarity.zip polarity.zip
 
 => ./files/polarity.zip polarity.zip
 
-Pico Engine (2009): Platform game engine with lua scripting. 
+### Pico Engine
+(2009) Platform game engine with lua scripting. 
 => https://git.sr.ht/~rbdr/pico-engine pico source code
 
 ---
 => https://git.sr.ht/~rbdr/pico-engine pico source code
 
 ---
index 455c92caa62dcb1d8dc497203637e55c9d345c45..c109c873d149c213e685ff94a0f8aa8fe30bf43d 100644 (file)
@@ -2,14 +2,13 @@
 --- description: "Lyricli (lrc), a command line lyrics finder"
 ## lyricli (lrc)
 
 --- description: "Lyricli (lrc), a command line lyrics finder"
 ## lyricli (lrc)
 
-Command line tool that shows lyrics for your currently playing song in the command line
+Command line tool that shows lyrics for your currently playing song in the terminal, supports spotify and apple music.
 
 => https://git.sr.ht/~rbdr/lyricli view source.
 
 
 => https://git.sr.ht/~rbdr/lyricli view source.
 
-You may need to allow the plugin to run in "Privacy &amp; Security" in your system settings.
-
-## Install from Homebrew
+## Install
 
 
+### Homebrew
 You can install using homebrew. For direct binaries see below.
 
 ```
 You can install using homebrew. For direct binaries see below.
 
 ```
@@ -17,7 +16,8 @@ $ brew tap rbdr/apps git@git.sr.ht:~rbdr/homebrew-apps
 $ brew install lyricli
 ```
 
 $ brew install lyricli
 ```
 
-## Download
+### Download
+You can also manually download a precompiled binary.
 
 * [1] Latest (2.0.1), for both intel and apple silicon macs (larger binary)
 * [2] Latest (2.0.1), only for apple silicon macs
 
 * [1] Latest (2.0.1), for both intel and apple silicon macs (larger binary)
 * [2] Latest (2.0.1), only for apple silicon macs
@@ -69,12 +69,14 @@ $ lrc --list-sources
 
 ## All Versions
 
 
 ## All Versions
 
+### lrc 2.0.1
 lrc 2.0.1 - Fixes a segfault when there are n1 results, and incorrect behavior when results are not songs.
 => /files/lyricli/lrc-2.0.1-universal.tar.gz lrc 2.0.1 (universal)
 => /files/lyricli/lrc-2.0.1-arm64.tar.gz lrc 2.0.1 (arm64)
 => /files/lyricli/lrc-2.0.1-x86_64.tar.gz lrc 2.0.1 (x86_64)
 
 lrc 2.0.1 - Fixes a segfault when there are n1 results, and incorrect behavior when results are not songs.
 => /files/lyricli/lrc-2.0.1-universal.tar.gz lrc 2.0.1 (universal)
 => /files/lyricli/lrc-2.0.1-arm64.tar.gz lrc 2.0.1 (arm64)
 => /files/lyricli/lrc-2.0.1-x86_64.tar.gz lrc 2.0.1 (x86_64)
 
-lrc 2.0.0 - Rebuilt to use swift 5.8 and work with the genius API instead of defunct LyricsWiki
+### lrc 2.0.0
+Rebuilt to use swift 5.8 and work with the genius API instead of defunct LyricsWiki
 => /files/lyricli/lrc-2.0.0-universal.tar.gz lrc 2.0.0 (universal)
 => /files/lyricli/lrc-2.0.0-arm64.tar.gz lrc 2.0.0 (arm64)
 => /files/lyricli/lrc-2.0.0-x86_64.tar.gz lrc 2.0.0 (x86_64)
 => /files/lyricli/lrc-2.0.0-universal.tar.gz lrc 2.0.0 (universal)
 => /files/lyricli/lrc-2.0.0-arm64.tar.gz lrc 2.0.0 (arm64)
 => /files/lyricli/lrc-2.0.0-x86_64.tar.gz lrc 2.0.0 (x86_64)
index 46961472754426e73b77af566f0801bcf3e01841..0447bf6f8a5ba526cd6881b29a3ccd657d56a2f0 100644 (file)
@@ -1,4 +1,4 @@
-# Minimum Window Sizes of Mac Apps
+## Minimum Window Sizes of Mac Apps
 
 I use tiled window managers, and some layouts work better with smaller windows, but not all mac apps can do that so this is a collection of minimum window sizes of different apps to help me find which ones are better suited for my workflow.
 
 
 I use tiled window managers, and some layouts work better with smaller windows, but not all mac apps can do that so this is a collection of minimum window sizes of different apps to help me find which ones are better suited for my workflow.
 
@@ -10,7 +10,7 @@ I use the following thresholds:
 * > 500 <= 800 = LARGE
 * > 800 = HUGE
 
 * > 500 <= 800 = LARGE
 * > 800 = HUGE
 
-## Browsers
+### Browsers
 * Arc: MEDIUM, 470px
 * Firefox: MEDIUM, 450px
 * Google Chrome: MEDIUM, 500px
 * Arc: MEDIUM, 470px
 * Firefox: MEDIUM, 450px
 * Google Chrome: MEDIUM, 500px
@@ -18,13 +18,15 @@ I use the following thresholds:
 * Qutebrowser: TINY, 128px
 * Safari: LARGE, 575px
 
 * Qutebrowser: TINY, 128px
 * Safari: LARGE, 575px
 
-## Calendars and Contacts
+### Calendars and Contacts
 * Calendar: LARGE, 639px
 * Cardhop: SMALL, 350px
 * Contacts: MEDIUM, 498px
 * Fantastical: MEDIUM, 500px; Day view only, Week (510px), Month (516px), Quarter (524px), and Year (504px) are LARGE, though may vary by toolbar icons visible.
 
 * Calendar: LARGE, 639px
 * Cardhop: SMALL, 350px
 * Contacts: MEDIUM, 498px
 * Fantastical: MEDIUM, 500px; Day view only, Week (510px), Month (516px), Quarter (524px), and Year (504px) are LARGE, though may vary by toolbar icons visible.
 
-## Developer Tools
+## II
+
+### Developer Tools
 * Console: LARGE, 600px
 * Dash: LARGE, 800px
 * Hex Fiend: TINY, 173px
 * Console: LARGE, 600px
 * Dash: LARGE, 800px
 * Hex Fiend: TINY, 173px
@@ -36,35 +38,39 @@ I use the following thresholds:
 * Thony: TINY, 73px
 * WorldWideWeb: MEDIUM, 480px
 
 * Thony: TINY, 73px
 * WorldWideWeb: MEDIUM, 480px
 
-## Diagramming
+### Diagramming
 * Map: TINY, 116px
 * Monodraw: LARGE, 700px
 * OmniGraffle: HUGE, 865px
 
 * Map: TINY, 116px
 * Monodraw: LARGE, 700px
 * OmniGraffle: HUGE, 865px
 
-## Document and Book Readers
+### Document and Book Readers
 * Adobe Digital Editions: LARGE, 700px
 * Books: MEDIUM, 500px; Only when reading, the main window (1000px) is HUGE
 * Calibre: TINY, 74px; Only when reading, the main window (570px) is LARGE
 * Marked: SMALL, 400px
 * Preview: LARGE, 708px
 
 * Adobe Digital Editions: LARGE, 700px
 * Books: MEDIUM, 500px; Only when reading, the main window (1000px) is HUGE
 * Calibre: TINY, 74px; Only when reading, the main window (570px) is LARGE
 * Marked: SMALL, 400px
 * Preview: LARGE, 708px
 
-## File Managers
+## III
+
+### File Managers
 * Finder: SMALL, 316px; Without sidebar, otherwise MEDIUM at 446px
 * Transmission: SMALL, 350px
 * Transmit: HUGE, 880px
 * VeraCrypt: LARGE, 699px
 
 * Finder: SMALL, 316px; Without sidebar, otherwise MEDIUM at 446px
 * Transmission: SMALL, 350px
 * Transmit: HUGE, 880px
 * VeraCrypt: LARGE, 699px
 
-## Home and Automation
+### Home and Automation
 * Automator: MEDIUM, 500px
 * Home: LARGE, 515px
 * Shortcuts: LARGE, 750px
 
 * Automator: MEDIUM, 500px
 * Home: LARGE, 515px
 * Shortcuts: LARGE, 750px
 
-## IDEs
+### IDEs
 * Android Studio: SMALL, 340px; Welcome window (800px) is LARGE
 * Max 8: TINY, 118px
 * Xcode: HUGE, 960px
 
 * Android Studio: SMALL, 340px; Welcome window (800px) is LARGE
 * Max 8: TINY, 118px
 * Xcode: HUGE, 960px
 
-## Image/3D/Publishing
+## IV
+
+### Image/3D/Publishing
 * Acorn: LARGE, 800px
 * Affinity Designer 2: MEDIUM, 500px; Preferences (800px) is LARGE and Account (1078px) is HUGE
 * Affinity Photo 2: MEDIUM, 500px; Preferences (800px) is LARGE and Account (1078px) is HUGE
 * Acorn: LARGE, 800px
 * Affinity Designer 2: MEDIUM, 500px; Preferences (800px) is LARGE and Account (1078px) is HUGE
 * Affinity Photo 2: MEDIUM, 500px; Preferences (800px) is LARGE and Account (1078px) is HUGE
@@ -78,7 +84,7 @@ I use the following thresholds:
 * Pixelmator Pro: LARGE, 800px
 * Sketch: LARGE, 800px
 
 * Pixelmator Pro: LARGE, 800px
 * Sketch: LARGE, 800px
 
-## Instant Messaging / Chat / Social Media
+### Instant Messaging / Chat / Social Media
 * Adium: TINY, 73px friend list, 200px chat; Some themes scroll at 200px
 * Discord: HUGE, 940px
 * Facetime: LARGE, 672px
 * Adium: TINY, 73px friend list, 200px chat; Some themes scroll at 200px
 * Discord: HUGE, 940px
 * Facetime: LARGE, 672px
@@ -92,31 +98,35 @@ I use the following thresholds:
 * Textual: MEDIUM, 342px
 * We: TINY, 74px
 
 * Textual: MEDIUM, 342px
 * We: TINY, 74px
 
-## Marketplaces
+## V
+
+### Marketplaces
 * App Store: HUGE, 1000px
 * Setapp: HUGE, 1100px
 * Steam: HUGE, 1008px
 
 * App Store: HUGE, 1000px
 * Setapp: HUGE, 1100px
 * Steam: HUGE, 1008px
 
-## Math
+### Math
 * Calculator: TINY, 232px; Programmer (398px) is SMALL, Scientific (574px) is LARGE
 * PCalc: SMALL, 380px
 * Numi: SMALL, 310px
 * Soulver: LARGE, 730px
 
 * Calculator: TINY, 232px; Programmer (398px) is SMALL, Scientific (574px) is LARGE
 * PCalc: SMALL, 380px
 * Numi: SMALL, 310px
 * Soulver: LARGE, 730px
 
-## Note-taking
+### Note-taking
 * Bear: SMALL, 300px; With Notes (570px) and Tags (752px) it's LARGE
 * Notes: MEDIUM, 500px
 * Obsidian: TINY, 200px
 * Stickies: TINY, 54px
 
 * Bear: SMALL, 300px; With Notes (570px) and Tags (752px) it's LARGE
 * Notes: MEDIUM, 500px
 * Obsidian: TINY, 200px
 * Stickies: TINY, 54px
 
-## Office Software
+### Office Software
 * iAPresenter: LARGE, 700px
 * Keynote: LARGE, 540px
 * Numbers: LARGE, 540px; The new window (760px) is also LARGE
 * OmniPlan: LARGE, 740px
 * Pages: LARGE, 640px
 
 * iAPresenter: LARGE, 700px
 * Keynote: LARGE, 540px
 * Numbers: LARGE, 540px; The new window (760px) is also LARGE
 * OmniPlan: LARGE, 740px
 * Pages: LARGE, 640px
 
-## Media Players
+## VI
+
+### Media Players
 * IINA: SMALL, 286px
 * Music: HUGE, 980px
 * Odio: HUGE, 1000px
 * IINA: SMALL, 286px
 * Music: HUGE, 980px
 * Odio: HUGE, 1000px
@@ -125,10 +135,10 @@ I use the following thresholds:
 * QuickTime Player: SMALL, 326px
 * Swinsian: HUGE, 870px
 
 * QuickTime Player: SMALL, 326px
 * Swinsian: HUGE, 870px
 
-## Mail
+### Mail
 * Mail: LARGE, 550px; Only in column layout, otherwise 610px
 
 * Mail: LARGE, 550px; Only in column layout, otherwise 610px
 
-## Music Making
+### Music Making
 * Ableton Live: LARGE, 800px
 * Capo: LARGE, 777px
 * GarageBand: SMALL, 400px
 * Ableton Live: LARGE, 800px
 * Capo: LARGE, 777px
 * GarageBand: SMALL, 400px
@@ -136,31 +146,33 @@ I use the following thresholds:
 * MuseScore: HUGE, 1050px
 * Reason: HUGE, 972px; The Reason companion is 1200px
 
 * MuseScore: HUGE, 1050px
 * Reason: HUGE, 972px; The Reason companion is 1200px
 
-## News Readers / Bookmarks
+### News Readers / Bookmarks
 * NetNewsWire: LARGE, 585px
 * News: HUGE, 860px
 * Pins: LARGE, 515px
 * Reeder: SMALL, 320px
 * Unison: LARGE, 800px
 
 * NetNewsWire: LARGE, 585px
 * News: HUGE, 860px
 * Pins: LARGE, 515px
 * Reeder: SMALL, 320px
 * Unison: LARGE, 800px
 
-## Password Managers
+## VII
+
+### Password Managers
 * 1password: LARGE, 784px
 * Bitwarden: LARGE, 680px
 * KeePassX: LARGE, 558px
 * Secrets: LARGE, 603px
 
 * 1password: LARGE, 784px
 * Bitwarden: LARGE, 680px
 * KeePassX: LARGE, 558px
 * Secrets: LARGE, 603px
 
-## Task Managers
+### Task Managers
 * Do: TINY, 180px
 * Reminders: SMALL, 350px
 * Ritmo: TINY, 85px
 * Things: SMALL, 400px
 
 * Do: TINY, 180px
 * Reminders: SMALL, 350px
 * Ritmo: TINY, 85px
 * Things: SMALL, 400px
 
-## Terminal Emulators
+### Terminal Emulators
 * iTerm 2: TINY, 70px; Size depends on font, I got down to 7 columns
 * Kitty: TINY, 22px; Size depends on font, I got down to 2 columns
 * Terminal: TINY, 190px; Size depends on font, I got down to 20 columns
 
 * iTerm 2: TINY, 70px; Size depends on font, I got down to 7 columns
 * Kitty: TINY, 22px; Size depends on font, I got down to 2 columns
 * Terminal: TINY, 190px; Size depends on font, I got down to 20 columns
 
-## Text Editors
+### Text Editors
 * Atom: TINY, 73px
 * BBEdit: SMALL, 311px
 * Byword: SMALL, 350px
 * Atom: TINY, 73px
 * BBEdit: SMALL, 311px
 * Byword: SMALL, 350px
@@ -172,7 +184,9 @@ I use the following thresholds:
 * Ulysses: LARGE, 555px
 * Visual Studio Code: SMALL, 400px
 
 * Ulysses: LARGE, 555px
 * Visual Studio Code: SMALL, 400px
 
-## Utilities
+## VIII
+
+### Utilities
 * Activity Monitor: LARGE, 740px
 * Clock: LARGE, 600px
 * CrystalFetch: LARGE, 800px
 * Activity Monitor: LARGE, 740px
 * Clock: LARGE, 600px
 * CrystalFetch: LARGE, 800px
@@ -197,10 +211,10 @@ I use the following thresholds:
 * Voice Memos: LARGE, 752px
 * Weather: HUGE 985px
 
 * Voice Memos: LARGE, 752px
 * Weather: HUGE 985px
 
-## Video Editing / Streaming
+### Video Editing / Streaming
 * DaVinci Resolve: HUGE, 1445px
 * iMovie: HUGE, 1280px
 * OBS: HUGE, 867px
 
 * DaVinci Resolve: HUGE, 1445px
 * iMovie: HUGE, 1280px
 * OBS: HUGE, 867px
 
-## VPN
+### VPN
 * NordVPN: HUGE, 902px
 * NordVPN: HUGE, 902px