diff --git a/blog/feed.xml b/blog/feed.xml index cfc28e0ff..48a480f91 100644 --- a/blog/feed.xml +++ b/blog/feed.xml @@ -4,7 +4,7 @@
files | @@ -79,9 +79,9 @@||||||
---|---|---|---|---|---|---|
136 | Scroll | -1877 | +1878 | 0 | -5253 | +5255 |
12 | JavaScript | @@ -95,16 +95,16 @@0 | 226 | |||
3 | -CSS | -8 | -0 | -110 | -||
2 | JSON | 0 | 0 | +111 | +||
3 | +CSS | +8 | +0 | 110 | ||
4 | @@ -139,9 +139,9 @@||||||
272 | SUM | -2405 | +2406 | 91 | -12986 | +12989 |
quickImage
parser. Add an image with just the filename. quickImageParser detects by filename.quickImage
parser. Add an image with just the filename. quickImageParser detects by filename.particles.png
-scrollForm
now implements the One Textarea design pattern. Thanks Alejandro for your help!scrollForm
now implements the One Textarea design pattern. Thanks Alejandro for your help!scrollForm
parsertextarea
to ScrollSet formsabstractTextareaMeasureParser
mediumColumn
, thinColumn
, and wideColumn
parsers.form
to classicForm
scrollForm
parsertextarea
to ScrollSet formsabstractTextareaMeasureParser
mediumColumn
, thinColumn
, and wideColumn
parsers.form
to classicForm
form
parserform
parserExample:
+Example:
chat
I have some questions
@@ -698,83 +701,83 @@
Hmm and for project management?
pen and paper
youTube
parser to youtube
(all lowercase). Deprecate old spelling.youTube
parser to youtube
(all lowercase). Deprecate old spelling.tree
is no longer a table format. Use particles
instead.tree
is no longer a table format. Use particles
instead.buildPdf
parser. Currently requires MacOS + Chrome.buildPdf
parser. Currently requires MacOS + Chrome.printMeasures
printConcepts
buildConcepts
and buildMeasures
now generates csv
by default instead of tsv
printMeasures
printConcepts
buildConcepts
and buildMeasures
now generates csv
by default instead of tsv
Before:
+Before:
buildConcepts
printConcepts
After:
+After:
buildConcepts
table
printTable
printUsageStats
printLeetSheet
is now printScrollLeetSheet
printAvancedLeetSheet
is now printparsersLeetSheet
paintParser
which replaces highlightScopeParser
highlightScope
to paint
wwsButton
is now downloadButton
email
. Now do emailButton [email]
downloadUrl
. Now do downloadButton [url]
printRelated
br
parserbuildCsv
parseremailButton
parser.scrollVersionLink
parser.wwsButton
parser.center
parser now also creates centered sections:This should be centered.
+printUsageStats
printLeetSheet
is now printScrollLeetSheet
printAvancedLeetSheet
is now printparsersLeetSheet
paintParser
which replaces highlightScopeParser
highlightScope
to paint
wwsButton
is now downloadButton
email
. Now do emailButton [email]
downloadUrl
. Now do downloadButton [url]
printRelated
br
parserbuildCsv
parseremailButton
parser.scrollVersionLink
parser.wwsButton
parser.center
parser now also creates centered sections:This should be centered.
printViewSource
is now viewSourceLink
pageFooter
has been split into simpler parsers.printViewSource
is now viewSourceLink
pageFooter
has been split into simpler parsers.find ^pageFooter
replace
center
@@ -782,122 +785,122 @@
downloadButton
viewSourceButton
scrollVersionLink
homeButton
parser.leftRightButtons
parser.viewSourceButton
parser.pageHeader
. Split that into 3 simpler parsers. Change pageHeader
to:homeButton
parser.leftRightButtons
parser.viewSourceButton
parser.pageHeader
. Split that into 3 simpler parsers. Change pageHeader
to:find ^pageHeader
replace
homeButton
leftRightButtons
viewSourceButton
printViewSourceBadge
is now viewSourceButton
homeUrl
. Insead do:printViewSourceBadge
is now viewSourceButton
homeUrl
. Insead do:homeButton
link ../someOtherURL.html
video
parser.video
parser.video tests/spirit.mp4
loop
music
parser for playing songs, podcasts, sounds, et cetera.music
parser for playing songs, podcasts, sounds, et cetera.music tests/sipOfCoffee.m4a
loop
nickelbackIpsum
parser. Idea from gigamick.nickelbackIpsum
parser. Idea from gigamick.label
should show up in scatterplot autocompletelabel
should show up in scatterplot autocompletebutton
parserdinkus
parserbutton
parserdinkus
parserimage
parser easier to extendimage
parser easier to extendimpute
parserimpute
parserfetch
now writes to localStorage in browser environment.table
now can read from localStorage in browser environment.groupBy
parserfetch
now writes to localStorage in browser environment.table
now can read from localStorage in browser environment.groupBy
parsertableSearch
stylingtableSearch
now adds copy and CSV buttons.tableSearch
stylingtranspose
parsersparkline [columnName]
is now sparkline\n y [columnName]
tableSearch
now adds copy and CSV buttons.groupBy
parser for "pivot tables"transpose
parsersparkline [columnName]
is now sparkline\n y [columnName]
groupBy
parser for "pivot tables"select
parserorderBy
parserrename
parserreverse
parserfetch
parserscatterplot
now gets data from table
.select
parserorderBy
parserrename
parserreverse
parserfetch
parserscatterplot
now gets data from table
.table [filename].[json|tsv|csv]
to load and print a table from disksparkline
now can take a table as input:table [filename].[json|tsv|csv]
to load and print a table from disksparkline
now can take a table as input:table posts.csv
sparkline
y wordCount
-printTable
at root level. Now works nested under tablespaceTable
. See below to migrate.tabTable
. See below to migrate.treeTable
. See below to migrate.commaTable
. See below to migrate.pipeTable
. See below to migrate.table
now takes delimiter and data parsers. Usage:printTable
at root level. Now works nested under tablespaceTable
. See below to migrate.tabTable
. See below to migrate.treeTable
. See below to migrate.commaTable
. See below to migrate.pipeTable
. See below to migrate.table
now takes delimiter and data parsers. Usage:name | @@ -907,83 +910,83 @@35 |
---|
Regex to find all breaks: ^(printTable|spaceTable|tabTable|treeTable|commaTable|pipeTable|table )
+Regex to find all breaks: ^(printTable|spaceTable|tabTable|treeTable|commaTable|pipeTable|table )
inlineMarkups
now supports setting attributes and tagsa href="url"
instead.inlineMarkups
now supports setting attributes and tagsa href="url"
instead.inlineMarkups
parser. Thanks to eugenesvk for the idea.printSourceStack
now prints [Unchanged] if the source was not changed during a compiler step.wrapsOn
is now inlineMarkupsOn
wrap
is now inlineMarkup
inlineMarkups
parser. Thanks to eugenesvk for the idea.printSourceStack
now prints [Unchanged] if the source was not changed during a compiler step.wrapsOn
is now inlineMarkupsOn
wrap
is now inlineMarkup
counters
parser.counters
parser.printSourceStack
parser to provide a clean way to view source code at each step in compilation.readingList
parser. Aftertext is a better choice.printExpandedSource
and printOriginalSource
into printSourceStack
printSourceStack
parser to provide a clean way to view source code at each step in compilation.readingList
parser. Aftertext is a better choice.printExpandedSource
and printOriginalSource
into printSourceStack
buildFiles
to CLI classbuildFiles
to CLI classprintExpandedSource
and printOriginalSource
parsersprintExpandedSource
and printOriginalSource
parserstestStrict
parser to allow disabling catch all paragraph on a per file basis.testStrict
parser to allow disabling catch all paragraph on a per file basis.heatrix
now supports using custom labels even for numeric atoms.heatrix
heatrix
now supports using custom labels even for numeric atoms.heatrix
heatrix
.heatrix
is now heatrixAdvanced
. heatrix
is the simplest fast version now.heatrix
.heatrix
is now heatrixAdvanced
. heatrix
is the simplest fast version now.heatrix
heatrix
printCsv
now includes year
columnheatrix
parserprintCsv
now includes year
columnheatrix
parserprintRelated
now has support for tags! No need to add a related
line on each post.groups
is now tags
.printRelatedList
is now just printRelated
.related
parser. Now just use tags. Apply tags liberally.printRelated
now has support for tags! No need to add a related
line on each post.groups
is now tags
.printRelatedList
is now just printRelated
.related
parser. Now just use tags. Apply tags liberally.codeWithHeader
parsercenter
aftertext markup parserprintFormatLinks
parsercodeWithHeader
parsercenter
aftertext markup parserprintFormatLinks
parserprintAdvancedLeetSheet
now also prints atom parser docsprintAdvancedLeetSheet
now also prints atom parser docsDemo:
+Demo:
Hello world
bold
This is italicized
@@ -992,583 +995,583 @@
code
Strikethrough this whole line.
strike
-Hello world
-This is italicized
-Make this code
Strikethrough this whole line.
printAdvancedLeetSheet
after feedback in r/WorldWideScrollheight
and width
to imagesfloat
to imageswrapsOn
. You can write wrapsOn none
to disable all wraps.printCsv
now exports authors
as wellauthors
parser to support multiple authorsauthors
now can use all aftertext featuresprintAuthor
is now printAuthors
author
is now authors
.To update from author
to authors
, you can use this regex find/replace:
Find: ^author ([^ ]+) (.*)
-Replace: authors 2\n 1 $2
-contacts
microlang.microlangs
foldercenter
parser! first blink, now center!printCheatSheet
to printLeetSheet
printUsageStats
parser.printCheatSheet
now prints good txt only docs too.printCheatSheet
now prints descriptions.printCheatSheet
parser v0.1.0keywordAtom
has been replaced by cueAtom
. You can do a simple find/replace or just add:Hello world
+This is italicized
+Make this code
Strikethrough this whole line.
printAdvancedLeetSheet
after feedback in r/WorldWideScrollheight
and width
to imagesfloat
to imageswrapsOn
. You can write wrapsOn none
to disable all wraps.printCsv
now exports authors
as wellauthors
parser to support multiple authorsauthors
now can use all aftertext featuresprintAuthor
is now printAuthors
author
is now authors
.To update from author
to authors
, you can use this regex find/replace:
Find: ^author ([^ ]+) (.*)
+Replace: authors 2\n 1 $2
+contacts
microlang.microlangs
foldercenter
parser! first blink, now center!printCheatSheet
to printLeetSheet
printUsageStats
parser.printCheatSheet
now prints good txt only docs too.printCheatSheet
now prints descriptions.printCheatSheet
parser v0.1.0keywordAtom
has been replaced by cueAtom
. You can do a simple find/replace or just add:keywordAtom
extends cueAtom
scroll build
through passed in SSH command was hangingscroll build
through passed in SSH command was hangingstartColumns
, gazetteHeader
, gazetteFooter
, byLine
startColumns
, gazetteHeader
, gazetteFooter
, byLine
printViewSourceBadge
parserprintViewSourceBadge
parsergit
parser. No longer needed now that we use deep link to all source pages.viewSource
to printViewSource
to clarify that it prints an HTML element.git
parser. No longer needed now that we use deep link to all source pages.viewSource
to printViewSource
to clarify that it prints an HTML element.pageHeader
and pageFooter
parsers will now only emit icons for git, downloadUrl, and email if those items are setpageHeader
and pageFooter
parsers will now only emit icons for git, downloadUrl, and email if those items are setstrikethrough
parser to strike
strikethrough
parser to strike
loadConcepts
fixloadConcepts
fixrelatedParser
to relatedScrollFilesParser
to free up relatedParser
for userland.relatedList
to printRelatedList
relatedParser
to relatedScrollFilesParser
to free up relatedParser
for userland.relatedList
to printRelatedList
sortBy
to printConcepts
parsersortBy
to printConcepts
parserscroll init
generates a smaller sitescroll init
generates a smaller sitedescriptionParser
to openGraphParser
and titleParser
to pageTitleParser
to free up those names for userparserland.descriptionParser
to openGraphParser
and titleParser
to pageTitleParser
to free up those names for userparserland.buildJs
and script
parsersbuildJs
and script
parsersbuildCss
parserbuildCss
parserThis is a major breaking release meant to simplify and standardize a lot of the core Scroll concepts.
-buildHtml
parserbuildRss
parserimportOnly
on a file if the file uses no buildCommandParsers.snippets
=> printSnippets
fullSnippets
=> printFullSnippets
buildText
=> buildTxt
scroll build
will no longer write anything by default. You now need to explicitly include 1 or more buildCommands in your files, such as buildHtml
or buildTxt
.tags
parser in css themes. Instead of this:This is a major breaking release meant to simplify and standardize a lot of the core Scroll concepts.
+buildHtml
parserbuildRss
parserimportOnly
on a file if the file uses no buildCommandParsers.snippets
=> printSnippets
fullSnippets
=> printFullSnippets
buildText
=> buildTxt
scroll build
will no longer write anything by default. You now need to explicitly include 1 or more buildCommands in your files, such as buildHtml
or buildTxt
.tags
parser in css themes. Instead of this:permalink style.css
gazetteCss
tags false
-Do this:
+Do this:
buildCss style.css
gazetteCss
-date
is now derived from file creation timetitle
is now computed by un-camelcasing the filenamedate
is now derived from file creation timetitle
is now computed by un-camelcasing the filenameid
id
limit
parser to snippetslimit
parser to snippetswws
to its own repowws
to its own repowws
. Thank you Nick Noble!wws
. Thank you Nick Noble!writeText
is now buildText
writeConcepts
is now buildConcepts
writeMeasures
is now buildMeasures
buildFilesInFolder
now returns an object of all built files.writeText
is now buildText
writeConcepts
is now buildConcepts
writeMeasures
is now buildMeasures
buildFilesInFolder
now returns an object of all built files.scatterplot
can now take a url as a data sourcescatterplot
can now take a url as a data sourcescatterplot
parserscatterplot
parserstamp
mini languagestamp
mini languagesparkline
parser using beautiful tiny sparkline library by Marius Gundersen.sparkline
parser using beautiful tiny sparkline library by Marius Gundersen.sparkline 5 7 27 87 300 17 10 5
-grammar
to parsers
change.grammar
to parsers
change.grammar
it's just parsers
..grammar
now end in .parsers
.grammar
it's just parsers
..grammar
now end in .parsers
.formatAndSave
method.formatAndSave
method.wws
command line app.wws
command line app.downloadUrl
parser.canonicalLink
is now canonicalUrl
.homeLink
is now homeUrl
.downloadUrl
parser.canonicalLink
is now canonicalUrl
.homeLink
is now homeUrl
.jtree
with scrollsdk
jtree
with scrollsdk
classes
parserclasses
parserrequireOnce
abstractCustomListItemParser
for making HTML lists with custom markersrequireOnce
abstractCustomListItemParser
for making HTML lists with custom markerswriteConcepts
and writeMeasures
now strips blank values when generating JSON and/or JSwriteConcepts
and writeMeasures
now strips blank values when generating JSON and/or JStableSearch
now will save the sort order to the urltableSearch
now will save the sort order to the urlscroll format
command now also prettifies concepts and measurements in ScrollSets. If a measurement's sortIndex
jumps to a new integer (for example, 1.9 to 2.1), a newline will be inserted before it.sortIndex
is now 1.9, and the sort index of id
is 1.0. Update sortIndex
accordingly.scroll format
command now also prettifies concepts and measurements in ScrollSets. If a measurement's sortIndex
jumps to a new integer (for example, 1.9 to 2.1), a newline will be inserted before it.sortIndex
is now 1.9, and the sort index of id
is 1.0. Update sortIndex
accordingly.id
the filename (without the extension). Have the id be a simple one atom url friendly string. If you want a pretty title, add a name
measure. Everything much simpler this way.id
the filename (without the extension). Have the id be a simple one atom url friendly string. If you want a pretty title, add a name
measure. Everything much simpler this way.printAuthor
parser prints the author defined by author
. byLine
has been deprecated--replace with printAuthor
.author
parser now takes a URL.printAuthor
parser prints the author defined by author
. byLine
has been deprecated--replace with printAuthor
.author
parser now takes a URL.printDate
parserprintDate
parserhelpfulNotFound
now assumes the script can be found at the root of the domain.helpfulNotFound
now assumes the script can be found at the root of the domain.Scroll Datasets
to ScrollSets
.Scroll Datasets
to ScrollSets
.Coverage
in Measurements should round down.Coverage
in Measurements should round down.isMeasureRequired
.isMeasureRequired
.metaTags
from breaking try.scroll.pubslideshow
working on try.scroll.pubmetaTags
from breaking try.scroll.pubslideshow
working on try.scroll.pubslideshow
parserslideshow
parserprintTitle
in text filesprintTitle
in text filesidParser
and filenameParser
no longer ship in default grammar. This will allow for useful future dataset features. Instead, add them yourself if you are using Concepts like this:idParser
and filenameParser
no longer ship in default grammar. This will allow for useful future dataset features. Instead, add them yourself if you are using Concepts like this:idParser
extends abstractIdParser
filenameParser
extends abstractFilenameParser
-printTitle
printTitle
printTitle
parser added for easier templatestitle
is now a setter. This regex handles the migration:^title
printTitle\ntitle
printTitle
parser added for easier templatestitle
is now a setter. This regex handles the migration:^title
printTitle\ntitle
endSnippet
and does have a dinkus, it will now generate a snippet rather than using the whole post.endSnippet
and does have a dinkus, it will now generate a snippet rather than using the whole post.measureNames
. Restrict them from containing "_", which we use to combine nested measures.measureNames
. Restrict them from containing "_", which we use to combine nested measures.>
(with aftertext support)!>
(with aftertext support)!>
, those will now be parsed by the quickQuoteParser>
, those will now be parsed by the quickQuoteParserminutes
to read (assuming 200 atoms/minute) to printSearch
and printCsv
exportssitemap
for making sitemaps specific to certain folders/groupsprintFeed
, snippets
, fullSnippets
providing groups is now optionalminutes
to read (assuming 200 atoms/minute) to printSearch
and printCsv
exportssitemap
for making sitemaps specific to certain folders/groupsprintFeed
, snippets
, fullSnippets
providing groups is now optionalreplaceJs
now has access to the filepathreplaceJs
now has access to the filepathsortBy
can now sort on multiple columns and handle asc/descsortBy
can now sort on multiple columns and handle asc/descwriteConcepts
and writeMeasures
can now take multiple filenames in one line and also include a sortBy
condition.writeConcepts
and writeMeasures
can now take multiple filenames in one line and also include a sortBy
condition.id
measure was appearing twiceid
measure was appearing twicereplaceDefault
parser. No one should be affected.nodejs
parser to `replaceNodejs. Few should be affected.replaceDefault
parser. No one should be affected.nodejs
parser to `replaceNodejs. Few should be affected.keyboardNav
was in use. First implementation was accidentally quadratic.keyboardNav
was in use. First implementation was accidentally quadratic.printSearchTable
now generates correct links when searching across multiple foldersprintSearchTable
now generates correct links when searching across multiple folderstableSearch
now takes a parameter from the url #q=[search]
. Updating the searching box also updates url.tableSearch
now takes a parameter from the url #q=[search]
. Updating the searching box also updates url.printSearchTable
parserprintSearchTable
parserscroll test
and fix bug in percentAtom
scroll test
and fix bug in percentAtom
writeMeasures
and printMeasures
parsersabstractPercentageMeasureParser
writeMeasures
and printMeasures
parsersabstractPercentageMeasureParser
loadConcepts
parser for if you had a dataset split into many files in a folder.float sortIndex [int]
for sorting the measures(columns) in dataset generation. Lower sort indexes come first.loadConcepts
parser for if you had a dataset split into many files in a folder.float sortIndex [int]
for sorting the measures(columns) in dataset generation. Lower sort indexes come first.scroll test
will now report if an aftertext pattern has no matches.scroll test
will now report if an aftertext pattern has no matches.****
as an "end of post dinkus" which prints ⁂id
in concepts****
as an "end of post dinkus" which prints ⁂id
in conceptsscroll init
scroll init
id
parser for using datasets.[measureName]:
syntax introduced in version 77. You no longer have to worry about the annoyance that introduced when writing a paragraph such as "Sidenote: yada yada".belowAsCodeUntil
parserid
parser for using datasets.[measureName]:
syntax introduced in version 77. You no longer have to worry about the annoyance that introduced when writing a paragraph such as "Sidenote: yada yada".belowAsCodeUntil
parser::
parser. Now concepts are simply identified by the parser id
.writeDataset
is now writeConcepts
and printDataset
is now printConcepts
.[measureName]:
syntax introduced in version 77. To use datasets (aka Concept files) now, just extend Scroll parsers like you normally would. See this blog post for an example.openGraphImage
is no longer required. Will be auto-added if not present.::
parser. Now concepts are simply identified by the parser id
.writeDataset
is now writeConcepts
and printDataset
is now printConcepts
.[measureName]:
syntax introduced in version 77. To use datasets (aka Concept files) now, just extend Scroll parsers like you normally would. See this blog post for an example.openGraphImage
is no longer required. Will be auto-added if not present.link
under image
. Also added target
.openGraph
under an image
node as an alternative to adding a separate openGraphImage
linemediumColumns
parserthinColumns
parser.link
under image
. Also added target
.openGraph
under an image
node as an alternative to adding a separate openGraphImage
linemediumColumns
parserthinColumns
parser.Note: startColumns
will eventually be removed. You can now safely switch those to thinColumns
.
expander
parserNote: startColumns
will eventually be removed. You can now safely switch those to thinColumns
.
expander
parserAnything in the section will show up here. A blank line ends a section.
+Anything in the section will show up here. A blank line ends a section.
printTable
parserprintTable [index]
to print any existing tabular tables.printTable
will look for a table to print using this strategy:
npm install
npm install -g scroll-cli --production
fastendSnippet
was showing up in htmlformatCommand
to the CLI for nicely formatting files, moving top matter to the top, cleaning up white space, etc, so you don't have to worry about that.The current formatting conventions are:
-importOnly
, if present, is moved to the very topNote that currently the title
tag is a meta tag and a tag that prints content. Going to split that up into 2 tags soon.
Note that if you are doing something like a tutorial and using a belowAsCode
where you purposely put a top matter parser not at the top, it will currently get moved to the top by format. We can probably add a feature like treating meta nodes with // noFormat
as if they were content nodes.
related
and relatedList
parsersplainTextOnly
for rare case when you need to include content only for the plain text version.html
should not print in text versions (since it is html :)).thoughtParser
, that is now called paragraphParser
.helpfulNotFound
parser for better 404s.wordCount
in printCsv
now measures wordCount in the text version of a post.writeText
parser.Note: there are likely to be a few rapid releases to refine this.
-printSiteMap
parser for text sitemap generation.^(\t|[^ ]+\t)
Spreadsheets are great tools for working with tabular data. I want to copy/paste between Scroll docs and spreadsheets. This makes it easier.
-Tabular data is better than line orientation for experimental data because it requires half the number of tokens and it's more efficient eye movement during comparisons and proofreading.
-Scroll already supported tabular data using tabTable
, but that made copy/paste workflows between spreadsheets and text editors a pain. This should be more ergonomic and make it easier to work with this useful tool of thought.
::
, printDataset
, writeDataset
, and *:
and *::
parsers.Sidenote: yada yada.
, those will now be parsed incorrectly as measures. Just explicitly make them paragraphs * Sidenote: yada yada.
. This regex can help you find any instances: ^[^ ]+: .
The code below added to a page will create the zoom out effect:
+printTable
parserprintTable [index]
to print any existing tabular tables.printTable
will look for a table to print using this strategy:
npm install
npm install -g scroll-cli --production
fastendSnippet
was showing up in htmlformatCommand
to the CLI for nicely formatting files, moving top matter to the top, cleaning up white space, etc, so you don't have to worry about that.The current formatting conventions are:
+importOnly
, if present, is moved to the very topNote that currently the title
tag is a meta tag and a tag that prints content. Going to split that up into 2 tags soon.
Note that if you are doing something like a tutorial and using a belowAsCode
where you purposely put a top matter parser not at the top, it will currently get moved to the top by format. We can probably add a feature like treating meta nodes with // noFormat
as if they were content nodes.
related
and relatedList
parsersplainTextOnly
for rare case when you need to include content only for the plain text version.html
should not print in text versions (since it is html :)).thoughtParser
, that is now called paragraphParser
.helpfulNotFound
parser for better 404s.wordCount
in printCsv
now measures wordCount in the text version of a post.writeText
parser.Note: there are likely to be a few rapid releases to refine this.
+printSiteMap
parser for text sitemap generation.^(\t|[^ ]+\t)
Spreadsheets are great tools for working with tabular data. I want to copy/paste between Scroll docs and spreadsheets. This makes it easier.
+Tabular data is better than line orientation for experimental data because it requires half the number of tokens and it's more efficient eye movement during comparisons and proofreading.
+Scroll already supported tabular data using tabTable
, but that made copy/paste workflows between spreadsheets and text editors a pain. This should be more ergonomic and make it easier to work with this useful tool of thought.
::
, printDataset
, writeDataset
, and *:
and *::
parsers.Sidenote: yada yada.
, those will now be parsed incorrectly as measures. Just explicitly make them paragraphs * Sidenote: yada yada.
. This regex can help you find any instances: ^[^ ]+: .
The code below added to a page will create the zoom out effect:
css html {font-size: var(--scrollBaseFontSize, 8px);}
-***
parser to print a Dinkus***
parser to print a Dinkus
Now I will show an example.
@@ -1576,54 +1579,54 @@
***
Above is a dinkus.
-Now I will show an example.
+Now I will show an example.
Above is a dinkus.
-Above is a dinkus.
+thanksTo
parserthanksTo
parserplainText
parserprintSource
parser to be able to dump the source code for a group of posts to a plain text file.plainText
parserprintSource
parser to be able to dump the source code for a group of posts to a plain text file.printCsv
parser to make it as easy to generate a CSV of a blog as it is to generate an RSS feedprintCsv
parser to make it as easy to generate a CSV of a blog as it is to generate an RSS feed
was present in RSS pages. Thank you to Joao for the report.
was present in RSS pages. Thank you to Joao for the report.This paragraph has a dropcap. It can be a useful visual aid for the reader to break up sections. You can read more about dropcaps on Wikipedia.
-wrapsOn
you can now provide parameters to specify only the wraps you want, if any.katex
node in a file. So any paragraph containing multiple $ will now behave as before katex wraps were added.This paragraph has a dropcap. It can be a useful visual aid for the reader to break up sections. You can read more about dropcaps on Wikipedia.
+wrapsOn
you can now provide parameters to specify only the wraps you want, if any.katex
node in a file. So any paragraph containing multiple $ will now behave as before katex wraps were added.wideColumns
parserwideColumns
parser2*4*2
or inline \KaTeX X_{2_i}.2*4*2
or inline \KaTeX X_{2_i}.katex
node in your file and will load the KaTeX code.katex
node in your file and will load the KaTeX code.program
parser for Program Links. See blog post for details.<!DOCTYPE html>
to improve performance on Google Lighthouse.<html lang></html>
back as you need that to get proper hyphenation. Added test.htmlLang
parser for overriding the default lang which is set to "en"text-align: justify;
on paragraphs to Gazette and Tufte themes.tufteCss
beta theme.###
, ####
and #####
headers.title
can be thought of as h0
.gazetteHeader
is now pageHeader
and gazetteFooter
is now pageFooter
. Headers and footers can be independent of themes.program
parser for Program Links. See blog post for details.<!DOCTYPE html>
to improve performance on Google Lighthouse.<html lang></html>
back as you need that to get proper hyphenation. Added test.htmlLang
parser for overriding the default lang which is set to "en"text-align: justify;
on paragraphs to Gazette and Tufte themes.tufteCss
beta theme.###
, ####
and #####
headers.title
can be thought of as h0
.gazetteHeader
is now pageHeader
and gazetteFooter
is now pageFooter
. Headers and footers can be independent of themes.\n\*
\n
.\n\* [a-z]
search first to find any paragraphs that start with a lowercase letter.<!
, as they will be parsed as HTML nodes.katex
parser. KaTeX: "The fastest math typesetting library for the web."katex
parser. KaTeX: "The fastest math typesetting library for the web."tag
parser to thought nodes so you can change the compiled html tag (needed in rare circumstances)thought
parser and standardized vocab to calling the thought node the main node that most nodes extend.style
parser to provide inline html styles to a thought node.tag
parser to thought nodes so you can change the compiled html tag (needed in rare circumstances)thought
parser and standardized vocab to calling the thought node the main node that most nodes extend.style
parser to provide inline html styles to a thought node.No one should be affected. This was an internal rewrite to upstream the imports code to ParticleFileSystem
in Jtree. No changes for Scroll users.
scrollKeywords
is no longer exportedDefaultScrollCompiler
is now DefaultScrollParser
ScrollDiskFileSystem
and ScrollInMemoryFileSystem
replaced by ScrollFileSystem
No one should be affected. This was an internal rewrite to upstream the imports code to ParticleFileSystem
in Jtree. No changes for Scroll users.
scrollKeywords
is no longer exportedDefaultScrollCompiler
is now DefaultScrollParser
ScrollDiskFileSystem
and ScrollInMemoryFileSystem
replaced by ScrollFileSystem
Simplify theme building.
-gazetteTheme
is now gazetteCss
.Simplify theme building.
+gazetteTheme
is now gazetteCss
.// Change `gazetteTheme noTags` to:
gazetteCss
tags false
Maintenance release. Update packages and remove unused package and specify required NodeJs versions accurately.
+Maintenance release. Update packages and remove unused package and specify required NodeJs versions accurately.
This is The Theme Release.
-author
node is now byLine
. author
is kept for now but updating is recommended.scrollCssTag
is gone. use gazetteTheme
for previous behavior. scrollCss
is gone, use gazetteTheme noTag
.gazetteTheme
now contains that CSS code.scrollHeader
is now gazetteHeader
and scrollFooter
is now gazetteFooter
scrollHeaderComponent
=> gazetteHeader
, scrollFooterComponent
=> gazetteFooter
kpiTable
is now dashboard
This is The Theme Release.
+author
node is now byLine
. author
is kept for now but updating is recommended.scrollCssTag
is gone. use gazetteTheme
for previous behavior. scrollCss
is gone, use gazetteTheme noTag
.gazetteTheme
now contains that CSS code.scrollHeader
is now gazetteHeader
and scrollFooter
is now gazetteFooter
scrollHeaderComponent
=> gazetteHeader
, scrollFooterComponent
=> gazetteFooter
kpiTable
is now dashboard
Node
to Parser
).Node
to Parser
).abstractScrollWithRequirementsNode
and use it for copyButtons
and map
to only include the external JS and CSS once.compileSettings
as an input in all Scroll nodes rather than maintaining state on instancesabstractScrollWithRequirementsNode
and use it for copyButtons
and map
to only include the external JS and CSS once.compileSettings
as an input in all Scroll nodes rather than maintaining state on instancesThis was a big internal refactor to remove the outdated concept of ScrollFolder
and rely on the file system parameter instead. This makes it easier to build webapps serving dynamic Scroll pages. It also simplifies the upcoming isomorphic release.
ScrollFolder
. Exports now include ScrollDiskFileSystem
and ScrollInMemoryFileSystem
. To get the same behavior as new ScrollFolder("folder").buildFiles()
use new ScrollDiskFileSystem().buildFilesInFolder("folder")
.This was a big internal refactor to remove the outdated concept of ScrollFolder
and rely on the file system parameter instead. This makes it easier to build webapps serving dynamic Scroll pages. It also simplifies the upcoming isomorphic release.
ScrollFolder
. Exports now include ScrollDiskFileSystem
and ScrollInMemoryFileSystem
. To get the same behavior as new ScrollFolder("folder").buildFiles()
use new ScrollDiskFileSystem().buildFilesInFolder("folder")
.new ScrollFolder(__dirname).defaultScrollCompiler
use DefaultScrollCompiler
compileSnippet
should now be compileEmbeddedVersion
compileSnippet
should now be compileEmbeddedVersion
file.folder.folder
use file.folderPath
loop
may be affected:relativeLink
to linkRelativeToCompileTarget
loop
may be affected:relativeLink
to linkRelativeToCompileTarget
canonicalUrl
if you need to include query strings in canonical link.canonicalUrl
if you need to include query strings in canonical link.canonicalUrl https://scroll.pub/tests/maps.html?canonLinkTest=true
-map
using LeafletJSmap
using LeafletJScopyButtons
parser. Use that to give code blocks a copy-to-clipboard button on hover.copyButtons
parser. Use that to give code blocks a copy-to-clipboard button on hover.nodejs
node for including small node.js scripts inside a Scroll file, similar to a PHP snippet. . The snippet is written to disk and then require is used to run it. Exports variables are then replaced throughout the script.nodejs
node for including small node.js scripts inside a Scroll file, similar to a PHP snippet. . The snippet is written to disk and then require is used to run it. Exports variables are then replaced throughout the script.ScrollFolder
constructor now requires an argument. You can now pass an object as a second param to use a virtual filesystem.DefaultScrollCompiler
export. Instead use new ScrollFolder().defaultScrollCompiler
ScrollFolder
constructor now requires an argument. You can now pass an object as a second param to use a virtual filesystem.DefaultScrollCompiler
export. Instead use new ScrollFolder().defaultScrollCompiler
buildNeeded
method only used programmatically by PLDB. Switching that to dynamic generation which is a better pattern.buildNeeded
method only used programmatically by PLDB. Switching that to dynamic generation which is a better pattern.quickHtml
node. A line starting with <
will be treated as an html
node. So these are the same:quickHtml
node. A line starting with <
will be treated as an html
node. So these are the same:html <hr>
<hr>
-*
) node.---
*
) node.---
//
. Previously it was only comment
//
. Previously it was only comment
scroll init
now creates a .gitignore
file and also runs git init
.scroll init
now creates a .gitignore
file and also runs git init
.image
parser now supports class
and id
tagsclass
tag with just a class will now apply to the whole parent element and not insert a spanimage
parser now supports class
and id
tagsclass
tag with just a class will now apply to the whole parent element and not insert a spanabstractItemsProviderNode
abstractItemsProviderNode
[]
and [x]
-
are now indentable[]
and [x]
-
are now indentableloop
node type:loop
node type:loop
atoms #2a2d34ff #009ddcff #f26430ff #6761a8ff #009b72ff
javascript `<span style="background-color: ${item}; width: 30px; height: 30px; display: inline-block;"> </span>`
-loop
-startColumns
clear the section stack. Simpler behavior.loop
+startColumns
clear the section stack. Simpler behavior.getFullyExpandedFile
is no longer exported. Instead use: new ScrollFile(undefined, filePath).importResults.code
ScrollFile
have changed. absoluteFilePath
is now param #2, instaed of #3.getFullyExpandedFile
is no longer exported. Instead use: new ScrollFile(undefined, filePath).importResults.code
ScrollFile
have changed. absoluteFilePath
is now param #2, instaed of #3.css
one linerscss
one liners🎉 added support for `css` one liners
class blueOneLiner
css .blueOneLiner { color: blue;}
title
nodes are now proper aftertext nodes and can use all features of aftertexthidden
parser can now be used on any aftertext nodepermalink
on a file the title
node won't output an a tagtitle
blocks now start a section like #
and ##
, so you may need to add an empty line to end the section, for example if you previously had a startColumns
right after the title tag.snippets
nodes can now accept multiple groups and also groups can be in different folders. Syntax is [folderPath]/[groupName]
For example:title
nodes are now proper aftertext nodes and can use all features of aftertexthidden
parser can now be used on any aftertext nodepermalink
on a file the title
node won't output an a tagtitle
blocks now start a section like #
and ##
, so you may need to add an empty line to end the section, for example if you previously had a startColumns
right after the title tag.snippets
nodes can now accept multiple groups and also groups can be in different folders. Syntax is [folderPath]/[groupName]
For example:# The Long Beach Pub
snippets 2023/index stories/index 2022/index
-jtree
66. If you are extending Scroll you may need to migrate extensions.jtree
66. If you are extending Scroll you may need to migrate extensions.scroll init
scroll init
aboveAsCode
and belowAsCode
now take an optional number for showing multiple nodes.aboveAsCode
and belowAsCode
now take an optional number for showing multiple nodes.1. One
2. Two
3. Three
-table
grammar error messagetable
grammar error messagetable
parser which supports custom delimiters:table
parser which supports custom delimiters:table
delimiter &&
@@ -1903,208 +1906,208 @@
name&&score
kaia&&400
pemma&&100
-class
aftertext directive now inserts a span across the whole element content if no text search is provided.class
aftertext directive now inserts a span across the whole element content if no text search is provided.css
.classDemo {color:blue;}
This whole text will be blue.
class classDemo
-This whole text will be blue.
-This whole text will be blue.
+replaceJs
parser.