From 2b4c0501f9c0bf3275b907eedf54b574adbc3e97 Mon Sep 17 00:00:00 2001 From: Marshall Lochbaum Date: Sun, 4 Oct 2020 13:50:02 -0400 Subject: Add capability to evaluate code in comments --- md.bqn | 18 ++++++++++++++---- svg.bqn | 2 ++ 2 files changed, 16 insertions(+), 4 deletions(-) create mode 100644 svg.bqn diff --git a/md.bqn b/md.bqn index f18c257f..cd755b99 100644 --- a/md.bqn +++ b/md.bqn @@ -171,12 +171,19 @@ tryURL ← siteURL∾"try.html#code=" repoURL ← "https://github.com/mlochbaum/BQN" blobURL ← repoURL∾"/blob/master/" +# Environments +_getCodeExec ← {𝕗⋄⍎} +_getSvgExec ← {𝕗⋄⟨•path∾"svg.bqn","⍎"⟩ •EX •path∾"dzref"} + ################################ Markdown ← {filename𝕊𝕩: extensions ← filename ≢ 0 path ← extensions◶""‿(⊢/˜·∨`⌾⌽'/'⊸=) filename + CodeExec ← @_getCodeExec + SvgExec ← @_getSvgExec + ###### # First we classify each line based on the type of block it can start. ClassifyLine ← (0<≠)◶(0‿0)‿{ @@ -237,7 +244,6 @@ Markdown ← {filename𝕊𝕩: mod ← ⟨em,e∾c∾r,ei∾ci∾ri⟩ Modify code 𝕩 Link⊸∾⍟addRslt "pre" Html "code" Html⍟(¬extensions) mod } - codeExec ← {⍎} # Headings start with #, and require 1-6 #s followed by a space. # Any trailing #s are ignored. @@ -311,11 +317,15 @@ Markdown ← {filename𝕊𝕩: # Lazy rule: if it starts with < and contains >, it's probably HTML IsHtmlBlock ← (""∾lf)⊸≢◶GetRepl‿⊢ - ProcHtmlBlock ← <⟜2◶ProcComment‿{ + ProcComment ← ⟨""⟩⊸≢◶⟨ + GetRepl + ("