diff --git a/.eslintignore b/.eslintignore index 21676bc..eaaadae 100644 --- a/.eslintignore +++ b/.eslintignore @@ -4,12 +4,17 @@ .yarn/ .yarnrc .yarnrc.yml +/.language/ /_site/ +/data/ /old_source/ /source/_data/versionCache.json +/source/assets/dist/ +/source/assets/js/vendor/** +/source/assets/sass/vendor/ +/source/blog/*.md +/source/documentation/js-api coverage/ node_modules/ -source/assets/dist/ -source/assets/js/vendor/** -!source/assets/js/vendor/index.js -source/assets/sass/vendor/ + +!/source/assets/js/vendor/index.js diff --git a/.gitignore b/.gitignore index d4eb89f..8a3b2d5 100644 --- a/.gitignore +++ b/.gitignore @@ -16,10 +16,11 @@ Thumbs.db /.yardoc /vendor/bundle/ /source/documentation/js-api +/.language/ # Eleventy /_site/ -source/assets/dist/ +/source/assets/dist/ # NPM/Yarn node_modules/ diff --git a/.prettierignore b/.prettierignore index ac98b08..d8d20b7 100644 --- a/.prettierignore +++ b/.prettierignore @@ -4,14 +4,17 @@ .yarn/ .yarnrc .yarnrc.yml +/.language/ /_site/ /data/ /old_source/ /source/_data/versionCache.json +/source/assets/dist/ +/source/assets/js/vendor/** +/source/assets/sass/vendor/ /source/blog/*.md +/source/documentation/js-api coverage/ node_modules/ -source/assets/dist/ -source/assets/js/vendor/** -!source/assets/js/vendor/index.js -source/assets/sass/vendor/ + +!/source/assets/js/vendor/index.ts diff --git a/.stylelintignore b/.stylelintignore index 21676bc..d8d20b7 100644 --- a/.stylelintignore +++ b/.stylelintignore @@ -4,12 +4,17 @@ .yarn/ .yarnrc .yarnrc.yml +/.language/ /_site/ +/data/ /old_source/ /source/_data/versionCache.json +/source/assets/dist/ +/source/assets/js/vendor/** +/source/assets/sass/vendor/ +/source/blog/*.md +/source/documentation/js-api coverage/ node_modules/ -source/assets/dist/ -source/assets/js/vendor/** -!source/assets/js/vendor/index.js -source/assets/sass/vendor/ + +!/source/assets/js/vendor/index.ts diff --git a/package.json b/package.json index 53ec464..4cf2f88 100644 --- a/package.json +++ b/package.json @@ -24,6 +24,7 @@ "build-dev:scripts": "rollup -c", "build-prod:scripts": "BABEL_ENV=production rollup -c", "watch:scripts": "npm run build-dev:scripts -- -w", + "build:typedoc": "./tool/typedoc-build.sh", "build:11ty": "NODE_OPTIONS='-r ts-node/register' eleventy", "watch:11ty": "yarn build:11ty --serve --incremental", "tsc": "tsc", @@ -84,7 +85,6 @@ "stylelint-config-standard-scss": "^9.0.0", "truncate-html": "^1.0.4", "ts-node": "^10.9.1", - "typedoc": "^0.24.7", "typescript": "^5.0.4", "typogr": "^0.6.8" }, diff --git a/source/_includes/compatibility.liquid b/source/_includes/compatibility.liquid index b4b9adc..9d106fa 100644 --- a/source/_includes/compatibility.liquid +++ b/source/_includes/compatibility.liquid @@ -14,17 +14,26 @@
{{ libsass | implStatus }}
{%- endif -%} + {%- if node != null -%} +
+
Node Sass
+
{{ node | implStatus }}
+
+ {%- endif -%} {%- if ruby != null -%}
Ruby Sass
{{ ruby | implStatus }}
{%- endif -%} - {%- if details -%} -
{% # The no-op href here ensures that this toggle is focusable in browsers. %}
+ {%- if details | strip -%} + {%- # The no-op href here ensures that this toggle is focusable in browsers. -%} +
{%- endif -%} -{% if details %} -
{{ details | markdown }}
-{% endif %} +{%- if details | strip -%} +
+ {{ details | markdown }} +
+{%- endif -%} diff --git a/source/_includes/heads_up.liquid b/source/_includes/heads_up.liquid index ef14dcd..c0fc357 100644 --- a/source/_includes/heads_up.liquid +++ b/source/_includes/heads_up.liquid @@ -1,4 +1,4 @@

⚠️ Heads up!

- {{ contents }} + {% if useMarkdown %}{{ contents | markdown }}{% else %}{{ contents }}{% endif %}
diff --git a/source/assets/sass/vendor/typedoc/_highlight.scss b/source/assets/sass/vendor/typedoc/_highlight.scss index f20c407..a5c2af7 100644 --- a/source/assets/sass/vendor/typedoc/_highlight.scss +++ b/source/assets/sass/vendor/typedoc/_highlight.scss @@ -1,16 +1,16 @@ @use '../syntax-accessible'; // Colors updated to match the standard Sass styling. -.typedoc pre { @extend .token; } +.typedoc pre { @extend [class*="language-"] } -.hl-0 { @extend .keyword; } -.hl-1 { @extend .punctuation; } -.hl-2 { @extend .variable; } -.hl-3 { @extend .function; } -.hl-4 { @extend .keyword; } -.hl-5 { @extend .string; } -.hl-6 { @extend .keyword; } -.hl-7 { @extend .comment; } -.hl-8 { @extend .variable; } -.hl-9 { @extend .comment; } -.hl-10 { @extend .variable; } +.hl-0 { @extend .token, .keyword; } +.hl-1 { @extend .token, .punctuation; } +.hl-2 { @extend .token, .variable; } +.hl-3 { @extend .token, .function; } +.hl-4 { @extend .token, .keyword; } +.hl-5 { @extend .token, .string; } +.hl-6 { @extend .token, .keyword; } +.hl-7 { @extend .token, .comment; } +.hl-8 { @extend .token, .variable; } +.hl-9 { @extend .token, .comment; } +.hl-10 { @extend .token, .variable; } diff --git a/source/documentation/documentation.11tydata.yml b/source/documentation/documentation.11tydata.yml index 494fee0..892ebac 100644 --- a/source/documentation/documentation.11tydata.yml +++ b/source/documentation/documentation.11tydata.yml @@ -5,20 +5,20 @@ navigation: |

Contents

- [Syntax](/documentation/syntax){.section} - - [Overview](/documentation/syntax) + - [Overview](/documentation/syntax) {.overview} - [Parsing a Stylesheet](/documentation/syntax/parsing) - [Structure of a Stylesheet](/documentation/syntax/structure) - [Comments](/documentation/syntax/comments) - [Special Functions](/documentation/syntax/special-functions) - [Style Rules](/documentation/style-rules){.section} - - [Overview](/documentation/style-rules) + - [Overview](/documentation/style-rules) {.overview} - [Property Declarations](/documentation/style-rules/declarations) - [Parent Selector](/documentation/style-rules/parent-selector) - [Placeholder Selectors](/documentation/style-rules/placeholder-selectors) - [Variables](/documentation/variables) - [Interpolation](/documentation/interpolation) - [At-Rules](/documentation/at-rules){.section} - - [Overview](/documentation/at-rules) + - [Overview](/documentation/at-rules) {.overview} - [@use](/documentation/at-rules/use) - [@forward](/documentation/at-rules/forward) - [@import](/documentation/at-rules/import) @@ -30,14 +30,14 @@ navigation: | - [@debug](/documentation/at-rules/debug) - [@at-root](/documentation/at-rules/at-root) - [Flow Control](/documentation/at-rules/control) - - [Overview](/documentation/at-rules/control) + - [Overview](/documentation/at-rules/control) {.overview} - [@if and @else](/documentation/at-rules/control/if) - [@each](/documentation/at-rules/control/each) - [@for](/documentation/at-rules/control/for) - [@while](/documentation/at-rules/control/while) - [From CSS](/documentation/at-rules/css) - [Values](/documentation/values){.section} - - [Overview](/documentation/values) + - [Overview](/documentation/values) {.overview} - [Numbers](/documentation/values/numbers) - [Strings](/documentation/values/strings) - [Colors](/documentation/values/colors) @@ -48,14 +48,14 @@ navigation: | - [Calculations](/documentation/values/calculations) - [Functions](/documentation/values/functions) - [Operators](/documentation/operators){.section} - - [Overview](/documentation/operators) + - [Overview](/documentation/operators) {.overview} - [Equality](/documentation/operators/equality) - [Relational](/documentation/operators/relational) - [Numeric](/documentation/operators/numeric) - [String](/documentation/operators/string) - [Boolean](/documentation/operators/boolean) - [Built-In Modules](/documentation/modules){.section} - - [Overview](/documentation/modules) + - [Overview](/documentation/modules) {.overview} - [sass:color](/documentation/modules/color) - [sass:list](/documentation/modules/list) - [sass:map](/documentation/modules/map) @@ -64,7 +64,7 @@ navigation: | - [sass:selector](/documentation/modules/selector) - [sass:string](/documentation/modules/string) - [Breaking Changes](/documentation/breaking-changes){.section} - - [Overview](/documentation/breaking-changes) + - [Overview](/documentation/breaking-changes) {.overview} - [Strict Unary Operators](/documentation/breaking-changes/strict-unary) - [Random With Units](/documentation/breaking-changes/random-with-units) - [Invalid Combinators](/documentation/breaking-changes/bogus-combinators) @@ -75,7 +75,7 @@ navigation: | - [Extending Compound Selectors](/documentation/breaking-changes/extend-compound) - [CSS Variable Syntax](/documentation/breaking-changes/css-vars) - [Command Line](/documentation/cli){.section} - - [Overview](/documentation/cli) + - [Overview](/documentation/cli) {.overview} - [Dart Sass](/documentation/cli/dart-sass) - [Ruby Sass](/documentation/cli/ruby-sass) - [Migrator](/documentation/cli/migrator) diff --git a/source/documentation/index.md b/source/documentation/index.liquid similarity index 80% rename from source/documentation/index.md rename to source/documentation/index.liquid index 727486f..e16abeb 100644 --- a/source/documentation/index.md +++ b/source/documentation/index.liquid @@ -10,6 +10,7 @@ introduction: > makes it easy to share design within and across projects. --- +{% markdown %} - If you're looking for an introduction to Sass, check out [the tutorial](/guide). @@ -40,18 +41,26 @@ may be some behavioral differences. Anywhere behavior differs between versions or implementations, the documentation includes a compatibility indicator like this: +{% endmarkdown %} -{% compatibility true, '3.6.0', false, 'Feature Name'%}{% endcompatibility %} +{% # Arguments are (in order): `dart`, `libsass`, `node`, `ruby`, optional feature name, additional details within %} +{% compatibility true, '3.6.0', null, false, 'Feature Name' %}{% endcompatibility %} +{% markdown %} Implementations with a "✓" fully support the feature in question, and implementations with a "✗" don't support it all. Implementations with a version number started supporting the feature in question at that version. Implementations can also be marked as "partial": +{% endmarkdown %} -{% # Arguments are (in order): `dart`, `libsass`, `ruby`, optional feature name, additional details within %} -{% compatibility true, 'partial', false%}Additional details go here.{% endcompatibility %} +{% # Arguments are (in order): `dart`, `libsass`, `node`, `ruby`, optional feature name, additional details within %} +{% compatibility true, 'partial', null, false %} +Additional details go here. +{% endcompatibility %} +{% markdown %} This indicates that the implementation only supports some aspects of the feature. These compatibility indicators (and many others) have a "▶" button, which can be clicked to show more details about exactly how the implementations differ and which versions support which aspects of the feature in question. +{% endmarkdown %} diff --git a/source/documentation/snippets/module-system-status.liquid b/source/documentation/snippets/module-system-status.liquid index 42cf26c..c04262d 100644 --- a/source/documentation/snippets/module-system-status.liquid +++ b/source/documentation/snippets/module-system-status.liquid @@ -1,5 +1,5 @@ -{% # Arguments are (in order): `dart`, `libsass`, `ruby` %} -{% compatibility '1.23.0', false, false %} +{% # Arguments are (in order): `dart`, `libsass`, `node`, `ruby`, optional feature name, additional details within %} +{% compatibility '1.23.0', false, null, false %} Only Dart Sass currently supports `@use`. Users of other implementations must use the [`@import` rule][] instead. diff --git a/source/documentation/style-rules/declarations.liquid b/source/documentation/style-rules/declarations.liquid index dc68100..23743ac 100644 --- a/source/documentation/style-rules/declarations.liquid +++ b/source/documentation/style-rules/declarations.liquid @@ -2,12 +2,12 @@ title: Property Declarations table_of_contents: true introduction: > - In Sass as in CSS, property declarations define how elements that match a selector are styled. But Sass adds extra features to make them easier to write and to automate. First and foremost, a declaration's value can be any [SassScript expression](../../syntax/structure#expressions), which will be + In Sass as in CSS, property declarations define how elements that match a selector are styled. But Sass adds extra features to make them easier to write and to automate. First and foremost, a declaration's value can be any [SassScript expression](/documentation/syntax/structure#expressions), which will be evaluated and included in the result. complementary_content: |