Installations
npm install @yathomasi/gatsby-remark-relative-images
Developer Guide
Typescript
No
Module System
CommonJS
Node Version
14.20.0
NPM Version
6.14.17
Releases
Unable to fetch releases
Contributors
Unable to fetch Contributors
Languages
TypeScript (98.66%)
JavaScript (1.34%)
Developer
Download Statistics
Total Downloads
790
Last Day
3
Last Week
10
Last Month
22
Last Year
143
GitHub Statistics
79 Stars
81 Commits
28 Forks
4 Watching
1 Branches
13 Contributors
Bundle Size
431.42 kB
Minified
128.36 kB
Minified + Gzipped
Package Meta Information
Latest Version
2.1.3
Package Id
@yathomasi/gatsby-remark-relative-images@2.1.3
Unpacked Size
19.54 kB
Size
6.14 kB
File Count
10
NPM Version
6.14.17
Node Version
14.20.0
Total Downloads
Cumulative downloads
Total Downloads
790
Last day
-40%
3
Compared to previous day
Last week
100%
10
Compared to previous week
Last month
120%
22
Compared to previous month
Last year
-37.8%
143
Compared to previous year
Daily Downloads
Weekly Downloads
Monthly Downloads
Yearly Downloads
gatsby-remark-relative-images
Convert image src(s) in markdown/html/frontmatter to be relative to their node's parent directory. This will help gatsby-remark-images match images outside the node folder. This was built for use with NetlifyCMS and should be considered a temporary solution until relative paths are supported. If it works for other use cases then great!
Features
- Converts markdown/mdx images
- Converts
src
in markdown/mdx html<img />
tags - Converts frontmatter fields, supports nested fields
- Suports Unicode characters
- Frontmatter field filters (include/exclude)
v2 Breaking Changes:
The fmImagesToRelative()
function has been removed, it is no longer needed.
NOTE: v2 greatly simplifies things and seems to work well for my use-case (NetlifyCMS), if you were previously using this plugin for something else that no longer works with v2, please open an issue and let me know and I will try to accomodate your use-case. Thanks.
Install
1# Install v2 (Recommended) 2yarn add gatsby-remark-relative-images 3 4# Install v1 (TS refactor, but quickly found more things to simplfy, skip) 5npm i gatsby-remark-relative-images@1.1.1 6 7# Install original (a bit hacky but have previously worked for most) 8npm i gatsby-remark-relative-images@0.3.0 9npm i gatsby-remark-relative-images@0.2.0
Usage Example
This usage example is for v2 of this plugin.
/gatsby-config.js
1module.exports = { 2 plugins: [ 3 // Add static assets before markdown files 4 { 5 resolve: 'gatsby-source-filesystem', 6 options: { 7 path: `${__dirname}/static/uploads`, 8 name: 'uploads', 9 }, 10 }, 11 { 12 resolve: 'gatsby-source-filesystem', 13 options: { 14 path: `${__dirname}/src/pages`, 15 name: 'pages', 16 }, 17 }, 18 { 19 resolve: `gatsby-transformer-remark`, 20 options: { 21 plugins: [ 22 // gatsby-remark-relative-images must go before gatsby-remark-images 23 { 24 resolve: `gatsby-remark-relative-images`, 25 options: { 26 // [Optional] The root of "media_folder" in your config.yml 27 // Defaults to "static" 28 staticFolderName: 'static', 29 // [Optional] Include the following fields, use dot notation for nested fields 30 // All fields are included by default 31 include: ['featured'], 32 // [Optional] Exclude the following fields, use dot notation for nested fields 33 // No fields are excluded by default 34 exclude: ['featured.skip'], 35 }, 36 }, 37 { 38 resolve: `gatsby-remark-images`, 39 options: { maxWidth: 1024 }, 40 }, 41 ], 42 }, 43 }, 44 ], 45};
/static/admin/config.yml
1# ... 2media_folder: static/img 3public_folder: /img 4# ...
/src/pages/blog-post.md
1--- 2templateKey: blog-post 3title: A beginners’ guide to brewing with Chemex 4date: 2017-01-04T15:04:10.000Z 5featured: { image: /img/chémex.jpg, skip: /img/chémex.jpg } 6<!-- featured: { image: ../../static/img/chémex.jpg, skip: /img/chémex.jpg } --> 7description: Brewing with a Chemex probably seems like a complicated, time-consuming ordeal, but once you get used to the process, it becomes a soothing ritual that's worth the effort every time. 8--- 9 10![chemex](/img/chémex.jpg) 11 12<!-- ![chemex](../../static/img/chémex.jpg) --> 13 14This week we’ll **take** a look at all the steps required to make astonishing coffee with a Chemex at home. The Chemex Coffeemaker is a manual, pour-over style glass-container coffeemaker that Peter Schlumbohm invented in 1941, and which continues to be manufactured by the Chemex Corporation in Chicopee, Massachusetts. 15 16In 1958, designers at the [Illinois Institute of Technology](https://www.spacefarm.digital) said that the Chemex Coffeemaker is _"one of the best-designed products of modern times"_, and so is included in the collection of the Museum of Modern Art in New York City. 17 18## The little secrets of Chemex brewing 19 20<img src="/img/chémex.jpg" alt="" style="width: 250px" /> 21<!-- <img src="../../static/img/chémex.jpg" alt="" style="width: 250px" /> --> 22 23The Chemex Coffeemaker consists of an hourglass-shaped glass flask with a conical funnel-like neck (rather than the cylindrical neck of an Erlenmeyer flask) and uses proprietary filters, made of bonded paper (thicker-gauge paper than the standard paper filters for a drip-method coffeemaker) that removes most of the coffee oils, brewing coffee with a taste that is different than coffee brewed in other coffee-making systems; also, the thicker paper of the Chemex coffee filters may assist in removing cafestol, a cholesterol-containing compound found in coffee oils.
FAQs
I'm getting the error: Field "image" must not have a selection since type "String" has no subfields
This is a common error when working with Netlify CMS (see issue gatsby/gatsby#5990).
The application must include the media
with gatsby-source-filesystem
to include all the uploaded media and to make it available on build time. Note: The media folder must be included before the other content.
For example, an application that is using NetlifyCMS and this plugin, and has a content folder with markdown that comes from Netlify. Here's how the gatsby-config.js
should look like:
1module.exports = { 2 plugins: [ 3 { 4 resolve: `gatsby-source-filesystem`, 5 options: { 6 path: `${__dirname}/static/assets`, 7 name: 'assets', 8 }, 9 }, 10 { 11 resolve: `gatsby-source-filesystem`, 12 options: { 13 path: `${__dirname}/src/content`, 14 name: 'content', 15 }, 16 }, 17 `gatsby-transformer-sharp`, 18 `gatsby-plugin-sharp`, 19 { 20 resolve: `gatsby-transformer-remark`, 21 options: { 22 plugins: [ 23 `gatsby-remark-relative-images`, 24 { 25 resolve: `gatsby-remark-images`, 26 options: {}, 27 }, 28 ], 29 }, 30 }, 31 `gatsby-plugin-netlify-cms`, 32 ], 33};
No vulnerabilities found.
Reason
no binaries found in the repo
Reason
license file detected
Details
- Info: project has a license file: LICENSE:0
- Info: FSF or OSI recognized license: BSD Zero Clause License: LICENSE:0
Reason
0 existing vulnerabilities detected
Reason
Found 2/30 approved changesets -- score normalized to 0
Reason
0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0
Reason
no effort to earn an OpenSSF best practices badge detected
Reason
security policy file not detected
Details
- Warn: no security policy file detected
- Warn: no security file to analyze
- Warn: no security file to analyze
- Warn: no security file to analyze
Reason
project is not fuzzed
Details
- Warn: no fuzzer integrations found
Reason
branch protection not enabled on development/release branches
Details
- Warn: branch protection not enabled for branch 'master'
Reason
SAST tool is not run on all commits -- score normalized to 0
Details
- Warn: 0 commits out of 2 are checked with a SAST tool
Score
3
/10
Last Scanned on 2025-02-03
The Open Source Security Foundation is a cross-industry collaboration to improve the security of open source software (OSS). The Scorecard provides security health metrics for open source projects.
Learn More