Как создать презентацию 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, но это приводит к той же ошибке, что и выше.

0 ответов

Другие вопросы по тегам