Research
Security News
Malicious npm Packages Inject SSH Backdoors via Typosquatted Libraries
Socket’s threat research team has detected six malicious npm packages typosquatting popular libraries to insert SSH backdoors.
@ulu/sassdoc-to-markdown
Advanced tools
A flexible SCSS documentation tool that generates clean, customizable Markdown from your Sass stylesheets. It leverages SassDoc for data extraction and offers various configuration options to tailor the output to your specific needs
A flexible SCSS documentation tool that generates clean, customizable Markdown from your Sass stylesheets. It leverages SassDoc for data extraction and offers various configuration options to tailor the output to your specific needs.
/// @group util - Shared Utilities
import { resolve, dirname } from "path";
import { fileURLToPath } from "url";
import { outputPages } from "@ulu/sassdoc-to-markdown";
const __dirname = dirname(fileURLToPath(import.meta.url));
(async () => {
await outputPages({
dist: resolve(__dirname, "docs/"),
dir: resolve(__dirname, "src/sass/"),
pathBase: "/sass/"
});
})();
/// In addition to the code block example this example will show the compiled result. Note the {compile} modifier on the example. It also uses the compiler annotation to load the module for the compiled example. Content in the compiler annotation are prepended to the compiled code for the item or group if at file-level)
/// @compiler
/// @use "_this-file" as examples;
/// @example scss {compile} This example will be compiled
/// @include examples.print-color(red);
@mixin print-color($value) {
.test {
color: $value;
}
}
/// In addition to the html example this will also be previewed in an iframe. Note the {preview} modifier. Settings are available to add stylesheet and javascript to iframe. Iframe used for isolation from docs styles.
/// @example html {preview} This example will be previewed
/// <span class="test">This is a test</span>
@mixin some-mixin($value) {
.test {
color: red;
}
}
The following options can be passed to configure this generator. Also you can see the full defaults at /lib/defaults.js
.
Name | Type | Default Value | Description |
---|---|---|---|
dist | string | "" | The directory to output documentation pages |
dir | string | "" | The directory that sassdocs will parse and make pages from |
debug | boolean | false | Plugin development flag (output logs, etc) |
debugToDir | string | null | Print out plugin/sassdoc data (used for developing plugin) |
pathBase | string | "/sass/" | Path to prefix to all paths generated for sassdocs |
byType | boolean | true | Whether or not the documented items should be organized by type (variable, mixin, etc) or should display in the order they were parsed |
sassdocOptions | object | { verbose: true } | Sassdoc library options |
contentEnabled | boolean | true | Include comment blocks that are between sassdoc items |
contentInline | boolean | true | Extra content should all be displayed above items (ie. variables, mixins, etc) even if it is in between documented items |
previewEnabled | boolean | true | Output preview of html code from an example |
previewTemplate | function | (code, ctx) => <div>\n${ code }\n</div> | Template to use for html previews |
previewTitle | string | "Preview" | Title for preview |
undefinedGroupName | string | "None" | Name for undefined groups |
annotations | string[] | ["name", "description", ...] | Controls order and which annotations are printed |
showSourceCode | string[] | ["placeholder", "css", ...] | The documentation types that should display source code |
customAnnotations | function[] | [] | Provide annotation functions (see sassdoc docs for modifying or introducing your own annotations). If you make your own provide a template for output in annotationTemplates |
pageTemplates | object | {} | Provides an object of markdown template functions for any of the page level templates provided by this library (ie. group, section, item). See /lib/templates/page/ for examples. |
annotationTemplates | object | {} | Provides an object of markdown template functions for native sassdoc annotations, custom annotations provided by this library or your own custom annotations. See /lib/templates/annotations/ for examples. |
pageTitleFormatter | function | titleCase | Callback function used to format the page title (from the group name) |
itemTitle | function | (data) => ... | Function to format item titles |
compiler | function | compile | Set custom compiler for sass |
compilerOptions | object | { additionalData: null, ... } | Options passed to sass for compiled sass examples |
sort | function | (a,b) => ... | Callback used to sort (array method) the pages before adding to Vuepress |
outputFiles | boolean | true | Can be used to disable output, ie. using build end to do something manually |
outputTemplate | function | ({ frontmatter, content }) => ... | Template for markdown files |
buildEnd | function | (data) => ... | Callback when page's have been generated/sorted before output |
resolveLink | function | (item, options) => ... | Method to override how links to items are created |
hidePrivate | boolean | false | Whether or not to show items that are flagged with @access private . Will also hide the printout of access in template since all will be public |
hidePrivateKeepGroup | boolean | false | If hiding private, and a private item is the only member of a group this setting will determine if the group is still created. Used for workaround using this to print empty groups (provide info about stylesheets/group which doesn't have mixins/variables/etc [for example if the module just calls a mixin], accomplished by adding private access dummy mixin to scss module so that sassdoc outputs items for the group and enabling this and hidePrivate ) |
FAQs
A flexible SCSS documentation tool that generates clean, customizable Markdown from your Sass stylesheets. It leverages SassDoc for data extraction and offers various configuration options to tailor the output to your specific needs
We found that @ulu/sassdoc-to-markdown demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 0 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Security News
Socket’s threat research team has detected six malicious npm packages typosquatting popular libraries to insert SSH backdoors.
Security News
MITRE's 2024 CWE Top 25 highlights critical software vulnerabilities like XSS, SQL Injection, and CSRF, reflecting shifts due to a refined ranking methodology.
Security News
In this segment of the Risky Business podcast, Feross Aboukhadijeh and Patrick Gray discuss the challenges of tracking malware discovered in open source softare.