diff --git a/animation.scroll b/animation.scroll index 92b0886aa..050acdb92 100644 --- a/animation.scroll +++ b/animation.scroll @@ -1,7 +1,6 @@ br 1 - -
+div.animation With Scroll your Lines become particles class atomToDot Lines @@ -14,8 +13,7 @@ Joined with parsers class atomToDot2 parsers class animationLine To lead the world -
- +animation.css br 2 \ No newline at end of file diff --git a/blog/csvToScrollSet.scroll b/blog/csvToScrollSet.scroll index 3e5328904..a4018bd76 100644 --- a/blog/csvToScrollSet.scroll +++ b/blog/csvToScrollSet.scroll @@ -28,7 +28,7 @@ endColumns *** mediumColumns 1 - +scrollSetMaker.js # Your Data:
@@ -36,9 +36,9 @@ mediumColumns 1 # ScrollSet: -

+pre#scrollset
 
-
 
 # Related
 printRelated ScrollSets
diff --git a/faq.scroll b/faq.scroll
index 05a6a17f9..c5cd057a9 100644
--- a/faq.scroll
+++ b/faq.scroll
@@ -38,8 +38,6 @@ Scroll powers PLDB, a knowledge base with over 100 contributors who have added o
 This site you are reading is powered by Scroll.
  link index.html This site
 
-
- ? What makes Scroll different? Scroll has an unusually simple syntax called Particles, an extensive set of parsers and commands needed by researchers, bloggers, knowledge bases and sites of all sizes, is highly expandable, and is familiar to anyone who knows Markdown. diff --git a/package.json b/package.json index 7a2b240bb..8958cc6b9 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "scroll-cli", - "version": "133.6.0", + "version": "134.0.0", "description": "A language for scientists of all ages. A curated collection of tools for refining and sharing thoughts.", "main": "scroll.js", "engines": { diff --git a/parsers/haml.parsers b/parsers/haml.parsers new file mode 100644 index 000000000..cd0e10879 --- /dev/null +++ b/parsers/haml.parsers @@ -0,0 +1,26 @@ +hamlParser + popularity 0.007524 + description HTML tag via HAML syntax. + extends abstractScrollParser + atoms urlAtom + catchAllAtomType stringAtom + pattern ^[\w-]+(#|\.)[\w-\.\#]+ * + javascript + get tag() { + return this.atoms[0].split(/[#\.]/).shift() + } + get htmlId() { + const idMatch = this.atoms[0].match(/#([\w-]+)/) + return idMatch ? idMatch[1] : "" + } + get htmlClasses() { + return this.atoms[0].match(/\.([\w-]+)/g)?.map(cls => cls.slice(1)) || []; + } + compile() { + const {htmlId, htmlClasses, content, tag} = this + this.parent.sectionStack.push(``) + return `<${tag} ${htmlId ? ' id="' + htmlId + '"' : ""} ${htmlClasses ? ' class="' + htmlClasses.join(" ") + '"' : ""}>${content || ""}` + } + compileTxt() { + return this.content + } \ No newline at end of file diff --git a/parsers/tables.parsers b/parsers/tables.parsers index 2cb312d5f..d9293b976 100644 --- a/parsers/tables.parsers +++ b/parsers/tables.parsers @@ -322,6 +322,7 @@ scrollReverseParser scrollComposeParser extends abstractTableTransformParser description Add column using format string. + catchAllAtomType stringAtom crux compose javascript get coreTable() { diff --git a/releaseNotes.scroll b/releaseNotes.scroll index d37b728cf..c1d5af8b4 100644 --- a/releaseNotes.scroll +++ b/releaseNotes.scroll @@ -17,6 +17,10 @@ ciBadges.scroll br thinColumns +📦 134.0.0 9/25/2024 +🎉 added `haml` quick html tags +⚠️ BREAKING: (no one should be affected) if you have lines starting with a sequence like tag#id or tag.someClassName, they will now get matched to HAML parser. + 📦 133.6.0 9/24/2024 🎉 added `links` parser to tables diff --git a/tests/haml.scroll b/tests/haml.scroll new file mode 100644 index 000000000..573c4afea --- /dev/null +++ b/tests/haml.scroll @@ -0,0 +1,17 @@ +buildHtml +buildTxt + +css + #green {color: green;} + .red {color:red;} + .underline {text-decoration: underline;} + +h1#green Green + +h1.red Red + +div.red.underline Red underline + + +div.underline#green Green underline +