Giter Site home page Giter Site logo

omikhleia-sile-packages's People

Contributors

omikhleia avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

omikhleia-sile-packages's Issues

Simple charts (bargraph, piechart, etc.)

Leveraging the work done on framebox and fancy rough graphics, consider implementing some (basic) charts, such as

  • Bar graphs
  • Pie charts

Data could be read from CSV, using Penlight's pl.data.read()

EDIT:
Rationale: Potential niche addressed would be business-like reports, and also it's fun.

Provide a better implementation of parbox minimization

Since sile-typesetter/sile#1378 will not make it for a SILE 0.12.x version, and is not sufficient on its own for it anyway, provide a better "hack" for correct minimization of a parbox (which will go in SILE 0.13 maybe...)

  • Currently we have hacks/hack-1361-1362.lua
  • Our parbox does the recomputation (was it fixed accordingly in our own implementation, I can't remember, to be checked), though it could be avoided by fixing the typesetter...
  • Also consider how/when to address it properly in the SILE PR for the parbox there...

footnotes with explicit mark shouldn't increment the counter

The omifootnotes doc states: "It also adds a new mark option to the footnote command, which allows typesetting a footnote with a specific marker instead of a counter. In that case, the footnote counter is not altered."

Actually the counter is still increased by one, e.g.

image

I don't remember why I made it so, but this is likely wrong and inconsistent with the doc.

Refactor documentation not to use autodoc-extras

For the reminder, our package documentations still rely on some "autodoc-extras" package.

At some point, this should go away -- but this has to wait for the core distribution autodoc package to be finalized...

Beamer-inspired class for slides

Our styling stuff would be put to a nice usage (e.g. colored bullets, etc.) if used in a class for making slides

Steps would involve:

  • Specific page masters
  • Customized styles

What does an epigraph package look like?

I noticed that epigraphs are on your todo list. I've had it on mine for a while as well and a couple times I have stuffed something in CaSILE, but ended up not leaving it there because every project I did had some different need for it. Currently about every other book project I do uses epigraphs, but looking back over the implementations I am not sure which bits are can/should be abstracted to a package to handle them.

In my case the book content always comes from Markdown via Pandoc, so chapters might be marked up like this:

# Chapter Title

::: .epigraph
That little blurb stuff here.
:::

On with the chapter...

Many time epigraphs have nested blockquotes, so different blockquote styling when blockquote is nested in epigraph is often a things. Sometimes there are attributions as well (which I often catch with a filter for anything after an emdash inside an epigraph block).

What did you have in mind to provide to handle epigraphs?

Remove hrule depth hack from ean13 package

The barcodes/ean13 package has an hrule:fixed command for SILE bug sile-typesetter/sile#1383

  • Cannot be fully removed for our milestone 1.0 as we still target SILE 0.12.5 and our fix was merged in "master'" but won't make it until SILE 0.13
  • Could maybe however be moved to our "hacks" folder for easier maintenance later ?
    • Cons: we have to re-check it works correctly if moved there, esp. on the Almaq book project (no regression accepted there for 1.0)
    • Pros: would be cleaner (in line with other hacks) and ease transition to future versions, even though we might not go to SILE 0.13 anytime soon = Actual milestone scope to be arbitrated depending on the 3rd Charter, see #13

Refactor our mutilevel counter redefinitions

See "BEGIN TEMPORARY" comment in our sectioning package - We redefined there all the multilevel counters with slightly different behavior from the (broken?) original ones.

This will have to go away at some step... First step is would be to (re)check what we changed.

Mardown conversion with Pandoc Lua custom writer

  • Sectioning (numbered/unnumbered)
  • Basic typesetting
    • Paragraphs
    • Italic, bold, monospace (a.k.a. code)
    • Unicode (check)
    • Smart sequences (Pandoc's task, so just a check)
    • SILE special character escaping
    • Forced line-breaks
  • Strike-through
  • Underline
  • Enumerations, bullet lists (all kinds)
  • Task list ("GitHub-flavor" checkboxes)
  • Definition lists
  • Block quotes
  • Line blocks
  • Horizontal rules
  • Links and footnotes
  • Languages
  • Images
    • Non-SVG images
    • SVG images
  • Tables
  • Raw blocks
  • Code blocks
    • Basic support
    • Syntax highlighting
  • Math
  • Custom styles
  • Bibliography citations (minimalist)
  • Metadata
    • Basic options (papersize, lang, dir)
    • PDF metadata (author, subject, title, keywords)
    • class
    • fonts (main family and fallbacks, size)
  • Table of contents (minimalist). Also list of figures/tables? See templates.
  • Pandoc template (related to the previous item) so that CLI options (-s, --toc etc.) can be supported.

"3rd Charter" tasks - track list

So to recap our progress so far:

  • First "3-month charter" (Sept-Nov 2021) was targeted on building packages and classes for my needs = completed
  • "Second charter" (Jan-March 2022 > extended to June 2022) was targeted on typesetting an actual book (a.k.a. Almaq project) = completed (sort of, awaiting confirmation by mid-June, but the greenlight is expected).

Will we go for a "3rd charter" (approx. July-Oct. 2022) after that ? The decision is still pending.

Yet we may tentatively track its expected scope:

  • Review and improve "styles" package (Priority 1 = complete at least what we have started).
  • Indexer stuff - see SILE sile-typesetter/sile#1339 (Priority 2 - If it's not done, next project is heavily compromised)
  • More styles in "omipoetry" (Priority 3, though likely easy, no need for it yet)
  • Markdown with Pandoc Lua (a neat PoC was done, so Priority 3 to get at least a minimal working version) = see #23
  • Segond Bible from USFX source (a PoC was done... Priority 4, just for the sake of initiating something, incl. sidenotes...) = see #22
  • Typesetter mess (see SILE sile-typesetter/sile#1361) = hornets nest... it's a deadly blocker too if our current hacks fail in more general cases... Priority not assessed as it would mean migrating to SILE 0.13 (see below)

Likely out of scope at this date:

  • Migrating from SILE 0.12.5 to 0.13.x when available. Lots of API changes but no clear benefits (yet) for our projects?
  • Typesetter mess again: consider how/when to remove our various ugly "hacks" (in the hacks/ folder)...

tables and figures cause havoc in PDF outline

The "tables" and "figures" (having a toc level 5 and 6) cause havoc in the PDF outline.
image

Being transverse to the other sectioning commands they shouldn't, I guess, be in the PDF outline at all. I do not really care about the PDF outline, so might not address it soon, but it is messy ;)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.