# Directus To Markdown This library export [Directus](https://directus.io) items collections to markdown files with assets. I used it to export article from Directus to Hugo website. ## Configuration ### Directus This library export data from an Directus so you should specify an url and token. With environment variables: ``` export DIRECTUS_URL=https://your.directus.url export DIRECTUS_TOKEN=your-token ``` or on configuration parameters : ```js const config = { url: 'https://your.directus.url', token: 'your-token', ... } ``` ### Collection Name The key of collections object should be the name of Directus Collection : ```js const config = { collections: { news: { ... }, pages: { ... } } } ``` ### Content key _default: content_ You can modify the field of the content : ```js const config = { contentKey: 'body', ... } ``` ### readManyOption `readManyOption` match https://docs.directus.io/reference/sdk/#read-multiple-items ### Export to specific path For each collection you should an `pathBuilder`. ## Example ```js import DirectusToMarkdown from '@resilien/directus-to-markdown' import urlslug from 'url-slug' const config = { url: 'https://your.directus.url', token: 'your-token', contentKey: 'body', collections: { news: { readManyOption: { fields: ['title', 'slug', 'date', 'image', 'image_credit', 'draft', 'body'], filter: { draft: { _eq: 'false' } } }, pathBuilder: (article) => { if (article.slug) { return `./content/news/${article.slug}` } return `./content/news/${article.date}-${urlslug(article.title, { remove: /\./g })}`; } } } } new DirectusToMarkdown(config).export(); ```