Как создать презентацию Code Surfer (MDX Deck) с префиксом пути?
Я хочу развернуть презентацию Code Surfer на страницах GitHub. Для этого требуется префикс пути, так как JavaScript и CSS нужно будет загружать изusername.github.io/projectname/something.js
вместо того username.github.io/something.js
.
В качестве минимального примера скажем, что я бегу
$ npm init code-surfer-deck my-deck
$ cd my-deck
Эта проблема предполагает, что нет способа указать префикс пути с помощьюnpm run-script build
(который работает mdx-deck build deck.mdx
), и мне нужно использовать тему Гэтсби. С помощью этого README я попробовал
$ npm i gatsby-theme-mdx-deck
$ cat > gatsby-config.js <<EOF
module.exports = {
plugins: [
{
resolve: 'gatsby-theme-mdx-deck',
options: {
contentPath: '.',
}
}
]
}
EOF
$ gatsby build
Но это ошибки с
gatsby <build> can only be run for a gatsby site.
Either the current working directory does not contain a valid package.json or 'gatsby' is not specified as a dependency
поэтому я казнил
$ npm i gatsby
$ gatsby build
Это не удалось с
failed Building production JavaScript and CSS bundles - 48.495s
ERROR #98123 WEBPACK
Generating JavaScript bundles failed
/home/kuba/tmp/my-deck/node_modules/mdx-deck/node_modules/gatsby-theme-mdx-deck/src/index.js: Unexpected token (4:48)
2 | import App from './components/app'
3 |
> 4 | export const wrapPageElement = ({ element }) => <App>{element}</App>
| ^
5 |
6 | export { Appear } from './components/appear'
7 | export { Notes } from './components/notes'
File: node_modules/mdx-deck/node_modules/gatsby-theme-mdx-deck/src/index.js:4:48
Если я правильно понял, какой-то препроцессор не запускается на gatsby-theme-mdx-deck
. Я не знаю, как это исправить, поскольку у меня нет опыта работы с Gatsby или Webpack.
Следующим моим шагом было бы добавить
pathPrefix: '/projectname',
к gatsby-config.js
и беги gatsby build --prefix-paths
, но это приводит к той же ошибке, что и выше.