Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add .livemd extension to Markdown language #5672

Conversation

nallwhy
Copy link
Contributor

@nallwhy nallwhy commented Dec 4, 2021

Description

This PR adds .livemd extension to Markdown language.

.livemd is the extension of Livebook which is an Elixir version of Jupyter.
.livemd is a subset of Markdown.

.livemd can be displayed as Markdown on GitHub when .livemd has <!-- vim: syntax=markdown --> at the first line of it (Example), but it's not a default option of .livemd.

Checklist:

  • I am associating a language with a new file extension.
    • The new extension is used in hundreds of repositories on github.com
    • I have included a real-world usage sample for all extensions added in this PR:
      • Sample source(s): x (I made it including all features of Livebook)
    • I have included a change to the heuristics to distinguish my language from others using the same extension.

@nallwhy nallwhy requested a review from a team as a code owner December 4, 2021 03:58
@lildude
Copy link
Member

lildude commented Dec 8, 2021

I've fixed the ordering to get the tests passing.

Unfortunately, we can't merge this yet as the extension isn't popular enough yet:

Total files found: 645
Unique public user/repos: 28
Unique owners: 27

@lildude lildude changed the title Add .livemd extension to Markdown language Add .livemd extension to Markdown language May 25, 2022
@lildude lildude merged commit 7503f75 into github-linguist:master May 25, 2022
@adolfont
Copy link

I always save my Livebook files on GitHub as .md because I don't want to loose syntax highlighting.

cr0t added a commit to cr0t/livebook that referenced this pull request Sep 5, 2022
`.livemd` extension was added to github/linguist project in May 2022
(see this PR for details github-linguist/linguist#5672).

Since this time GitHub treats all `.livemd` files as Markdown, and this
section is redundant (or even a little bit misleading).
jonatanklosko pushed a commit to livebook-dev/livebook that referenced this pull request Sep 5, 2022
`.livemd` extension was added to github/linguist project in May 2022
(see this PR for details github-linguist/linguist#5672).
techknowlogick added a commit to go-gitea/gitea that referenced this pull request Apr 26, 2023
## Needs and benefits
[Livebook](https://livebook.dev/) notebooks are used for code
documentation and for deep dives and note-taking in the elixir
ecosystem. Rendering these in these as Markdown on frogejo has many
benefits, since livemd is a subset of markdown. Some of the benefits
are:
- New users of elixir and livebook are scared by unformated .livemd
files, but are shown what they expect
- Sharing a notebook is as easy as sharing a link, no need to install
the software in order to see the results.

[goldmark-meraid ](https://github.com/abhinav/goldmark-mermaid) is a
mermaid-js parser already included in gitea. This makes the .livemd
rendering integration feature complete. With this PR class diagrams, ER
Diagrams, flow charts and much more will be rendered perfectly.

With the additional functionality gitea will be an ideal tool for
sharing resources with fellow software engineers working in the elixir
ecosystem. Allowing the git forge to be used without needing to install
any software.

## Feature Description
This issue requests the .livemd extension to be added as a Markdown
language extension.

- `.livemd` is the extension of Livebook which is an Elixir version of
Jupyter Notebook.
- `.livemd` is` a subset of Markdown.

This would require the .livemd to be recognized as a markdown file. The
Goldmark the markdown parser should handle the parsing and rendering
automatically.

Here is the corresponding commit for GitHub linguist:
github-linguist/linguist#5672

Here is a sample page of a livemd file:

https://github.com/github/linguist/blob/master/samples/Markdown/livebook.livemd

## Screenshots

The first screenshot shows how github shows the sample .livemd in the
browser.
The second screenshot shows how mermaid js, renders my development
notebook and its corresponding ER Diagram. The source code can be found
here:
https://codeberg.org/lgh/Termi/src/commit/79615f74281789a1f2967b57bad0c67c356cef1f/termiNotes.livemd

## Testing
I just changed the file extension from `.livemd`to `.md`and the document
already renders perfectly on codeberg. Check you can it out
[here](https://codeberg.org/lgh/Termi/src/branch/livemd2md/termiNotes.md)

---------

Co-authored-by: techknowlogick <techknowlogick@gitea.io>
@github-linguist github-linguist locked as resolved and limited conversation to collaborators Jun 17, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants