MODX Revolutionのオープンソースドキュメント

MODX Revolutionの新しいオープンドキュメントプロジェクトを紹介します。



なんで?


それから、システムは新しいとはほど遠いが、通常のロシア語のドキュメントはまだない。 さまざまなコミュニティやブログに散らばっているすべてのものがあり、そのうち数十個があり、初心者ユーザーは前後に質問をします。



ロシア語の公式文書は維持されていません。 どうなっているかはわかりませんが、1年前はキリル文字が保存されていませんでした。



なぜnまたはzでそれをしないのですか?


これらのサイトにはホストがあるため、ユーザー名/パスワードを要求する必要があり、明日サイトが失われないという保証はなく、Googleのキャッシュにあなたの貢献を残します。



たとえば、公式Webサイトでアドオンについて書き込もうとすると、彼らはそれをやり直したのですが、ログインパスワードが適合しなくなりました。 登録することは不可能です。サポートの手紙で受け取る必要があります。 もちろん、これをもう一度やりたいという欲求はありません。



さらに、MODXコミュニティは団結力を誇ることができず、主要な開発者を1か所に集めてそこに何かを書くことはできません。



そして、あなたは何を提案しますか?


非常に簡単-よく知られたマークダウン形式でGitHubのドキュメントを維持する必要があります。



そのようなシステムは私たちを保証します:





アイデアは新しいものではなく、私はdaux.ioプロジェクトでそれを調べました。 これは、既製のマークダウンファイルを使用してサイトを生成するPHPスクリプトです。

これは非常にシンプルで、ホスティングを使用せずに、スキルをまったく使用せずにドキュメントを使用してWebサイトを実行できます。 しかし、私の意見では、いくつかの欠点があります(利点の続きです)。



たとえば、キャッシュなしでファイルごとにサイトを動的に生成しても、数千ページで適切に機能するかどうかはまったくわかりません。 また、検索、ページアドレスの管理、言語バージョン間の便利な切り替え、さらにはささいなこともありません。



そのため、ドキュメントを表示するために、お気に入りのシステム-MODXを使用しました。



どのように機能しますか?


これは標準のアドオンを使用して構築された通常のMODX Webサイトですが、そのページはすべてファイルからインポートされます。



それは与える:





サイトツリーにはドキュメントのみがあります。









テーブルの予備クリーニングでツリーを完全に更新できるようにしたいので、サービスページをその場で生成し、データベースに保存しません。 これは新しい概念です。どのように機能するか見てみましょう。



たとえば、サイトマップは次のように発行されます。

<?php if ($modx->event->name != 'OnHandleRequest' || $modx->context->get('key') == 'mgr') {return;} $alias = $modx->getOption('request_param_alias', null, 'alias'); $request = strtolower($_REQUEST[$alias]); if ($request == 'sitemap.xml') { $output = $modx->runSnippet('pdoSitemap', array('context' => 'web,en')); exit($output); }
      
      







検索ページは次のとおりです。

 elseif ($request == 'search') { $doc = $modx->newObject('modResource'); $doc->fromArray(array( 'id' => 100000000, 'context_key' => $modx->context->key, 'pagetitle' => $modx->context->key == 'en' ? 'Search' : '', 'template' => 3, 'content' => ' [[!pdoPage@Search?context=`'.$modx->context->key.'`]] [[+page.nav]] ' )); $modx->resource = $doc; $response = $modx->getResponse(); $output = $modx->response->outputContent(); exit($output); }
      
      





つまり、作業はプラグインを介してOnHandleRequestイベントに進み、コンテキスト(言語バージョン)に依存します。



Bootstrap 3のレイアウトをスケッチして、携帯電話やタブレットから読みやすいようにしました。 仕事のために使用されます:





この文書は誰のものでもないことを改めて思い出します。 出力用にサイトのバージョンを作成しました。リポジトリを複製して、同じdaux.ioで実行できます。ディレクトリとファイル構造は互換性があります。



プロジェクトの目標は、最終的にコミュニティにすべての情報を1か所で収集し、一緒に使用するツールを提供することです。 今すぐ参加しよう



参照資料


Gitub ドキュメントリポジトリ

このドキュメントの結論を含むサイト



将来の計画:他のサイトにテキストを表示するための単純なAPIおよび(おそらく)URL短縮サービスの開発。



2014年1月15日に更新



ドメイン名に対する不満のため、ドキュメントはdocs.modx.proに転送されました



これ以上異議がないことを願っています。



All Articles