output-cms / output-cms-frontend

Apache License 2.0
0 stars 0 forks source link

markdown管理をどうするか #7

Open n4rvs3 opened 1 year ago

n4rvs3 commented 1 year ago

Markdownどうしよう問題

問題定義

現状markdownをどう管理するか定まっていない、 ブラウザ上からmarkdownを記述・ドキュメント作成を行えるようにするのかどうかによってそもそもの実装方法が変わってくる。

参考例

ブラウザ上で管理しない場合(SSG(ISR)、DBも認証要らない)

  1. リポジトリにmarkdownファイルをpushする
  2. Vercelのactionでrebuild
    1. この段階でmarkdownをパースする

ブラウザ上で管理する場合(ぶっちゃけ面倒くさいのでSSRしたい、DBも認証も必要)

  1. ブラウザ上でmarkdownを書き保存する(認証ユーザのみ実行可能)
    • DBに平文保存される
    • SSRのタイミングで取得、パースする
  2. 以降、保存したドキュメントも表示される
n4rvs3 commented 1 year ago

追記

ブラウザ上で管理する場合

一応、SSGで作成して getStaticPaths をtrueないしはblockingにすることで生成を図ることが出来る。 がしかし認証やら諸々の兼ね合いを考えると最初からSSRした方が楽ではある

tingtt commented 1 year ago

考えてたことの共有

中枢機能の実装

機能設計(中枢機能以外)

n4rvs3 commented 1 year ago

認証

gthubのOAuthを利用する形で良いと思う NEXTAUTHなりsupabaseなりなんでもいいけどライブラリ通して認証するとして、認証情報はsession管理かな

データソース

ここがいまいち理解できていない 基本的には全てGithubリポジトリから取得する形で、そのデータを編集したい場合ブラウザ上でよしなに編集して、localstorageに保存するってことかな🤔

なんにせよ編集を可能とするなら、認証ユーザの権限管理部分でDBを利用する必要が出てくるから最初からデータソースをDB一本にしても良さそう。まとめて管理した方が楽そう

レンダリング

編集可能とするならSSR(CSR一部利用)でいいと思う

codimdについて

codimdのtypoだと思うからその体で進める まず前提として知見が無かったから色々調べた上での感想を

総括

tingtt commented 1 year ago

認証

gthubのOAuthを利用する形で良いと思う NEXTAUTHなりsupabaseなりなんでもいいけどライブラリ通して認証するとして、認証情報はsession管理かな

同じ考え

データソース

ここがいまいち理解できていない 基本的には全てGithubリポジトリから取得する形で、そのデータを編集したい場合ブラウザ上でよしなに編集して、localstorageに保存するってことかな🤔

なんにせよ編集を可能とするなら、認証ユーザの権限管理部分でDBを利用する必要が出てくるから最初からデータソースをDB一本にしても良さそう。まとめて管理した方が楽そう

肝心なとこ忘れてたけど、基本はGitHubリポジトリとの連携(編集して更新する場合も)で考えてる

レンダリング

編集可能とするならSSR(CSR一部利用)でいいと思う

同じ考え

codimdについて

総括

  • codimd使うにしろ使わないにしろDBは使おう
  • DB使うなら記事管理もDB一本が楽だよ
n4rvs3 commented 1 year ago

認証

特殊ファイル、確かに良さそう

一点浮かんだのは環境変数を利用する方法で、vercelを利用する際に良さそうだな〜と

こんな感じにしとけば特殊ファイルをcommitする必要もないし(セルフホストなら直接サーバに置けばいいけどPaaSだとそうもいかない認識)DB無しで管理出来ていいかな〜〜と

n4rvs3 commented 1 year ago

あ、GithubのIDで認証するなら別になんでもいい・・・のか?