Docusaurus ブログに投稿する開発者 (オートメーション Nodejs)
開発コミュニティこんにちは!
今日は、dev.to の記事を Docusaurus ブログに変換するプログラムの例を紹介します。この例では、Node.js を使用して dev.to API から記事を取得し、Docusaurus のブログ投稿と互換性のある Markdown ファイルを作成します。
まず、プロジェクトをセットアップし、必要な依存関係をインストールしましょう:
mkdir devto-to-docusaurus cd devto-to-docusaurus npm init -y npm install axios fs-extra front-matter
次に、convert.js という名前のファイルを作成し、次のコードを追加します。
const axios = require('axios'); const fs = require('fs-extra'); const frontMatter = require('front-matter'); const path = require('path'); const DEV_TO_API_KEY = 'YOUR_DEV_TO_API_KEY'; const DEV_TO_USERNAME = 'YOUR_DEV_TO_USERNAME'; const OUTPUT_DIR = './blog'; async function fetchDevToArticles() { const response = await axios.get(`https://dev.to/api/articles/me/published`, { headers: { 'api-key': DEV_TO_API_KEY } }); return response.data; } function convertToDocusaurusFrontMatter(article) { const date = new Date(article.published_at); return { title: article.title, authors: [DEV_TO_USERNAME], tags: article.tag_list, date: date.toISOString().split('T')[0], slug: article.slug, description: article.description, }; } async function convertArticleToMarkdown(article) { const frontMatterContent = convertToDocusaurusFrontMatter(article); const markdown = `--- ${Object.entries(frontMatterContent).map(([key, value]) => `${key}: ${Array.isArray(value) ? `[${value.join(', ')}]` : value}`).join('\n')} --- ${article.body_markdown}`; const fileName = `${frontMatterContent.date}-${article.slug}.md`; const filePath = path.join(OUTPUT_DIR, fileName); await fs.outputFile(filePath, markdown); console.log(`Created: ${filePath}`); } async function main() { try { const articles = await fetchDevToArticles(); await fs.ensureDir(OUTPUT_DIR); for (const article of articles) { await convertArticleToMarkdown(article); } console.log('Conversion completed successfully!'); } catch (error) { console.error('Error:', error.message); } } main();
このスクリプトの仕組みは次のとおりです:
- API を使用して、公開された記事を dev.to から取得します。
- 記事ごとに、メタデータを Docusaurus 互換の前付に変換します。
- 前付と記事の Markdown コンテンツを組み合わせます。
- 各記事を個別の Markdown ファイルとしてブログ ディレクトリに保存します。
このスクリプトを使用するには:
- YOUR_DEV_TO_API_KEY を実際の dev.to API キー [1] に置き換えます。
- YOUR_DEV_TO_USERNAME を dev.to ユーザー名に置き換えます。
- ノードconvert.jsを使用してスクリプトを実行します。
スクリプトを実行すると、dev.to 記事が Docusaurus 互換のブログ投稿に変換されて、ブログ ディレクトリ [1][3] にあることがわかります。
これらの投稿を Docusaurus サイトに統合するには:
- 生成された Markdown ファイルをブログ ディレクトリから Docusaurus プロジェクトのブログ ディレクトリにコピーします。
- docusaurus.config.js ファイルにブログ プラグインが正しく設定されていることを確認してください[1][3]。
docusaurus.config.js の例を次に示します。
module.exports = { // ... other config options presets: [ [ '@docusaurus/preset-classic', { blog: { path: 'blog', routeBasePath: 'blog', blogTitle: 'My Dev.to Blog', blogDescription: 'A collection of my dev.to articles', blogSidebarCount: 'ALL', blogSidebarTitle: 'All Blog Posts', showReadingTime: true, editUrl: 'https://github.com/yourusername/your-repo/edit/main/website/', }, }, ], ], // ... other config options };
この設定では、ブログ ディレクトリを使用し、すべての投稿をサイドバー [1][3] に表示するようにブログ プラグインを設定します。
プロジェクトの構造と設定に応じて、editUrl とその他のオプションを忘れずにカスタマイズしてください。この設定により、dev.to の記事が Docusaurus ブログにシームレスに統合されます。
引用:
[1] https://docusaurus.io/docs/blog
[2] https://dev.to/dreamlogic/how-to-use-the-multi-blog-plugin-for-docusaurus-32a2
[3] https://docusaurus.io/docs/api/plugins/@docusaurus/plugin-content-blog
[4] https://dev.to/tuenguyen2911_67/inspired-by-docusaurus-2cm6
[5] https://dev.to/dianaiminza/documentation-using-docusaurus-40g5
[6] https://dev.to/seanyasno/starting-a-new-blogging-journey-with-docusaurus-3aap
[7] https://dev.to/lo_victoria2666/build-Beautiful-documentation-websites-with-docusaurus-8o2
[8] https://dev.to/katiel/exploring-the-code-behind-docusaurus-pbk
以上がDocusaurus ブログに投稿する開発者 (オートメーション Nodejs)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









