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 A gallery of genomic plots on one sheet of twenty-two panels in three columns: a genomic stack, a read pileup, sequence logos, association statistics with a genotype matrix, a dotplot and synteny ribbons, a multiple sequence alignment, variable sites with a phylogeny, a tree, windowed statistics read against a baseline, a circular chromosome, raw nanopore signal, one locus compared across three genomes, Dam methylation across the E. coli origin of replication, an association scan across a whole draft assembly, structural variants as arcs between their breakpoints, the six reading frames, two trees face to face, a human imprinting control region read one molecule at a time, a coding sequence ruled in codons, one molecule aligned in three pieces, SARS-CoV-2 lineage deletions painted onto a phylogeny, and transcription units from start site to terminator
-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 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; }