mirror of
https://github.com/anoma/juvix.git
synced 2024-08-17 12:10:21 +03:00
This PR adds an initial support for Literate Juvix Markdown files, files with the extension `.juvix.md`. Here is a small example of such a file: `Test.juvix.md`. <pre> # This is a heading Lorem ... ```juvix module Test; type A := a; fun : A -> A | _ := a; ``` Other text </pre> This initial support enables users to execute common commands such as typechecking, compilation, and HTML generation. Additionally, a new command called `markdown` has been introduced. This command replaces code blocks marked with the juvix attribute with their respective HTML output, much like the output we obtain when running `juvix html`. In this version, comments are ignored in the output, including judoc blocks. - We intend to use this new feature in combination with this Python plugin (https://github.com/anoma/juvix-mkdocs) to enhance our documentation site. https://github.com/anoma/juvix/assets/1428088/a0c17f36-3d76-42cc-a571-91f885866874 ## Future work Open as issues once this PR is merged, we can work on the following: - Support imports of Juvix Markdown modules (update the path resolver to support imports of Literate Markdown files) - Support (Judoc) comments in md Juvix blocks - Support Markdown in Judoc blocks - Update Text editor support, vscode extension and emacs mode (the highlighting info is a few characters off in the current state) - Closes #1839 - Closes #1719
94 lines
962 B
Plaintext
94 lines
962 B
Plaintext
### Haskell
|
|
dist
|
|
dist-*
|
|
cabal-dev
|
|
*.o
|
|
*.hi
|
|
.hie/
|
|
*.chi
|
|
*.chs.h
|
|
*.dyn_o
|
|
*.dyn_hi
|
|
*.prof
|
|
*.aux
|
|
*.hp
|
|
*.eventlog
|
|
.virtualenv
|
|
.hsenv
|
|
.hpc
|
|
.cabal-sandbox/
|
|
cabal.sandbox.config
|
|
cabal.config
|
|
cabal.project.local
|
|
.ghc.environment.*
|
|
.HTF/
|
|
# Stack
|
|
.stack-work/
|
|
stack.yaml.lock
|
|
# GHCI
|
|
.ghci
|
|
|
|
### IDE/support
|
|
# Vim
|
|
[._]*.s[a-v][a-z]
|
|
[._]*.sw[a-p]
|
|
[._]s[a-v][a-z]
|
|
[._]sw[a-p]
|
|
*~
|
|
tags
|
|
|
|
# IntellijIDEA
|
|
.idea/
|
|
.ideaHaskellLib/
|
|
*.iml
|
|
|
|
# Atom
|
|
.haskell-ghc-mod.json
|
|
|
|
# VS
|
|
.vscode/
|
|
|
|
# Emacs
|
|
*#
|
|
.dir-locals.el
|
|
TAGS
|
|
|
|
# other
|
|
.DS_Store
|
|
|
|
/runtime/include/
|
|
_build/
|
|
_build.*/
|
|
*.agdai
|
|
.agda/
|
|
agda2hs/
|
|
docs/examples/html/.*
|
|
docs/*.html
|
|
*.cabal
|
|
/src/Juvix/Utils/OldParser.hs
|
|
docs/CHANGELOG.md
|
|
docs/CONTRIBUTING.md
|
|
docs/LICENSE.md
|
|
docs/README.md
|
|
.juvix-build
|
|
|
|
# C Code generation
|
|
*.out.c
|
|
*.s
|
|
*.wasm
|
|
*.exe
|
|
book/*
|
|
**/html/*
|
|
|
|
*.cmi
|
|
*.cmx
|
|
*.cmo
|
|
.history
|
|
# Binary files (produced by `make check`)
|
|
examples/milestone/HelloWorld/HelloWorld
|
|
hie.yaml
|
|
/.shake/
|
|
/.benchmark-results/
|
|
docs/assets/**
|
|
.repos
|