diff --git a/website/_temporary_scripts/changelog.md b/website/_temporary_scripts/changelog.md
new file mode 100644
index 000000000..0e041ccaf
--- /dev/null
+++ b/website/_temporary_scripts/changelog.md
@@ -0,0 +1 @@
+# changes
diff --git a/website/_temporary_scripts/fix_partials.js b/website/_temporary_scripts/fix_partials.js
new file mode 100644
index 000000000..7f4224f74
--- /dev/null
+++ b/website/_temporary_scripts/fix_partials.js
@@ -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))
+})
diff --git a/website/_temporary_scripts/fix_unclosed_tags.js b/website/_temporary_scripts/fix_unclosed_tags.js
new file mode 100644
index 000000000..b6a5c724c
--- /dev/null
+++ b/website/_temporary_scripts/fix_unclosed_tags.js
@@ -0,0 +1,16 @@
+// This script replaces
, which is invalid in react, with
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(/
/g, '
')
+ // fix unclosed img tags
+ content = content.replace(/(
]+)(?/g, (_, m1) => `${m1} />`)
+
+ fs.writeFileSync(fullPath, content)
+})
diff --git a/website/_temporary_scripts/remove_sidebar_current.js b/website/_temporary_scripts/remove_sidebar_current.js
new file mode 100644
index 000000000..c628e288f
--- /dev/null
+++ b/website/_temporary_scripts/remove_sidebar_current.js
@@ -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))
+})
diff --git a/website/_temporary_scripts/rename.sh b/website/_temporary_scripts/rename.sh
new file mode 100644
index 000000000..7cb2882ab
--- /dev/null
+++ b/website/_temporary_scripts/rename.sh
@@ -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/' '{}' \;
diff --git a/website/_temporary_scripts/rename_partials.sh b/website/_temporary_scripts/rename_partials.sh
new file mode 100644
index 000000000..f8113a4cc
--- /dev/null
+++ b/website/_temporary_scripts/rename_partials.sh
@@ -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
diff --git a/website/_temporary_scripts/transform_all.sh b/website/_temporary_scripts/transform_all.sh
new file mode 100644
index 000000000..509550571
--- /dev/null
+++ b/website/_temporary_scripts/transform_all.sh
@@ -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;