Coder Social home page Coder Social logo

the-notebookinator / notebookinator Goto Github PK

View Code? Open in Web Editor NEW
35.0 2.0 8.0 6.89 MB

Home Page: https://the-notebookinator.github.io/notebookinator/

License: The Unlicense

Typst 95.72% Nix 1.29% Shell 2.62% Just 0.37%
typst typst-template vex vex-robotics

notebookinator's People

Contributors

battlech1cken avatar bestusernamever avatar deb06 avatar meiszwflz avatar mnredpanda avatar rubyflamewarrior avatar

Stargazers

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

Watchers

 avatar  avatar

notebookinator's Issues

[FEATURE] Individual Entry Preview

Requested Feature

I'd like to be able to render a specific entry on its own, without any of the frontmatter and appendix.

  • single entry
  • no frontmatter
  • no appendix

Current Implementation

You must include the following for the entry to actually render in the preview

#show notebook.with(/*...*/)

Motivation

This would make it easier to work on individual entries and quickly check that everything looks correct without any scrolling in the pdf preview.

(Optional) Possible Implementations and Alternatives

  • open the pdf to a specific page but i couldn't figure out how to do this
  • dont provide cover page -> radial theme creates a placeholder cover page

:sparkles: Hereford Theme

Requested Feature

Leah from 929T has offered to have this format implemented as a theme

Motivation

The theme is gorgeous โœจ .

:sparkles: Create font installation process

Requested Feature

Each of the themes currently use different fonts, but there isn't a good way to package fonts with a library in Typst.

Possible Implementation

  • Have the fonts included in the resources, and create a script that automatically installs them.
  • Wait until the Typst template system is finalized, and packaging fonts with templates is possible.

:sparkles: Plots and Pie Charts for Every Theme

Requested Feature

I propose that we add plots and pie charts to the other themes, in order to have them match the functionality of the Radial theme

Current Implementation

Currently only the Radial theme supports plots and pie charts. It wraps the CeTZ plotting API to make it less verbose, and customize it to look nice.

Motivation

It would be nice to have this functionality in all of the themes, as these tools are really useful to have natively.

(Optional) Possible Implementations and Alternatives

Right now the major obstacle is that we haven't found a way to reduce code duplication while implementing these new components. The decision matrices already suffer from this problem, and they abstract all of their calculations away to a helper function.

An approach we could take is to only change the colors between themes. This means that we could provide a generic plot and pie chart component, and then have a colors parameter, which each theme could override, and present as a component.

:sparkles: Add docs support for private themes

Requested Feature

Make a section in the documentation that describes how to create a theme with the Notebookinator that doesn't contribute as a template.

Current Implementation

There is no section about this topic.

Motivation

Many people may want to alter pre-existing themes without making an entirely new theme.

(Optional) Possible Implementations and Alternatives

:sparkles: Overhaul user facing error handling

Currently the errors provided to the user are vague and confusing. Even simple things such as informing the user when they provide arguments in an unintended way would go a long way to improving this situation.

โœจ Standardize the components and theme creation API

It might be a good idea to standardize the user facing component API so that we can guarantee component compatibility across themes.

I propose we do this with some sort of component constructor function. Here's an example:

// themes/linear/components/pro-con.typ
#let pro-con = make-pro-con((pros, cons)) => {

  table(
    // ...
  )
})

The make-pro-con function can just return another function that then gets assigned to the pro-con variable.

This would guarantee cohesion without need for more in depth code review, and would also allow the make-pro-con function to parse the arguments first, allowing for error handling. This might also help us close #28 , since it would allow us to handle incorrectly passed arguments in once place, instead of on a per-component basis.

The end goal would be to make switching themes guarantee to work without compiler errors.

๐Ÿ› The Linear theme borders break when entries pan multiple pages

Expected Behavior

Normally there is a border around the pages of the linear theme that looks like this:

image

Observed Behavior

However when the content in an entry spans multiple pages, this border is missing

image

Steps to Reproduce

Place the following code in a .typ file inside of the root of the Notebookinator, and then compile that file to see the bug.

#import "/lib.typ": *
#import themes.linear: linear-theme, components

#show: notebook.with(
  theme: linear-theme,
)

#create-frontmatter-entry(title: "Table of Contents")[
  #lorem(2000)
]

Environment

  • Typst Version: 0.11.1
  • Notebookinator Version: 1.0.1
  • Operating System: NixOS Linux

๐Ÿ› Page number mismatched from TOC

Expected Behavior

The radial TOC page numbers mismatch both the physical and logical page numbers.

Environment

  • Typst Version: 0.11.0
  • Notebookinator Version: 1.0.0

๐Ÿ“ Add to theme implementation docs

Requested Feature

The documentation doesn't have enough explanation for the Implementing Your Own Theme section.

Current Implementation

See "Implementing Your Own Theme" section.

Motivation

People struggle to make their own themes and cannot fully rely on the documentation.

โœจ Implement a cover for the Radial theme

Requested Feature

The Radial theme really needs a nice looking default cover.

Current Implementation

Currently the Radial theme doesn't have a fleshed out default cover design, it just creates the words "Radial Cover".

๐Ÿ› Breaking Typst 0.11.0 Changes

The new Typst 0.11.0 update came with a total overhaul to the introspection API, breaking a lot of the existing code we have. They also introduced a new keyword: context. This means we will have to replace every instance of the word context with another variable name.

Environment

  • Typst Version: 0.11.0
  • Notebookinator Version: latest commit
  • Operating System: Linux

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.