You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
You're using @remark-embedder/core and you want to
cache the results of your transformers long-term so you don't have to make
network requests for HTML every time.
This solution
This is a cache implementation specifically for
@remark-embedder/core that saves the results of
getHTML for a transformer to disk (in node_modules/.cache by default).
This module is distributed via npm which is bundled with node and
should be installed as one of your project's dependencies:
npm install @remark-embedder/cache
Usage
importCachefrom'@remark-embedder/cache'constcache=newCache()asyncfunctiongo(){constresult=awaitremark().use(remarkEmbedder,{
cache,transformers: [// transformers],}).use(html).process(someMarkdown)}go().then(go).then(go).then(go)// your transformers will only be called once even though we call process 4 times.
The default directory is pretty reasonable:
path.join(process.cwd(), 'node_modules/.cache/@remark-embedder/cache'), but if
you want to change it, that's the first argument of the Cache constructor:
new Cache(directory).