esaからNotePMへ移行する

esaからNotePMへデータ移行するための方法と、プログラムの使い方を紹介します。

URL:他サービスからNotePMへ移行するスクリプト

  • データ移行スクリプト対応サービス
    • Qiita Team
    • esa
    • Docbase
    • Kibela
    • Confluence (準備中)
    • Kintone (準備中)
    • ファイルサーバー (準備中)

esaからのデータエクスポート

esaのSETTINGSの中に管理者メニューがあります。その一番上に投稿データのエクスポートがあります。

ダウンロードをリクエストボタンを押すと、エクスポート処理がバッチ処理で行われます。ダウンロード準備ができるとメールが届きます。

メールにあるダウンロードボタンを押すとデータがZipファイルでダウンロードできます。

エクスポートデータについて

エクスポートされたデータの形式は次のようになっています。

  • Markdownファイル
    カテゴリなしに属する記事が並びます
  • Templatesフォルダ
    テンプレートのMarkdownファイルが並びます
  • フォルダ
    カテゴリがフォルダとしてダウンロードされます

エクスポートデータに画像や添付ファイルのデータは含まれませんので注意してください。

データのインポート

ではここからエクスポートしたデータをNotePMへ取り込む手順を紹介します。まず、プログラムをインストールします。必要なものは次の通りです。

  • Node.js
  • プログラムのインストール
  • アクセストークンの取得
  • 設定ファイルの作成

Node.jsのインストール

Node.jsはここからダウンロードできます。ダウンロード後、インストールを実行してください。

プログラムのインストール

プログラムはNode.jsをインストールした環境であれば、次のコマンドでインストールできます。

$ npm install notepm_importer -g

プログラムはMIT Licenseで公開しています。コードはNotePMMania/notepm_importer: 各種ドキュメント共有サービスからNotePMへ移行するスクリプトですにて公開しています。

アクセストークンの取得

NotePMのアクセストークンは個人設定のAPIアクセストークンから取得できます。

そしてアクセストークンを新規作成してください。スコープとして、読み込みと書き込みの両方にチェックを付けてください。

生成されたアクセストークンは、再確認する方法はありません。必ずコピーしたり控えておいてください。

これで準備完了です。

インポートを実行する

ではインポートを実行します。コマンドは次のようになります。

$ notepm esa \
-d ESA_DOMAIN \
-p PATH_TO_EXPORT_DIR \
-a ACCESS_TOKEN \
-t TEAM_DOMAIN

内容は次の通りです。

  • ESA_DOMAIN
    esaのドメインです(例:notepm.esa.io)
  • PATH_TO_EXPORT_DIR
    esaからエクスポートしたZipファイルを解凍(展開)したディレクトリのパスです
  • ACCESS_TOKEN
    先ほど作成したNotePMのアクセストークンです
  • TEAM_DOMAIN
    NotePMのチームドメインです(例:notepm)

カテゴリがない記事について

カテゴリがない、ディレクトリのルートに並んでいるMarkdownファイルは「ルートノート」というノートの中に保存されます。

フォルダについて

ルートディレクトリ直下にあるフォルダはノートとして保存されます。サブフォルダは各ノートの中に保存されます。ノートのデフォルト値は下記になります。

項目
ノートの説明 固定「esaからインポートしたノート」
スコープ 固定「プライベート」
グループ 設定しません
アイコン 設定しません

すべてのノートはプライベートで取り込みます。調整後、公開してください。

記事について

Markdownはメタデータが追加されたものになります。各記事は次のように保存されます。

esaの項目 NotePMへの適用
title ページのタイトルに利用します
tags ページのタグに利用します
created_at ページの作成日時に利用します
category 利用しません(フォルダ構成がノート/フォルダ構成に使われます)
updated_at 利用しません
published 利用しません
number 利用しません

Markdownコンテンツはページ本文として利用します。

注意点

データのインポート時の注意点は次の通りです。

  • Templatesフォルダは移行しません
  • ユーザ情報はエクスポートされないため、すべて NotePM-bot になります
  • コメント情報はエクスポートされないため、移行しません
  • 認証(Google)が自動化できないため、画像および添付ファイルは移行しません
  • ページ内リンクは移行しません

コード

URL:他サービスからNotePMへ移行するスクリプト