From 22979d0209bc4c8773db0207d74d5946c8f0e2a8 Mon Sep 17 00:00:00 2001
From: Paula Ruiz Rodriguez <50167687+Paururo@users.noreply.github.com>
Date: Sun, 30 Aug 2026 15:00:45 +0200
Subject: [PATCH 1/4] Show the figures on the home page instead of counting
them
The page opens with two figures and a program running in the browser and then
gives up: below the fold it is three and a half thousand pixels of prose
without a single picture in it. The section actually called "everything else
it draws" had every one of its pictures behind a collapsed summary and spent
three paragraphs on how many tracks there are, on the front page of a
library whose whole subject is drawing. Eight of them are on the page now, in
the card grid this site already uses for exactly this, each one a link to the
part of the catalogue it comes from. The sheet with all thirty six is still a
click away for comparison.
The four refusals underneath were a bulleted list of dense paragraphs sitting
directly below a section built out of blocks, which is what made the page look
as though it had run out of care halfway down. They are the same kind of thing
as the pieces above them, so they are set the same way, with the message each
one prints given its own line.
---
docs/index.md | 112 +++++++++++++++++++++++++++++------
docs/stylesheets/landing.css | 16 ++---
2 files changed, 103 insertions(+), 25 deletions(-)
diff --git a/docs/index.md b/docs/index.md
index b01a405e..0af7874d 100644
--- a/docs/index.md
+++ b/docs/index.md
@@ -349,23 +349,52 @@ stack. A phylogeny is a track and so are its sample traits. A circular
chromosome and a world map are containers of their own, because a sequence with
no ends cannot be drawn as a line without inventing one.
+
+
- Thirty-six track types, twenty-two panels, one sheet
+ All thirty-six on one sheet
-Twenty-eight of the thirty-six are reachable from the command line. Twenty-seven
-of those have a file to read; the twenty-eighth is the coordinate ruler, which
-needs none. Trees drawn with metadata, maps and the selection views are
-library only. Where the library ends and the command begins is worth saying out
-loud, because it is the boundary readers walk into.
-
-The count is thirty-six because three were removed. Every track has to answer
-one question, *does drawing it read the shared scale*, and three that could not
-were taken out rather than kept for the sake of a longer list.
+Twenty-eight of the thirty-six are reachable from the command line; the rest are
+library only, which is a boundary worth saying out loud because it is the one
+readers walk into. The count is thirty-six because three were removed: every
+track has to answer *does drawing it read the shared scale*, and three that
+could not were taken out rather than kept for the sake of a longer list.
[Extending](how-it-works/extending.md) has that test and what a new track owes.
-A library that says what it threw out is easier to believe than one that says
-how much it has.
@@ -377,12 +406,59 @@ Several tracks encode a claim rather than a picture, and what they do when the
data does not support the claim is what makes them worth having. The refusals
are the interesting part.
-
-- A tanglegram is two phylogenies. Handed one file it would draw the tree against itself, which has no crossings, and no crossings is what a perfect result looks like. So it is refused by name: `karyon: a tanglegram track is drawn from two files, and --against names the second`. The two other tracks that take a second file are refused the same way.
-- A homology join that matched nothing would draw every gene in every genome outlined as having no counterpart, which reads as a discovery. It is refused instead, and the message names the first gene that found no match, since the names in a search result and the names in an annotation are routinely not the same strings.
-- `--identity` says whether a column is a percentage or a fraction. Left out it is worked out from the values, and a file whose values are all at or below one could be either, so it is refused by name rather than guessed at. Read the wrong way round, every ribbon in the figure becomes a perfect match and nothing fails.
-- Nought reads is not nought per cent. `modkit` writes a row for a position it could not call, with nought in every count, and passed through that is a mark on the baseline saying the cytosine is unmodified, which is a measurement. The position was not measured. Those rows are skipped and counted.
-
+
+
+
+
+### A tanglegram is two trees
+
+
a tanglegram track is drawn from two files, and --against names the second
+
+Handed one file it would draw the tree against itself, which has no crossings,
+and no crossings is what a perfect result looks like. The two other tracks that
+take a second file are refused the same way.
+
+
+
+
+
+### A join that matched nothing
+
+
names the first gene that found no match
+
+A homology join with no hits would outline every gene in every genome as having
+no counterpart, which reads as a discovery. The names in a search result and the
+names in an annotation are routinely not the same strings, so it says which one
+it looked for.
+
+
+
+
+
+### A scale it cannot infer
+
+
--identity says whether a column is a percentage or a fraction
+
+Left out it is worked out from the values, and a file whose values are all at or
+below one could be either. Read the wrong way round, every ribbon in the figure
+becomes a perfect match and nothing fails, so it is refused by name rather than
+guessed at.
+
+
+
+
+
+### Nought reads is not nought per cent
+
+
skipped, and counted
+
+`modkit` writes a row for a position it could not call, with nought in every
+count. Passed through, that is a mark on the baseline saying the cytosine is
+unmodified, which is a measurement. The position was not measured.
+
+
+
+
All four are the same bug, and it has a name here: **a value given for the
absence of a value**. It is the class this crate is written against, and it is
diff --git a/docs/stylesheets/landing.css b/docs/stylesheets/landing.css
index 1e3bd6bf..8adf8cb8 100644
--- a/docs/stylesheets/landing.css
+++ b/docs/stylesheets/landing.css
@@ -536,13 +536,15 @@
The refusals and the shelf
------------------------------------------------------------------------- */
-.md-typeset .k-refusal-list {
- padding-left: 1.1rem;
-}
-
-.md-typeset .k-refusal-list > li {
- margin-bottom: 0.6rem;
- line-height: 1.65;
+/* The four refusals were a bulleted list of dense paragraphs directly under a
+ section built out of blocks, which made the page look as though it had given
+ up halfway down. They are the same kind of thing as the pieces above them, so
+ they are set the same way. */
+.md-typeset .k-refusals-grid .k-claim code {
+ font-size: 0.72rem;
+ background: none;
+ padding: 0;
+ color: inherit;
}
.md-typeset .k-shelf {
From 65be51213ff3eafa3874cabaf2029e868418d629 Mon Sep 17 00:00:00 2001
From: Paula Ruiz Rodriguez <50167687+Paururo@users.noreply.github.com>
Date: Sun, 30 Aug 2026 15:15:16 +0200
Subject: [PATCH 2/4] End the home page rather than letting it run out
The last thing on it was one paragraph with the citation link, both authors,
two institutions and the licence run together, and then nothing. That is a
page stopping because it has nothing left to say rather than because it is
finished. The closing block separates the three of those and sets them under
a rule, which is not more page: it is the page saying it is done.
---
docs/index.md | 16 ++++++++++++----
docs/stylesheets/landing.css | 26 ++++++++++++++++++++++++++
2 files changed, 38 insertions(+), 4 deletions(-)
diff --git a/docs/index.md b/docs/index.md
index 0af7874d..056cd27d 100644
--- a/docs/index.md
+++ b/docs/index.md
@@ -608,10 +608,18 @@ when a figure leans on them.
[Citation](about/citation.md) has the whole list, the specifications behind
-every format the readers take included. Written by **Paula Ruiz-Rodriguez** and
-**Mireia Coscolla**, I²SysBio, University of Valencia-CSIC, FISABIO Joint
-Research Unit Infection and Public Health, Valencia, Spain. Released under
-[MIT](https://github.com/PathoGenOmics-Lab/karyon/blob/main/LICENSE).
+every format the readers take included.
+
+
+
+**karyon** is written by Paula Ruiz-Rodriguez and Mireia Coscolla.
+
+I²SysBio, University of Valencia-CSIC, and the FISABIO Joint Research Unit
+Infection and Public Health, Valencia, Spain.
+
+Released under [MIT](https://github.com/PathoGenOmics-Lab/karyon/blob/main/LICENSE).
+
+
diff --git a/docs/stylesheets/landing.css b/docs/stylesheets/landing.css
index 8adf8cb8..28392025 100644
--- a/docs/stylesheets/landing.css
+++ b/docs/stylesheets/landing.css
@@ -609,6 +609,32 @@
line-height: 1.55;
}
+/* The page used to end by running out: the last thing on it was one paragraph
+ with the citation link, the authors, two institutions and the licence run
+ together. A closing block is not more of the page, it is the page saying it
+ has finished. */
+.md-typeset .k-colophon {
+ margin: 2rem 0 0;
+ padding-top: 1.1rem;
+ border-top: 1px solid var(--md-default-fg-color--lighter);
+}
+
+.md-typeset .k-colophon p {
+ margin: 0 0 0.35rem;
+ color: var(--md-default-fg-color--light);
+ font-size: 0.72rem;
+ line-height: 1.6;
+}
+
+.md-typeset .k-colophon p:first-child {
+ color: var(--md-default-fg-color);
+ font-size: 0.78rem;
+}
+
+.md-typeset .k-colophon p:last-child {
+ margin-bottom: 0;
+}
+
/* -------------------------------------------------------------------------
Narrow pages
------------------------------------------------------------------------- */
From c78fa4a193a446ad7babedf81536f23bdb77dbf1 Mon Sep 17 00:00:00 2001
From: Paula Ruiz Rodriguez <50167687+Paururo@users.noreply.github.com>
Date: Sun, 30 Aug 2026 15:17:03 +0200
Subject: [PATCH 3/4] Give the landing page a gutter it keeps on a phone
Its own rule caps the column and centres it with an auto margin, which wins
over the side margin Material would otherwise give it. On a narrow screen an
auto margin resolves to nothing, so every paragraph, heading, card and block
on the page sat flush against both bezels: measured at 375 wide, all of them
started at 0 and ended at 375. They start at 16 now. The same rule in the
other stylesheet had already been given this floor; this one is where the
landing page cancels it again.
---
docs/stylesheets/landing.css | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/docs/stylesheets/landing.css b/docs/stylesheets/landing.css
index 28392025..4e5fe03a 100644
--- a/docs/stylesheets/landing.css
+++ b/docs/stylesheets/landing.css
@@ -32,6 +32,11 @@
.md-content__inner:has(.k-hero) {
max-width: 62rem;
margin-inline: auto;
+ /* A floor under the gutter. `margin-inline: auto` wins over Material's own
+ side margin and resolves to nothing on a narrow screen, so without this
+ every paragraph, heading and card on the page sat flush against both
+ bezels of a phone. */
+ padding-inline: 0.8rem;
}
/* -------------------------------------------------------------------------
From ecf5dee69dcbfde276d3b955f05f63faeb60a8b3 Mon Sep 17 00:00:00 2001
From: Paula Ruiz Rodriguez <50167687+Paururo@users.noreply.github.com>
Date: Sun, 30 Aug 2026 15:57:54 +0200
Subject: [PATCH 4/4] Say in the closing block only what the footer does not
Looking at the page rather than measuring it: the block I had just added
repeated the footer two lines above it. Material already prints the authors
and the licence down there, and the closing block said both again. Saying a
thing twice that close together is worse than not closing the page at all, so
it now carries only what the footer has no room for, which is where the work
was done.
---
docs/index.md | 8 ++------
docs/stylesheets/landing.css | 10 ++++------
2 files changed, 6 insertions(+), 12 deletions(-)
diff --git a/docs/index.md b/docs/index.md
index 056cd27d..dd776fd6 100644
--- a/docs/index.md
+++ b/docs/index.md
@@ -612,12 +612,8 @@ every format the readers take included.
-**karyon** is written by Paula Ruiz-Rodriguez and Mireia Coscolla.
-
-I²SysBio, University of Valencia-CSIC, and the FISABIO Joint Research Unit
-Infection and Public Health, Valencia, Spain.
-
-Released under [MIT](https://github.com/PathoGenOmics-Lab/karyon/blob/main/LICENSE).
+Built at I²SysBio, University of Valencia-CSIC, and the FISABIO Joint Research
+Unit Infection and Public Health, Valencia, Spain.
diff --git a/docs/stylesheets/landing.css b/docs/stylesheets/landing.css
index 4e5fe03a..86884c8a 100644
--- a/docs/stylesheets/landing.css
+++ b/docs/stylesheets/landing.css
@@ -617,7 +617,10 @@
/* The page used to end by running out: the last thing on it was one paragraph
with the citation link, the authors, two institutions and the licence run
together. A closing block is not more of the page, it is the page saying it
- has finished. */
+ has finished. It carries only what the footer underneath does not, which is
+ where the work was done: the footer already gives the authors and the
+ licence, and saying either of them twice two lines apart is worse than not
+ closing the page at all. */
.md-typeset .k-colophon {
margin: 2rem 0 0;
padding-top: 1.1rem;
@@ -631,11 +634,6 @@
line-height: 1.6;
}
-.md-typeset .k-colophon p:first-child {
- color: var(--md-default-fg-color);
- font-size: 0.78rem;
-}
-
.md-typeset .k-colophon p:last-child {
margin-bottom: 0;
}