テーマ15.10のカスタマイズ

テーマ1.10のカスタマイズのほとんどの情報は、Mahara 15.10でも正確です。

ただし、15.04以前のMaharaテーマは、Mahara 15.10と互換性がない可能性があります。これは、フロントエンドコード(CSS、Javascript、HTML)にBootstrapフレームワークを使用するようになったためです。その結果、ほぼすべてのテンプレートファイルとCSSファイルが大幅に書き直されました。

また、Mahara gitリポジトリには、CSSにコンパイルする必要があるSASSファイルが格納されるようになりました。静的CSSファイル自体を保存するのではなく。

15.10テーマの説明の入手先

このウィキを更新するまで(お気軽に!)、おそらくこれらのソースで最新の情報を見つけるでしょう。

Mahara 15.10テーマをコンパイルする方法

前述のように、Maharaのgitリポジトリには、コンパイル済みのCSSファイルが含まれていません。代わりに、CSSにコンパイルする言語で記述されたSASSファイルが含まれ、変数やコードの再利用など、プログラマーのさまざまなトリックを可能にします。 これは、CSSが「ビルド製品」になり、バージョン管理システム(Gitなど)からビルド製品を除外することがベストプラクティスであることを意味します。

したがって、Mahara 15.10テーマで作業するには、SASSファイルが必要であり、それらをCSSにコンパイルできる必要があります。

gitからMaharaをチェックアウトすると、SASS(具体的には.scss)ファイルはあるが、CSSファイルはないことがわかります。 そのSASSをコンパイルする必要があるだけです。"theme/Readme.md"ファイルには、これを実現する方法が記載されています。

LaunchpadからMaharaをダウンロードした場合、読み取り不可能な縮小されたCSSファイルがたくさんあり、このSASSの誰もが話していることに気づかないでしょう。これは、Launchpad上のZIPファイルがパッケージ化されたリリースであるため、SCSSファイルやテストスクリプトなど、開発中にだけ必要なファイルが削除されるためです。gitからMaharaのクローンを作成するか、gitレポジトリのパッケージ化されていないzipを次からダウンロードする必要があります:
https://git.mahara.org/mahara/mahara/tags

テーマをデバッグする

Gulpの使用法 Makeの使用法

Mahara 15.10で変更された主なもの

既に述べたように、ほぼすべてのテンプレートファイル、およびほぼすべてのCSSが大幅に書き直されました。 具体的には:
  1. CSSといくつかのJavaScript用に、Bootstrapフレームワークを使用するようになりました
  2. 静的CSSからコンパイル済みSASSに切り替えました
  3. ほぼすべてのテンプレートが書き直され、クラス名とセレクタがブートストラップとの互換性を高めるために変更されました
  4. ほぼすべてのCSSクラスが書き直されました
  5. テーマファイルを少し再編成しました。 以前は、各テーマには、Dwooテンプレートを格納する"template"、その他すべて(CSS、画像など)を格納する"static"、およびプラグイン(アーティファクト、ブロックタイプなど)の外観をカスタマイズする「各プラグインタイプのディレクトリ」というディレクトリがありました。新しいテーマの開発者は、これは混乱していると私たちに言いました。特に、静的ではないがコンパイルされたSASSファイルを"static"ディレクトリに追加したときはなおさらです。 そう:
  6. そして、テーマの"static"ディレクトリにあったすべてのテーマファイルを、テーマのルートレベルに移動しました。

15.04移行ヘルプ

申し訳ありませんが、私(aaronw (talk) 15:21, 4 December 2015 (NZDT))はまだ何も書いていません! そして、正直なところ、テーマの開発に多くの作業を行っていません(そのための「フロントエンド開発者」チームが別にあります)。ただし、テーマを15.04から15.10に最近移行した場合は、ここでアドバイスを共有してください。それまでの間、次のオプションを提案できます。

ブートストラップを愛することを学ぶ

theme/Readme.mdをお読みください。ブートストラップのチュートリアルを読んでください。コンピュータでgulpnpmを実行する(Windowsでも実行できます)か、他のシステムでSASSをコンパイルします(これはオープンスタンダードです。パッチを歓迎します!)。古いアドホックシステムよりもブートストラップ方式を好む場合があります。

しばらく待ってください

15.10へのアップグレードは、特に15.10以降で完全に書き換える必要がある高度にカスタマイズされたテーマがある場合、一部のサイトにとって負担になる可能性があると予想しました。 そのため、サイトをアップグレードするための時間を確保するために、15.04は拡張サポートリリースであり、サポートの有効期間が通常の18か月ではなく30か月(2017年10月まで)であると宣言しました。 したがって、テーマを15.10にまだアップグレードできない場合は、少し待って、ベースとして使用したいサードパーティのテーマが誰かに実装されているかどうかを確認することをお勧めします。

互換性レイヤーを作成する

これは、Maharaコアチームが下位互換性を提供するために実装を検討した考えですが、古いシステムに継続的なサポートを提供するよりも、新しいテーマを改善するためにリソースを使用する方が効果的であると判断しました。ただし、Mahara 15.10では技術的に可能であるはずです。

15.10の15.04テーマの大きなブレーカーは、15.10の"raw"テーマに15.04からの大きな変更が含まれており、すべてのテーマが最終的に15.04以前のrawから継承されていることです。

ただし、15.10では、テーマが親を持たないことを宣言できるようにしたので、"alternate raw"になります。したがって、"raw"のテーマを15.04から15.10に移植し("legacy"と呼びます)、15.04テーマを"raw"はなく"legacy"から継承するように変更することもできます。

15.10セレクターを必要とするJavascriptの一部と、Maharaのインタフェースの一部(特にページのアクセス許可画面)が大幅に書き換えられたため、おそらくまだいくつかの変更が必要です。 ただし、絶対にbootstrapを嫌い、15.04テーマ設定システムを強く好む場合、これはオプションです。 これを実装する場合は、Maharaフォーラムのコミュニティと共有してください。15.04のテーマを愛する人々からヒーローとして称賛されます。