LoginSignup
5
2

UIが良くて高速なOSSのWiki「Wiki.js」とは?

Last updated at Posted at 2023-12-07

OSS の Wiki といえば、Wikipedia に使われている「 Media Wiki 」をはじめとして、データベースが不要な「 DocuWiki 」、「 CROWI 」「 GROWI 」 などいろいろあります。

その中でも Wiki.js は 2017 年に発表されたかなり新しい OSS の Wiki で、高速な JavaScript のエンジンを使用しているために高速で、デザインも良く、とても多機能です。

公式ドキュメントをざっと読んで、その機能と特徴をまとめます。

image.png

公式は、「最もパワフルで、拡張性のあるオープンソースのWiki」を謳っています。

次のような特徴があるとしています。

  • どこにでもインストールできる
    • だいたいどんな仮想環境にもインストールできて、大抵のRDBに対応しています。
  • 権限管理
    • 管理できるエリアを詳細に設定できます。
  • 高いパフォーマンス
    • パフォーマンスを意識していて、高速な Node.js エンジンを使用しています。
  • カスタマイズ性
    • デザインの変更が容易です。ライトモード・ダークモードもあります。
  • 機密性
    • 一般公開や社内での限定公開、その組み合わせにも対応しています。
  • スケーラブル
    • ラズパイ上でも、高性能なクラウド上でも、いい感じに動きます。
  • 簡単にインストールできる

全てのユーザが全ての機能を必要としているわけではないので、オンデマンドで次のような機能をオンオフできるみたいです。オンデマンドというのは、初期構築時ではなく、後から設定を変更できるという意味のようです。

  • 認証
    • ローカルでの認証 : これは超一般的な、ユーザ名やパスワードをDB内に保存する系の認証です。
    • ソーシャルログイン : サードパーティの Google, Facebook, Microsoft, GitHub, Discord, Slack とかでログインできるみたいです。
    • エンタープライズ : LDAP, SAML, CAS, Auth0, Okta, Azure AD とかの認証基盤が使える。OAuth2 と OpenIDコネクトのモジュールも含まれてます。
    • 2段階認証もあります。
  • エディタ
    • マークダウン
    • ビジュアルエディタ
    • 生HTML
    • (実装予定) WikiText : MediaWiki(Wikipedia)と同じ記法みたいです。
  • 履歴管理
    • 変更・削除のバージョン管理
    • バージョンの差分
    • 古いバージョンのページをエクスポートしたり新しいページにできます。
  • ローカライズ
    • 40言語に対応
    • 右から書く言語にも対応
    • 同じページを複数言語で管理できます。
  • メディア管理
    • メディアをフォルダ分けとかして管理できます。
    • (実装予定) 画像編集ツール
  • レンダリング
    • シンタックスハイライト
    • UML、シーケンス図、フローチャート
    • TeX、MathML
    • (実装予定) YouTube の動画や音声、asciinema (ターミナルを録画できるやつ) のプレーヤー
  • 検索
    • ビルトインの検索エンジン
    • Algolia, Azure Search などのクラウド検索エンジン
    • Elasticsearch
    • (実装予定) Manticore, Solr, Sphinxなど
  • ストレージ
    • GitHub, GitLab, BitBucket, Azure DevOps などへのバックアップ
    • AWS S3, Azure Blob Storage, Google Cloud Storage, DigitalOcean Spacesなどへのバックアップ
    • (実装予定) Dropbox, Google Drive, MS OneDrive, Box など
    • ローカルディスクへの保存、SSHを使用したリモートサーバへの保存
  • ユーザ管理
    • ユーザの作成や既存ユーザの変更が簡単にできます
    • グループ
    • ページの編集、アセット管理、管理画面へのアクセスなどをグループごとに細かく設定できます
    • ページへの前方・後方一致や正規表現を使用して、グループに細かい権限設定ができます
  • テーマ
    • (実装予定) カスタムテーマ
    • ダークモード
    • (実装予定) デフォルトテーマのパーソナライゼーション(色とか)
    • CSS / JS のインジェクション

さいごに

とても機能が豊富で、大抵の場合 Wiki として必要な機能は揃っていると感じました。

驚くことに、Wiki.js はこれをほぼ一人で作ってるみたいです! :fearful:

次の記事では、実際に Wiki.js を AWS にデプロイする方法をご紹介したいと思います!

5
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
2