add transformation scripts

This commit is contained in:
Jeff Escalante 2020-05-05 18:27:50 -04:00
parent 3daf2b8db9
commit d0bc21cb07
No known key found for this signature in database
GPG Key ID: 32D23C61AB5450DB
7 changed files with 78 additions and 0 deletions

View File

@ -0,0 +1 @@
# changes

View File

@ -0,0 +1,18 @@
// This script removes any `layout` keys in mdx files in a given directory,
// recursively. In this project, we use a default layout for all topic content,
// so the layout key is not necessary unless a topic needs to render into a
// unique layout
const glob = require('glob')
const path = require('path')
const fs = require('fs')
const matter = require('gray-matter')
glob.sync(path.join(__dirname, '../pages/**/*.mdx')).map((fullPath) => {
let { content, data } = matter.read(fullPath)
content = content.replace(
/<%=\s*partial[(\s]["'](.*)["'][)\s]\s*%>/gm,
(_, partialPath) => `@include '${partialPath}.mdx'`
)
fs.writeFileSync(fullPath, matter.stringify(content, data))
})

View File

@ -0,0 +1,16 @@
// This script replaces <br>, which is invalid in react, with <br /> for all markdown files
const glob = require('glob')
const path = require('path')
const fs = require('fs')
glob.sync(path.join(__dirname, '../pages/**/*.mdx')).map((fullPath) => {
let content = fs.readFileSync(fullPath, 'utf8')
// fix unclosed br tag
content = content.replace(/<br>/g, '<br />')
// fix unclosed img tags
content = content.replace(/(<img[^>]+)(?<!\/)>/g, (_, m1) => `${m1} />`)
fs.writeFileSync(fullPath, content)
})

View File

@ -0,0 +1,13 @@
// This script removes the "sidebar_current" key from frontmatter, as it is
// no longer needed.
const glob = require('glob')
const path = require('path')
const fs = require('fs')
const matter = require('gray-matter')
glob.sync(path.join(__dirname, '../pages/**/*.mdx')).map((fullPath) => {
let { content, data } = matter.read(fullPath)
delete data.sidebar_current
fs.writeFileSync(fullPath, matter.stringify(content, data))
})

View File

@ -0,0 +1,10 @@
# Renames the slew of markdown extensions in middleman all to .mdx
# Call with the path to the root folder, will convert recursively
# For example, bash _temp_rename.bash pages/packer
# This file can be removed once we have finished porting from the old version!
find $1 -name "*.html.md" -exec rename 's/\.html.md$/.mdx/' '{}' \;
find $1 -name "*.html.markdown" -exec rename 's/\.html.markdown$/.mdx/' '{}' \;
find $1 -name "*.html.md.erb" -exec rename 's/\.html.md.erb$/.mdx/' '{}' \;
find $1 -name "*.html.markdown.erb" -exec rename 's/\.html.markdown.erb$/.mdx/' '{}' \;
find $1 -name "*.md" -exec rename 's/\.md$/.mdx/' '{}' \;

View File

@ -0,0 +1,13 @@
# Renames the slew of markdown extensions in middleman all to .mdx
# Call with the path to the root folder, will convert recursively
# For example, bash _temp_rename.bash pages/packer
# This file can be removed once we have finished porting from the old version!
find $1 -name "*.html.md" -exec rename 's/\.html.md$/.mdx/' '{}' \;
find $1 -name "*.html.markdown" -exec rename 's/\.html.markdown$/.mdx/' '{}' \;
find $1 -name "*.html.md.erb" -exec rename 's/\.html.md.erb$/.mdx/' '{}' \;
find $1 -name "*.md" -exec rename 's/\.md$/.mdx/' '{}' \;
find $1 -name "_" -exec echo 'foo' \;
rename -v 's/\/_(.*)/\/$1/' pages/partials/*/*.mdx
rename -v 's/\/_(.*)/\/$1/' pages/partials/*/*/*.mdx
rename -v 's/\/_(.*)/\/$1/' pages/partials/*/*/*/*.mdx

View File

@ -0,0 +1,7 @@
# runs all transforms needed for a fresh content port
sh _temporary_scripts/rename.sh pages/docs;
sh _temporary_scripts/rename.sh pages/vmware;
sh _temporary_scripts/rename.sh pages/intro;
node _temporary_scripts/fix_unclosed_tags.js;
node _temporary_scripts/fix_partials.js;