martek (v0.0)
Render markdown to latex.
markdown to latex renderer
Render markdown to latex.
padding underneath headers
then some text
some more text
spaced text
oof
initial release with docker and pypy
Use the GitHub action in this repository, showcasing the default setup which renders issues to PDF's.
Support comments in the generated markdown. See the example issues.py
in the root of the repository for a starting point. The comments can be rendered in a new section after the end of the issue description.
Maybe something like....
@UnquietCode wrote on January 4th, 2021:
Comments are cool.
And
multiline
comments t00
Script which can backfill issues for the action. Possibly it fires when installed to the repository, or maybe it can just be run once to establish the branch and the issue backlog. Users should probably be allowed to decide whether to backfill or not so doing it automatically maybe isn't the way to go.
Since the actions can be run from the 'Actions' menu in GitHub it probably makes sense to create a new action that does the backfilling, configured to run against only open, only closed, or both open and closed issues.
use mistletoe latex renderer as a starting point
if there is unicode in the markdown, it should end up in the latex output
We would like to reduce the hulking 1.8GB ubuntu-based image down to something more manageable, if possible. For this Alpine linux would be the preferred route to take.
In addition to the issue description, generate markdown for the issue number and title. Use an n-dash ( β ) rather than a hyphen.
Example markdown:
# #6 β Issue Title
Issue Description
which renders as:
Issue description...
Use the pandoc docker container and add in this codebase to produce a docker image which can render a single PDF from a single markdown file.
ROCKY EDIT:
Here | is some inline}}}!!!||| code
Burning Man is an event held annually since 1986 in the western United States.[1] Since 1991, the event has been located at Black Rock City, a temporary city erected in the Black Rock Desert of northwestern Nevada. The event is held approximately 100 miles (160 km) north-northeast of Reno. As outlined by Burning Man co-founder Larry Harvey in 2004, the event is guided by these ten principles: radical inclusion, gifting, decommodification, radical self-reliance, radical self-expression, communal effort, civic responsibility, leaving no trace, participation, and immediacy.[2] The event derives its name from its culmination, the symbolic burning of a large wooden effigy, referred to as "The Man," that occurs on the Saturday evening before Labor Day.[3]
Black Rock City is located in USA WestBlack Rock CityBlack Rock City
Location in the western United States
The event originated on June 22, 1986, on Baker Beach in San Francisco as a small function organized by Larry Harvey and Jerry James, the builders of the first "Man" effigy. It has since been held annually, spanning the nine days leading up to and including Labor Day. Over the event's history, attendance has steadily increased. In 2019, 78,850 people participated in the event.[4]
Black Rock City is located in NevadaBlack Rock CityBlack Rock City
Location in Nevada
NPR said about Burning Man, "Once considered an underground gathering for bohemians and free spirits of all stripes, Burning Man has since evolved into a destination for social media influencers, celebrities and the Silicon Valley elite."[5] At Burning Man, the participants are supposed to design and build all the art, activities, and events.[6] Artwork at Burning Man includes experimental and interactive sculptures, buildings, performances and art cars, among other media. These contributions are inspired by a theme that is chosen annually by the Burning Man Project.[7] An anonymous attendee once elaborated that "Burning Man is about 'why not' overwhelming 'why'".[8] Participation is a key precept for the community,[9] so there is much controversy in the community over the problem of non-participatory influencers and elite at the event.[10][11]
Burning Man is organized by the Burning Man Project, a non-profit organization that, in 2013, succeeded Black Rock City LLC, a for-profit limited liability company. Black Rock City LLC was formed in 1999 to represent the event's organizers, and is now considered a subsidiary of the non-profit organization. The Burning Man Project endorses multiple smaller regional events guided by the Burning Man principles, both in the United States and internationally. The organization provides the essential infrastructure of Black Rock City and works year-round to bring Burning Man culture to the world through programs such as Burners Without Borders,[12] Black Rock Solar,[13] and Global Arts Grants.[14]
Make a set of tests that prove things work.
Support a new span token "BracketedSpan". Which looks like: [text]{metadata}
render_bracketedspan
(or maybe render_bracketed_span
) which will be invoked by mistletoeTry:
At least support unicode emoji black and white characters. Can then try to use a library of colorful ones.
The code doesn't put any items in the list, and latex can't handle a list with no \item s.
For example
Or
use a macro instead of the full thing
preview
mode. Auto links haven't been implemented yet (Ben will do this)Some text
three consecutive dashes
three consecutive asterisks
And here is some code:
code
code
code
ΓΏΖα»²β’
__inline**code**__-- ()*#^!&#^%&()^$#(*&%)(*^!#&%^!)$(*^&__)@#\\\\\\\\\\\\\\\
Set the page footer to Issue #5 β Page 1 of 2
Use the example issues.py
script in the root of the repository. Pass the repository in as a command line argument, pass the token in via an environment variable (instead of the json file)..
code
Include the label information, if any. Just add a line under the title and before the description. Use the BracketedSpan
created in #3 to pass information to the latex renderer. We want to pass the color information, which comes from the label JSON.
In the renderer use this information to draw a filled in colored box around the text, similar to GitHub. Bonus points if they can be rounded. We also need to decide if the text color should be white or black given the label color. See this comment for a simple formula for deciding: https://stackoverflow.com/a/3943023
For an issue with two labels, something like:
# #6 β Issue Title
[Feature]{color="#1A2B3C"} [Important]{color="#1B2C3D"}
Issue Description
which renders as:
Issue description...
Create a GitHub action utilizing the docker container than can run whenever an issue is created or updated. The action should take the payload and render it to a PDF which is then placed somewhere, such as in the task itself or in the repository as a file, etc. Try to use this repo as the source for the action, but if necessary make a new repo just for the action. A new dockerfile can inherit from this one to add in the action logic.
Probably for now the best bet would be to make a new branch in the repository that has its own root, and it can contain the issue markdown as well as the PDF.
Detect GFM checkboxes in the ordered and unordered lists, and replace them with better markup.
Currently they are styled as:
# empty boxes
$\\square$
# checked boxes
$\\boxtimes$
PDFlatex is noisy, needs to dump temp files
Include the milestone information, if any. Just add a line under the title and before the description.
Something like:
# #6 – Issue Title
**Milestone**: Cool Milestone Bro
Issue Description
which renders as:
Milestone: Cool Milestone Bro
Issue description...
A declarative, efficient, and flexible JavaScript library for building user interfaces.
π Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. πππ
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google β€οΈ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.