Security News
UK Officials Consider Banning Ransomware Payments from Public Entities
The UK is proposing a bold ban on ransomware payments by public entities to disrupt cybercrime, protect critical services, and lead global cybersecurity efforts.
astro-rehype-relative-markdown-links
Advanced tools
A rehype plugin built for Astro that aims to transform relative links in MD and MDX files into the proper URL path
This is a rehype plugin built for Astro that aims to transform relative links in MD and MDX files into their final output paths.
🚨 This is experimental and build exclusively for Astro. I have made a couple assumptions. They are:
src/content/<content_collection>
src/pages/<content_collection>/[...slug].astro
If you have a markdown files at src/content/blog/post.md
with the content of:
[relative link](./other-markdown.md)
The resulting HTML should be:
<a href="/blog/other-markdown">relative link</a>
It supports links with Query Strings and Hashes (e.g. [relative link](./other-markdown.md?query=test#hash)
).
Tested with Node.js v18 and v20 and Astro 2.x+.
Yarn
yarn add astro-rehype-relative-markdown-links
PNPM
pnpm add astro-rehype-relative-markdown-links
NPM
npm install astro-rehype-relative-markdown-links
astro.config.mjs
import rehypeAstroRelativeMarkdownLinks from "astro-rehype-relative-markdown-links";
// ...everything else
export default defineConfig({
// ...everything else
markdown: {
rehypePlugins: [rehypeAstroRelativeMarkdownLinks],
},
});
See documentation for more information on the available configuration options.
To set custom options, pass an object to the plugin like below:
const options = {
// ...
};
export default defineConfig({
// ...everything else
markdown: {
rehypePlugins: [[rehypeAstroRelativeMarkdownLinks, options]],
},
});
Using Yarn in example (sorry).
DEBUG=astro-rehype-relative-markdown-links yarn build
# or
DEBUG=astro-rehype-relative-markdown-links yarn dev
rehype-astro-relative-markdown-links
in the past. I've changed this due to rehype's naming guidelines.v0.9.0
In PR #3 (based on issue #2), special case handling of index files was
added where the index
would be stripped from the URL. For example, src/content/collection/dir/index.md
would be
transformed into /collection/dir
. This functionality was applied to index.md
files both at the content collection
root and content collection subdirectories.
In PR #17, applying this functionality to
index.md
at the collection root was removed based on the way Astro handles content at site/collection root vs. subdirectories
(see this issue).
If you want to have your collection root index.md
be transformed without the index
slug, utilitize
the slug frontmatter option provided by
Astro setting your slug to empty string (''
) and ensure your getStaticPaths()
returns undefined
for the slug of
the content collection root index.md
.
v0.13.3 (2024-05-03)
Merged pull requests:
FAQs
A rehype plugin built for Astro that aims to transform relative links in MD and MDX files into the proper URL path
The npm package astro-rehype-relative-markdown-links receives a total of 2,212 weekly downloads. As such, astro-rehype-relative-markdown-links popularity was classified as popular.
We found that astro-rehype-relative-markdown-links 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.
Security News
The UK is proposing a bold ban on ransomware payments by public entities to disrupt cybercrime, protect critical services, and lead global cybersecurity efforts.
Security News
Snyk's use of malicious npm packages for research raises ethical concerns, highlighting risks in public deployment, data exfiltration, and unauthorized testing.
Research
Security News
Socket researchers found several malicious npm packages typosquatting Chalk and Chokidar, targeting Node.js developers with kill switches and data theft.