Astro+Forest CMS再訪


元のデモからたった1ヶ月以上経っていますがmoving quickly アストロランドで!我々は、元のデモには、先に行くと、最初の記事をチェックアウトする場合は、すでに行っていないを構築します!
TLドクター我々は、元のデモがリリースされた後からいくつかの大きなフィードバックを受けた.私はいくつかのアストロ機能がリリースされるまでそのポストを再訪するのを止めていました.チェックアウトlive demo , またはメインに飛び込むdiff これは、以下のリストのほとんどが含まれます.
特に、アストロCollections API さらにユースケースを処理するために更新されました.ああはい、それらのdocs site 開始!このプロジェクトが数ヶ月前に発表されたと信じるのは難しいです.コミュニティは本当に成長していて、無数の時間が大きく見えていました.ドキュメントサイト.

フィードバック源からまっすぐ

Awesome post 👏
We should give a try to 🚀

Minor feedback:
1. You could set /images as your default media folder instead of the default /uploads to further reduce the diff.
2. Authors could be stored as JSON file(s) instead of Markdown if you don't need a body.

— Forestry CMS ( )


デフォルトメディアフォルダ
林業のCMSはextremely flexible , そして、正直に、その狂った特徴は、彼らがあなた自身のGitレポですべてのデータを保存している間、彼らが提供することができたセットです.いいえ、これは有料のポストではありません.私は林業とGitベースのCMSのアプローチの大ファンのユーザーです!
森林を構成するときの多くのオプションの一つは、デフォルトのフォルダですmedia uploads . 私は間違いなく元のデモでdiffを最小限に向けて目を持っていた、私はちょうどAを使用する習慣にある/uploads ユーザーアップロードコンテンツのディレクトリ.オールド犬、新しいトリック、そしてすべて.

JSONに保存された著者
これは優れたフィードバックであり、さらに遠くに掘る価値がある.
元々著者の情報は別々のマークダウンファイルに保存されていました./data/authors/don.md and /data/authors/sancho.md .これは正直にその意味をなさなかった、Markdownはプロパティとコンテンツ(通常はHTMLに構築)を結合する素晴らしい方法です.ブログのデモは、任意の著者固有のコンテンツを持っていないだけのようないくつかのプロパティname and image .
サイトが作者のためにどんなHTML内容も引っ張る必要がないなら、そのデータを単純なJSONファイルに保存することは、はるかに意味をなします.作者のMarkdownファイルを完全に取り除きましょうsrc/data/authors.json :
{
  "don": {
    "name": "Don Quixote",
    "image": "/uploads/don.jpg"
  },
  "sancho": {
    "name": "Sancho Panza",
    "image": "/uploads/sancho.jpg"
  }
}
林業はこれを箱から支えてくれるsetup the sidebar 新しいJSONファイルを含めるには、ファイルがマップであることを認識し、それだけで動作します.私は、これがちょっと私と戦わなければならないことを正直に予想しました、そして、私が古いMarkdownファイルへの言及を取り除いている問題がなかった時にいました.私は、同じことを再利用することさえできましたcontent model .
私は、ポストのコンテンツモデルを更新する必要がありました新しいJSONファイルの代わりに、Markdownファイルを参照するには、設定メニューの数回クリックし、それはすべてのフックにフックされた.

ボーナスポイント:インスタントプレビュー
林業instant previews 開発サーバーをDockerコンテナで実行し、リアルタイムでCMS更新をプレビューできます.これは、ライブのプレビューをgitベースのCMSでシームレスに動作を参照してくださいにホストされているCMSのプラットフォームを、非常にクールに使用するプロジェクトの多くをプッシュすることができますこれらの機能の一つです.
最初のデモを展開するときに実行した1つの問題は、Astroのみがノード14 +をサポートしていたことでした.インスタントプレビューを使用すると、あなたの開発サーバーに使用されるDockerイメージをカスタマイズすることができますが、私はそれが非常にアストロの初期バージョンで動作するようになることはできませんでしたし、時間外に走った.しかし、数週間の間、アストロは現在、ボックスのノード12をサポートしています!
デモプロジェクトを更新した後、インスタントプレビューを設定すると、森林のデフォルトのプレビュー設定に戻るように簡単だった.私は運なしでカスタムDockerコンテナを試みました、しかし、付属のノード12 +糸イメージはアストロの最新版で魅力のように働きました.

新しいコレクションAPI
AstroのオリジナルコレクションAPIは、ベータ版が公開される前に設計されていました.
ここには記念碑的な変化はありません.merged RFC 興味があれば.API名のいくつかは、より明確にするように更新され、APIは、新しいAstro.props API.
あなたは、チェックアウトすることができますdiff here 私が更新するために何をしなければならなかったかを正確に見る$posts.astro 新しいAPIのルート.個人的に、私は新しいデザインのファンであり、コードは少しクリーナーで読みやすいと思います.

結論
それはパブリックベータの起動以来、アストロはすぐに動いている!私は、デモを少しクリーンアップし、林業のより良い利点を取ることがいかに簡単だったかを見て喜んだ.あなたが午後をとって、それを試してみる前に、あなたがGitベースのCMSで働いていないならば、私は非常に推薦します.それはすべてのプロジェクトのために右ではないかもしれないが、開発者の経験は文字通りあなたのローカルマシン上のすべてのCMSのデータを持っているだけでビートすることはできません!