シンプル、クリーン、応答性の高い学者向けの Jekyll テーマ。テーマが気に入ったら、スターを付けてください。
ジキルについてもっと知りたいですか?このチュートリアルを確認してください。なぜジキルなのか? Andrej Karpathy のブログ投稿を読んでください。
al-folio インストールの実践的なウォークスルーについては、コミュニティ メンバーの 1 人によるこのクールなビデオ チュートリアルをご覧ください。 ? ?
このテンプレートを使用する場合は、ファイル リストの上にある [このテンプレートを使用する] をクリックすることをお勧めします。次に、 github.com:<your-username>/<your-repo-name>
に新しいリポジトリを作成します。サイトを<your-github-username>.github.io
にアップロードする場合は、リポジトリの名前が<your-github-username>.github.io
または<your-github-orgname>.github.io
である必要があることに注意してください。 <your-github-orgname>.github.io
、GitHub ページのドキュメントに記載されているとおり。サイトを展開する方法の詳細については、以下の「展開」セクションを確認してください。新しいリポジトリを作成したら、それをマシンにダウンロードするだけです。
$ git clone [email protected]: < your-username > / < your-repo-name > .git
$ cd < your-repo-name >
Docker を使用して Jekyll と Ruby の依存関係をインストールするのが最も簡単な方法です。
al-folio
ローカル マシン上で起動して実行するには、次の手順を実行する必要があります。
$ docker compose pull
$ docker compose up
初めて実行すると、サイズ 400MB 程度の Docker イメージがダウンロードされることに注意してください。
ここで、テーマを自由にカスタマイズしてください (名前を変更することを忘れないでください)。完了したら、同じコマンド ( docker compose up
) を使用して、すべての変更を加えた Web ページをレンダリングできます。また、最終的な変更は必ずコミットしてください。
ポート番号を変更するには、
docker-compose.yml
ファイルを編集します。
注: このアプローチは、al-folio の古いバージョンまたは非常にカスタムなバージョンを構築したい場合にのみ必要です。
以下を使用して、新しい Docker イメージを構築して実行します。
$ docker compose up --build
jekyll を更新したり、新しい Ruby パッケージをインストールしたりしたい場合は、前のコマンドの最後に
--force-recreate
引数を使用してイメージを再度ビルドするだけです。 Ruby と Jekyll をダウンロードし、すべての Ruby パッケージを最初から再度インストールします。
特定の Docker バージョンを使用したい場合は、 docker-compose.yaml
のlatest
タグをyour_version
に変更することで使用できます。たとえば、 v0.10.0
で Web サイトを作成しており、それを使い続けたいと考えているとします。
システムに Ruby と Bundler (ヒント: Ruby gem の管理を容易にするために、 rbenv の使用を検討してください)、さらに Python と pip (ヒント: Python パッケージの管理を容易にするために、venv や conda などの仮想環境の使用を検討してください) がシステムにインストールされていると仮定します。 jupyter
のみを使用する場合は、 pipx を使用できます。
$ bundle install
# assuming pip is your Python package manager
$ pip install jupyter
$ bundle exec jekyll serve --lsi
ここで、テーマを自由にカスタマイズしてください (名前を変更することを忘れないでください)。完了したら、最後の変更をコミットします。
Web サイトを GitHub Pages にデプロイするのが最も一般的なオプションです。バージョン v0.3.5 以降、 al-folio は新しい変更をリポジトリにプッシュするたびに Web ページを自動的に再デプロイします。
個人および組織の Web ページの場合:
<your-github-username>.github.io
または<your-github-orgname>.github.io
でなければなりません。_config.yml
で、 url
https://<your-github-username>.github.io
に設定し、 baseurl
空のままにします。<your-github-username>.github.io
で利用できるようになります。プロジェクトページの場合:
_config.yml
で、 url
をhttps://<your-github-username>.github.io
に、 baseurl
/<your-repository-name>/
に設定します。<your-github-username>.github.io/<your-repository-name>/
で利用できるようになります。自動展開を有効にするには:
master
ブランチに加えて、リポジトリに新しく構築されたgh-pages
ブランチが追加されるはずです。gh-pages
に設定します ( master
ではありません)。詳細については、「GitHub Pages サイトの公開ソースの構成」を参照してください。サイトを別のブランチに保持する場合は、 Web サイトを保持するブランチで.github/workflows/deploy.yml
を開き、on->push->branches および on->pull_request->branch を Web サイトを保持するブランチに変更します。の上。これにより、そのブランチのプル/プッシュのアクションがトリガーされます。このアクションは、トリガーされたブランチに Web サイトをデプロイします。
Web サイトを GitHub ページに手動で再デプロイする必要がある場合は、「アクション」に移動し、左側のサイドバーにある「デプロイ」をクリックして、「ワークフローを実行」をクリックします。
GitHub Pages を使用せず、別の場所でページをホストすることにした場合は、次のコマンドを実行するだけです。
$ bundle exec jekyll build --lsi
これにより、静的 Web ページが_site/
フォルダーに (再) 生成されます。次に、 _site/
ディレクトリの内容をホスティング サーバーにコピーするだけです。
ファイルから未使用の CSS クラスも削除したい場合は、次を実行します。
$ purgecss -c purgecss.config.js
これにより、 _site/assets/css/
フォルダー内の CSS ファイルが、パージされた CSS ファイルに置き換えられます。
注: Web ページを構築する前に、 _config.yml
のurl
とbaseurl
フィールドを必ず正しく設定してください。 Web ページをyour-domain.com/your-project/
にデプロイする場合は、 url: your-domain.com
およびbaseurl: /your-project/
設定する必要があります。 your-domain.com
に直接デプロイする場合は、 baseurl
空白のままにしておきます。
注:何をしようとしているのかわからない場合は、この方法を使用しないでください (ソースの発行に精通していることを確認してください)。このアプローチにより、Web サイトのソース コードを 1 つのリポジトリに置き、展開バージョンを別のリポジトリに置くことができます。
Web サイトの公開ソースが$HOME/repo/
の下に複製された git バージョン管理リポジトリのpublishing-source
サブディレクトリであると仮定します。ユーザー サイトの場合、これは$HOME/<user>.github.io
のようなものになる可能性があります。
まず、デプロイメント リポジトリ ディレクトリから、公開ソースをホストしている git ブランチをチェックアウトします。
次に、Web サイトのソース ディレクトリ (通常は al-folio フォークのクローン) から次のようにします。
$ bundle exec jekyll build --lsi --destination $HOME /repo/publishing-source
これにより、jekyll に Web サイトを$HOME/repo/publishing-source
にデプロイするように指示されます。
注: Jekyll はビルドする前に$HOME/repo/publishing-source
クリーンアップします。
以下の引用は、jekyll 設定ドキュメントから直接引用したものです。
宛先フォルダーはサイトのビルド時にクリーンアップされます
<destination>
のコンテンツは、デフォルトでは、サイトの構築時に自動的にクリーンアップされます。サイトによって作成されていないファイルまたはフォルダーは削除されます。一部のファイルは、<keep_files>
構成ディレクティブ内で指定することで保持できます。
<destination>
には重要な場所を使用しないでください。代わりに、それをステージング領域として使用し、そこから Web サーバーにファイルをコピーします。
$HOME/repo/publishing-source
jekyll にそのままにしておきたいファイルが含まれている場合は、 _config.yml
のkeep_files
の下にそれらのファイルを指定します。デフォルト設定では、al-folio はトップレベルのREADME.md
発行元にコピーします。この動作を変更したい場合は、 _config.yml
のexclude
の下にREADME.md
を追加します。
注:公開ソース リポジトリでjekyll clean
を実行しないでください。実行すると、 _config.yml
のkeep_files
の内容に関係なく、ディレクトリ全体が削除されます。
上記のようにal-folioをインストールした場合は、リポジトリをテーマの最新バージョンと自動的に同期するように GitHub アクションを構成できます。
[設定] -> [アクション] -> [一般] -> [ワークフロー] 権限に移動し、GitHub Actions に読み取りおよび書き込み権限を付与し、「GitHub Actions にプル リクエストの作成と承認を許可する」にチェックを入れて、変更を保存します。
次に、「アクション」->「新しいワークフロー」->「ワークフローを自分で設定」に移動し、次のワークフローを設定して変更をコミットします。
name : Sync from template
on :
# cronjob trigger
schedule :
- cron : " 0 0 1 * * "
# manual trigger
workflow_dispatch :
jobs :
repo-sync :
runs-on : ubuntu-latest
steps :
# To use this repository's private action, you must check out the repository
- name : Checkout
uses : actions/checkout@v3
- name : actions-template-sync
uses : AndreasAugustin/[email protected]
with :
github_token : ${{ secrets.GITHUB_TOKEN }}
source_repo_path : alshedivat/al-folio
upstream_branch : master
テンプレートに利用可能な変更がある場合は、リポジトリ内でプル リクエストを受け取ります。
もう 1 つのオプションは、以下の手順に従ってコードを手動で更新することです。
# Assuming the current directory is <your-repo-name>
$ git remote add upstream https://github.com/alshedivat/al-folio.git
$ git fetch upstream
$ git rebase v0.9.0
以前のバージョンを大幅にカスタマイズした場合は、アップグレードが難しくなる可能性があります。上記の手順に従うこともできますが、 git rebase
によりマージ競合が発生する可能性があり、解決する必要があります。詳細については、git rebase マニュアルと競合の解決方法を参照してください。リベースが複雑すぎる場合は、新しいバージョンのテーマを最初から再インストールし、コンテンツと以前のバージョンからの変更を手動で移植することをお勧めします。
よくある質問をいくつか紹介します。別の質問がある場合は、ディスカッションを使用して質問してください。
Q:このテンプレートから新しいリポジトリを作成し、リポジトリをセットアップした後、デプロイメント エラーが発生します。 Web サイトは自動的に正しく展開されるはずではありませんか?
A:はい、リリースv0.3.5
以降を使用している場合、Web サイトは最初のコミット直後に自動的かつ正しく再デプロイされます。いくつかの変更を加え (例: _config.yml
の Web サイト情報を変更)、コミットして、プッシュしてください。前のセクションの展開手順に従ってください。 (該当号:209号)
Q:カスタム ドメイン (例: foo.com
) を使用しています。デプロイのたびに、カスタム ドメインがリポジトリ設定で空白になります。それを修正するにはどうすればよいですか?
A: CNAME
ファイルをリポジトリのmaster
またはsource
ブランチに追加する必要があります。ファイルにはカスタム ドメイン名が含まれている必要があります。 (関連号:130)
Q:私の Web ページはローカルで動作します。しかし、デプロイ後はビルドに失敗し、 Unknown tag 'toc'
がスローされます。それを修正するにはどうすればよいですか?
A:前のセクションの展開手順に従っていることを確認してください。デプロイメント ブランチをgh-pages
に設定する必要があります。 (関連号: 1438)
Q:私の Web ページはローカルで動作します。しかし、デプロイ後は正しく表示されません(CSSとJSが正しく読み込まれていません)。それを修正するにはどうすればよいですか?
A: _config.yml
でurl
とbaseurl
パスを正しく指定していることを確認してください。 url
をhttps://<your-github-username>.github.io
に設定するか、カスタム ドメインを使用している場合はhttps://<your.custom.domain>
に設定します。個人または組織の Web サイトを展開している場合は、 baseurl
空白のままにしておきます。プロジェクト ページをデプロイしている場合は、 baseurl: /<your-project-name>/
を設定します。これまでの手順がすべて正しく行われた場合、必要なのはブラウザーがサイト スタイルシートを再度取得することだけです。
Q: Atom フィードが機能しません。なぜ?
A: _config.yml
でurl
とbaseurl
パスを正しく指定していることを確認してください。 RSS フィード プラグインは、正しく設定されたフィールド ( title
、 url
、 description
、 author
で動作します。適切な方法で入力して、もう一度お試しください。
Q: related_blog_posts
有効にするとサイトが機能しません。なぜ?
A:これはおそらく、関連投稿の計算に使用される分類子リボーン プラグインが原因です。エラーにLiquid Exception: Zero vectors can not be normalized...
と表示されている場合は、特定の投稿の関連投稿を計算できなかったことを意味します。これは通常、意味のある単語 (ストップワードのみ) や投稿内で使用した特定の文字が含まれていない空のブログ投稿または最小限のブログ投稿によって発生します。また、同様の投稿の計算は、すべてのpost
に対して行われます。これは、お知らせを含む、 layout: post
使用するすべてのページを意味します。この動作を変更するには、関連投稿を表示したくないページの前題に、 related_posts: false
を追加するだけです。
Q:デプロイしようとすると、github のログイン資格情報が要求されますが、github はパスワード認証を無効にし、エラーで終了します。修正方法は?
A:好みのエディターを使用して .git/config ファイルを開きます。 url
変数のhttps
部分をssh
に変更します。もう一度デプロイしてみてください。
出版物のページは、BibTex 参考文献から自動的に生成されます。 _bibliography/papers.bib
を編集するだけです。 _pages/publications.md
を編集することで、新しい*.bib
ファイルを追加し、出版物の外観を自由にカスタマイズすることもできます。
出版物では、自分自身の著者エントリは、 _config.yml
の文字列配列scholar:last_name
と文字列配列scholar:first_name
によって識別されます。
scholar :
last_name : [Einstein]
first_name : [Albert, A.]
エントリが姓と名のいずれかの形式に一致する場合、下線が付きます。共著者に関するメタ情報を_data/coauthors.yml
に保存しておくと、Jekyll がその Web ページへのリンクを自動的に挿入します。 _data/coauthors.yml
の共著者データ形式は次のとおりです。
" Adams " :
- firstname : ["Edwin", "E.", "E. P.", "Edwin Plimpton"]
url : https://en.wikipedia.org/wiki/Edwin_Plimpton_Adams
" Podolsky " :
- firstname : ["Boris", "B.", "B. Y.", "Boris Yakovlevich"]
url : https://en.wikipedia.org/wiki/Boris_Podolsky
" Rosen " :
- firstname : ["Nathan", "N."]
url : https://en.wikipedia.org/wiki/Nathan_Rosen
" Bach " :
- firstname : ["Johann Sebastian", "J. S."]
url : https://en.wikipedia.org/wiki/Johann_Sebastian_Bach
- firstname : ["Carl Philipp Emanuel", "C. P. E."]
url : https://en.wikipedia.org/wiki/Carl_Philipp_Emanuel_Bach
エントリが姓と名の組み合わせのいずれかに一致する場合、そのエントリが強調表示され、指定された URL にリンクされます。
Web ページ上でのエントリの表示方法に影響を与えるために使用できるカスタム bibtex キーワードがいくつかあります。
abbr
: エントリの左側に略語を追加します。これらへのリンクを追加するには、_data フォルダーに 会場.yaml ファイルを作成し、一致するエントリを追加します。abstract
: クリックすると非表示のテキスト フィールドを展開して要約テキストを表示する「Abs」ボタンを追加します。arxiv
: Arxiv Web サイトへのリンクを追加します (注: ここには arxiv 識別子のみを追加します - リンクは自動的に生成されます)bibtex_show
: 完全な参考文献エントリを含む非表示のテキスト フィールドを展開する「参考文献」ボタンを追加します。html
: ユーザー指定のリンクにリダイレクトする「HTML」ボタンを挿入します。pdf
: 指定したファイルにリダイレクトする「PDF」ボタンを追加します (完全なリンクが指定されていない場合、ファイルは /assets/pdf/ ディレクトリに配置されると想定されます)supp
: 指定されたファイルに「Supp」ボタンを追加します (完全なリンクが指定されていない場合、ファイルは /assets/pdf/ ディレクトリに配置されると想定されます)blog
: 指定されたリンクにリダイレクトする「ブログ」ボタンを追加します。code
: 指定したリンクにリダイレクトする「コード」ボタンを追加します。poster
: 指定されたファイルにリダイレクトする「ポスター」ボタンを追加します (完全なリンクが指定されていない場合、ファイルは /assets/pdf/ ディレクトリに配置されると想定されます)slides
: 指定したファイルにリダイレクトする「スライド」ボタンを追加します (完全なリンクが指定されていない場合、ファイルは /assets/pdf/ ディレクトリに配置されると想定されます)website
: 指定したリンクにリダイレクトする「Webサイト」ボタンを追加します。altmetric
: Altmetric バッジを追加します (注: DOI が提供されている場合はtrue
使用し、それ以外の場合は Altmetric 識別子のみをここに追加します - リンクは自動的に生成されます)dimensions
: ディメンション バッジを追加します (注: DOI または PMID が指定されている場合はtrue
使用し、それ以外の場合はディメンションの識別子のみをここに追加します。リンクは自動的に生成されます)bib.html ファイルを編集することで、独自のボタンを実装できます。
この Jekyll テーマは、作品をカテゴリに分類できるcollections
実装しています。テーマには、 news
とprojects
2 つのデフォルトのコレクションが付属しています。 news
コレクションの項目が自動的にホームページに表示されます。 projects
コレクションのアイテムは、プロジェクト ページの応答性の高いグリッドに表示されます。
独自のコレクション、アプリ、短編小説、コースなど、あらゆるクリエイティブな作品を簡単に作成できます。これを行うには、 _config.yml
ファイル内のコレクションを編集し、対応するフォルダーを作成し、 _pages/projects.md
のようなコレクションのランディング ページを作成します。
al-folio には、ページやブログ投稿用のスタイリッシュなレイアウトが付属しています。
このテーマを使用すると、distill.pub スタイルでブログ投稿を作成できます。
<d-*>
タグを使用して蒸留スタイルの投稿を作成する方法の詳細については、例を参照してください。
al-folio は、 MathJax による高速な数式組版と、GitHub スタイルを使用したコード構文のハイライトをサポートしています。
Bootstrap のグリッド システムを使用すると、写真の書式設定が簡単になります。ブログ投稿やプロジェクト ページ内に美しいグリッドを簡単に作成できます。
al-folio は、 github-readme-stats と github-profile-trophy を使用して、GitHub リポジトリとユーザー統計を/repositories/
ページに表示します。
_data/repositories.yml
を編集し、 github_users
とgithub_repos
リストを変更して、独自の GitHub プロファイルとリポジトリを/repositories/
ページに含めます。
次のコードを使用して、これを他のページに表示することもできます。
<!-- code for GitHub users -->
{% if site.data.repositories.github_users %}
< div class =" repositories d-flex flex-wrap flex-md-row flex-column justify-content-between align-items-center " >
{% for user in site.data.repositories.github_users %}
{% include repository/repo_user.html username=user %}
{% endfor %}
</ div >
{% endif %}
<!-- code for GitHub trophies -->
{% if site.repo_trophies.enabled %}
{% for user in site.data.repositories.github_users %}
{% if site.data.repositories.github_users.size > 1 %}
< h4 > {{ user }} </ h4 >
{% endif %}
< div class =" repositories d-flex flex-wrap flex-md-row flex-column justify-content-between align-items-center " >
{% include repository/repo_trophies.html username=user %}
</ div >
{% endfor %}
{% endif %}
<!-- code for GitHub repositories -->
{% if site.data.repositories.github_repos %}
< div class =" repositories d-flex flex-wrap flex-md-row flex-column justify-content-between align-items-center " >
{% for repo in site.data.repositories.github_repos %}
{% include repository/repo.html repository=repo %}
{% endfor %}
</ div >
{% endif %}
さまざまな美しいテーマカラーが選択できるように選択されています。デフォルトは紫ですが、 _sass/_themes.scss
ファイルの--global-theme-color
変数を編集することですぐに変更できます。他の色の変数もそこにリストされています。利用可能なストックテーマカラーオプションは、 _sass/_variables.scss
にあります。このファイルに独自の色を追加し、テンプレート全体で使いやすいようにそれぞれに名前を割り当てることもできます。
al-folio はソーシャル メディアでのプレビュー画像をサポートします。この機能を有効にするには、 _config.yml
でserve_og_meta
true
に設定する必要があります。これを完了すると、サイトのすべてのページの HTML head 要素に Open Graph データが含まれるようになります。
次に、サイトのソーシャル メディア プレビューに表示する画像を構成する必要があります。これは、 og_image
ページ変数を設定することで、ページごとに構成できます。個々のページでこの変数が設定されていない場合、テーマは_config.yml
で構成可能なサイト全体のog_image
変数に戻ります。ページ固有の場合とサイト全体の場合の両方で、 og_image
変数には、ソーシャル メディアのプレビューに表示する画像の URL を保持する必要があります。
投稿の Atom (RSS のような) フィードを生成します。これは、Atom および RSS リーダーに役立ちます。ホームページの/feed.xml
の後に入力するだけで、フィードにアクセスできます。たとえば、Web サイトのマウントポイントがメイン フォルダーであると仮定すると、 yourusername.github.io/feed.xml
と入力できます。
デフォルトでは、ブログ投稿の下部に関連投稿セクションが表示されます。これらは、現在の投稿と少なくともmin_common_tags
タグを共有するmax_related
られた最新の投稿を選択することによって生成されます。特定の投稿に関連する投稿を表示したくない場合は、単純に投稿の前題にrelated_posts: false
を追加します。すべての投稿に対してこれを無効にしたい場合は、 _config.yml
のrelated_blog_posts
セクションでenabled
false に設定するだけです。
al-folio への投稿は大歓迎です。始める前に、ガイドラインをご覧ください。
ドキュメントを改善したい場合、以下のリストに Web ページを追加したい場合、または軽微な不一致やバグを修正したい場合は、お気軽にmaster
に直接 PR を送信してください。より複雑な問題/バグ、または機能リクエストについては、適切なテンプレートを使用して問題を開いてください。
私たちの最も積極的な貢献者は、メンテナ チームに参加することを歓迎します。ご興味がございましたら、ぜひご連絡ください。
マルアン | ローハン・デブ・サーカール | アミール・プールマン | ジョージ |
contrib.rocks で作成されました。
このテーマは、MIT ライセンスの条件に基づいてオープン ソースとして利用できます。
もともと、 al-folio は*folio テーマ (Lia Bogoev によって MIT ライセンスの下で公開) に基づいていました。それ以来、スタイルが完全に書き直され、多くの優れた機能が追加されました。