MCPcopy
hub / github.com/mathieudutour/medium-to-own-blog

github.com/mathieudutour/medium-to-own-blog @main sqlite

repository ↗ · DeepWiki ↗
21 symbols 62 edges 32 files 0 documented · 0%
README

Medium to own blog

Switch from Medium to your own blog in a few minutes.

demo

:rocket: QuickStart

Requires Node.js

npx medium-to-own-blog

:link: Live Demo

Here's a live demo.

:muscle: Motivation

There is no shortage of explanations behind exiting Medium. Here is a few selection of articles:

:fire: Features

  • Own your content
  • Write using Markdown / MDX
  • Syntax Highlighting using Prism
  • Edit on Github
  • Fully customizable
  • Rich embeds using MDX
  • Easy deployment: Deploy on Netlify / Now.sh / Docker
  • SEO friendly
  • :100: on the Performance, Accessibility, Best Practices, and SEO's LightHouse tests

:book: Documentation

Head over here to find a few guides to help you editing the content of your newly created blog.

:pencil2: Contributing

Any idea on how to make the process easier or how to improve the generated blog? Open a new issue! We need all the help we can get to make this project awesome!

:shell: Technical stack

This project is only possible thanks to the awesomeness of the following projects:

:tm: License

MIT

Migration Troubleshooting

Since everyone has different content in their Medium blogs, you might encounter some issues that can't be fixed in a standardized way or aren't worth trying. These issues and potential workarounds will be posted below:

  • JSX closing tag parsing error - Issue #56. You may have some self-closing, void tags in your blog posts. JSX requires all tags to be self-closed so even though the HTML break tag can be written as `

, you will need to change the syntax to read

` or go back later after running the migration and place the tags in a code block. - GitHub authentication errors - Issue #54. GitHub allows users to set up authentication several different ways. For instance, if you have two-factor authentication enabled, you have to provide a token in certain cases when cloning down repositories. Please check your authentication settings if you experience any issues related to authentication failures.

Core symbols most depended-on inside this repo

copyTemplate
called by 8
lib/add-gatsby-files.js
fullURL
called by 3
gatsby-theme/src/components/seo.js
replaceIframe
called by 3
lib/import-article-from-medium.js
preToCodeBlock
called by 2
gatsby-theme/src/components/code-highlighting.js
formatReadingTime
called by 2
gatsby-theme/src/utils/dates.js
writePost
called by 2
lib/import-article-from-medium.js
Avatar
called by 0
gatsby-theme/src/components/responses.js
Responses
called by 0
gatsby-theme/src/components/responses.js

Shape

Function 21

Languages

TypeScript100%

Modules by API surface

lib/import-article-from-medium.js5 symbols
lib/add-gatsby-files.js2 symbols
gatsby-theme/src/utils/dates.js2 symbols
gatsby-theme/src/pages/index.js2 symbols
gatsby-theme/src/components/responses.js2 symbols
gatsby-theme/src/utils/string.js1 symbols
gatsby-theme/src/templates/blog-post.js1 symbols
gatsby-theme/src/pages/404.js1 symbols
gatsby-theme/src/components/wrap-root-element.js1 symbols
gatsby-theme/src/components/seo.js1 symbols
gatsby-theme/src/components/pills.js1 symbols
gatsby-theme/src/components/embed.js1 symbols

Dependencies from manifests, versioned

@emotion/core10.0.28 · 1×
@emotion/styled10.0.27 · 1×
@mdx-js/mdx1.0.16 · 1×
@mdx-js/react1.0.16 · 1×
@weknow/gatsby-remark-twitter0.2.1 · 1×
babel-eslint10.1.0 · 1×
eslint6.8.0 · 1×
eslint-config-airbnb18.1.0 · 1×
eslint-config-prettier6.10.0 · 1×
eslint-plugin-import2.20.1 · 1×
eslint-plugin-jsx-a11y6.2.3 · 1×
eslint-plugin-prettier3.1.2 · 1×

For agents

$ claude mcp add medium-to-own-blog \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact