+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(`${tag}>`)
+ 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
+