litemark

Lightweight Markdown dialect for Python desktop apps (by pyrustic)

Litemark Alternatives

Similar projects and alternatives to litemark based on common topics and language

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a better litemark alternative or higher similarity.

litemark reviews and mentions

Posts with mentions or reviews of litemark. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-02-26.
  • Show HN: Exn – Write and render rich, scriptable, and interactive notes
    5 projects | news.ycombinator.com | 26 Feb 2023
    Hi HN !

    I'm Alex, a tech enthusiast. I'm excited to show you Exonote [1] and Exn [2], two projects I'm working on.

    Years ago I crafted Litemark [3] and Codegame [4], two projects for creating codegames, which are programming puzzles with a backstory. A codegame is made up of levels stored in plain old text files as prose written with Litemark, a markup language inspired by Markdown [5]. The player would open the Codegame app to access the first level of the game, read the prose, and then submit Python code to solve the puzzle. The submitted code is evaluated by the Codegame app, then the return compared to the expected result previously defined by the author for this level. A correct answer would unlock the next level.

    The idea behind Litemark and Codegame has evolved to embrace more possibilities, leading to the creation of Exonote and Exn which are no longer limited to "programming puzzles with a backstory".

    Exonote is a Markdown-inspired markup language for writing rich, scriptable, and interactive notes. An eponymous Python package is available on PyPI to serve as the reference library. The lowercase word 'exonote' could be used as a common noun for a document written with this markup language.

    This markup language makes it possible to add interactivity to notes by embedding GUI programs written with Tkinter [6]. Additionally, all or part of an exonote can be arbitrarily generated using custom Python scripts.

    On top of Exonote, with Tkinter I built Exn, a lightweight Python desktop application to browse a dossier of exonotes. A dossier is a directory that contains plain old text files with the ".exn" extension (exonotes), assets (images for examples), and Python source code.

    Exn's graphical user interface is a metaphor for a book whose pages are exonotes. Thus, the left and right arrow keys allow the reader to navigate from one page to another. The order of the pages is determined by an index file which can be generated automatically from the command line. This file contains the list of exonotes (ordered by their creation timestamp), their titles, and their tags.

    Exn also has a built-in search engine that supports regular expressions [7], a Table of Contents (ToC) builder, a 'switcher' (Ctrl+Tab) and other cool stuff.

    By expanding the original Litemark/Codegame idea, I unwittingly introduced a security risk. Suppose Bob doesn't have a personal website but has a GitHub repository that he uses as the public dossier for his exonotes. Alice is a tech savvy who knows what exonotes are and would love to explore the contents of the dossier with Exn. But she worries about the security risk of running untrusted code.

    To solve this problem without going on an endless sandbox over-engineering journey, I added to Exn two command line options to browse a folder with low and high restriction. Low restriction mode blocks the execution of embedded programs while high restriction mode not only does the same but also blocks executable links (preventing the user from inadvertently running code by clicking on an executable link).

    There is more to say about this (double) project, such as the Viewer API to manipulate the live representation of an exonote from a Python script.

    This project is functional, still a work in progress with precarious documentation. I'm planning to add a nice plugin mechanism (at the moment it's only possible to change colors and font size of elements) so people can customize Exn (themes, et cetera) or add new functions.

    A demo [8] is available to play around with and there is also a "Why use this project" section in the README which contains some interesting stuff not covered in this post.

    I would like to know what you think [9] of Exonote and Exn. Your questions, criticisms, and suggestions are welcome !

    Postscript: I found by serendipity that the third most popular post on HN (Mechanical Watch by Bartosz Ciechanowski) [10] looks like what I thought was a cool example of what can be done with Exonote/Exn. I had imagined a bike enthusiast working on a prototype on the weekends, taking notes, inserting relevant hyperlinks and images, building interactive 3D models of different parts of the bike and embedding them into the notes, et cetera. It would be a dossier of exonotes describing from scratch how the bike was built, with an astonishing level of detail. This person could keep this dossier private forever or publish it online. Once released, depending on the dossier's license, it can evolve much like open source software.

    [1] https://github.com/pyrustic/exonote

    [2] https://github.com/pyrustic/exn

    [3] https://github.com/pyrustic/litemark

    [4] https://github.com/pyrustic/codegame

    [5] https://en.wikipedia.org/wiki/Markdown

    [6] https://en.wikipedia.org/wiki/Tkinter

    [7] https://en.wikipedia.org/wiki/Regular_expression

    [8] https://github.com/pyrustic/exn#demo

    [9] http://sl4.org/crocker.html

    [10] https://news.ycombinator.com/item?id=31261533

  • pyrustic/litemark: Lightweight Markdown dialect for Python desktop apps
    1 project | /r/Python | 30 Sep 2021
  • Show HN: Lightweight Markdown dialect for Python desktop apps
    1 project | news.ycombinator.com | 30 Sep 2021
  • I built Codegame for developers to create programming games with Markdown
    3 projects | dev.to | 29 Sep 2021
    [1] https://github.com/pyrustic/litemark
  • Show HN: Built Codegame for developers to create programming games with Markdown
    3 projects | news.ycombinator.com | 29 Sep 2021
    Hi HN !

    I am excited to present the Codegame Platform to you.

    Imagine being able to:

    - write in a Markdown dialect (Litemark [1]) a text that gratifies the intellectual curiosity of the reader;

    - gamify [2] the process by transforming each page into a level with the possibility of giving the reader a test to move from one level to another;

    - don't worry about implementing what is said in the previous line: just write Markdown with your favorite text editor;

    - without writing a single line of code that will be executed on the reader's computer, evaluate the solution that the user submits to a test;

    - turn a reader into a player, a set of Markdown files into a serious game (a codegame);

    - see a preview of what the future player will see with a command "preview" from a CLI;

    - turn your project into a distribution package, publish it (thanks to GitHub Releases Assets) and monitor the number of downloads and stargazers simply with 3 commands ("build", "publish, "info remote") from a CLI;

    - promote your project simply by sharing the URL of your repository or the "owner/repository" shortcut that users can simply paste into the search bar of a GUI (Codegame Platform);

    - download the packaged project (the codegame) as a user and use it with the same application that allowed you to create, package and publish this same project ...

    I imagined the above lines during this month and just posted the first implementation on Github.

    First, I developed Litemark, a dialect of Markdown. I wanted something that would allow the creator of a codegame to insert images, links and also source code (read-only). It would be a plus if the creator is comfortable with the markup language. Markdown is a good candidate and on top of that a lot of people can write Markdown. I also wanted to be able to use my Pyrustic Framework which is not made for the web. And no question of using a HTML rendering engine ! I could have used Pandoc but it's also exciting to do projects from scratch. After Litemark, I wrote the library Codeval [3] which allows you to test code according to a given specification (input, output, maximum execution time). Then I developed Codegame Platform.

    Having written Litemark from scratch allowed me to make some quick changes to meet the needs of the Codegame Platform. Example: The Litemark distribution package has a Viewer that can hide a given codeblock. This is the trick I use to hide the test specs from the player.

    I think this project is suitable for:

    - teaching programming, algorithms, data structures;

    - teaching ethical hacking;

    - building a well-articulated chain of puzzles with an exciting story behind it;

    - automating coding interviews [4];

    - fun, and more...

    This is a work in progress. I would love to know what you think [4] about it, any suggestions, reviews, fixes, if you would have liked to use an app like this when you were new to programming, if you would like to create codegames and why, or if you would like to play codegames and why, or if you would like to implement the concept in another programming language or still with Python with another framework and why, if you know a similar project, etc ...

    [1] https://github.com/pyrustic/litemark

    [2] https://en.wikipedia.org/wiki/Serious_game

    [3] https://github.com/pyrustic/codeval

    [4] https://en.wikipedia.org/wiki/Coding_interview

    [5] http://sl4.org/crocker.html

  • A note from our sponsor - SaaSHub
    www.saashub.com | 18 Apr 2024
    SaaSHub helps you find the best software and product alternatives Learn more →

Stats

Basic litemark repo stats
5
13
2.7
almost 2 years ago

pyrustic/litemark is an open source project licensed under MIT License which is an OSI approved license.

The primary programming language of litemark is Python.

SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com