このリポジトリには、Jekyllを使用して作成されたCloudCannon Friscoテンプレートの修正フォークを使用して作成され、GitHubページを使用して構築/ホストされたOpenFaas Webページとブログ-https://www.openfaas.comが含まれています。
次のセクションでは、サイトに行われるいくつかの一般的な変更、投稿、著者などの基本的なガイドを提供します。
すべてのブログ投稿にはタイトルと説明が必要です。これはSEOに役立ちます。著者の名前は説明に記載されています。
形式:
短いイントロ/概要(150ワード)
一連の論理的なステップまたはポイント /トピック
概念図、ビデオ、または写真を埋め込み、主張するのに役立ちます。
ドキュメント/githubなどを指してください。
必要に応じて、使用したフィードバックを協力したり、提供したりした他の人への謝辞を示します。 Githubで作業する場合、これは公開史上利用できますので、控えめに使用してください。
ステップを使用する場合、見出しにアクティブ/命令音声を使用します。
良い:
悪い:
英語は広く話されていますが、すべての読者の第一言語ではありません。この出版物も多くの技術的なトピックをカバーしていますが、あなたは専門家かもしれませんが、読者がそうではないので、記事を書くときはこれらの両方を考慮してください。
より単純な単語が存在する場合は、常に英語で書くことができ、可能な場合はラテン語から派生した単語を避け、アクティブな動詞がそれを置き換えることができるたばこを避けてください。
あなたが記事を書いているなら、あなたの声が出くわすはずです、そしてあなたの経験。それがあなたが投稿を書いている理由です - 受動的な緊張やステートメントの使用を避けるようにしてください。ここでは、 Iで始まる文を使用できます。
前に:
後:
短い文を使用してください:
前に:
後:
いくつかの追加の推奨については、次のことを参照してください。
ケンタッキー大学ラファエルA.フィンケルによるこの投稿。
および[前と後] http://www.plainenglish.co.uk/campaingiming/examples/before-and-after.html] from PlainEnglish.co.uk
「Boom!」、「楽しさと利益」などの楽しい用語を使用し、テキストで冗談を言うことは、個人的なブログでうまく機能する可能性があります。 OpenFaasのブログとドキュメントでは、この種の「楽しい」または「かわいい」用語を最小限に抑える必要があります。
意見はあなた自身の視点として提示されるべきです。ポジションをバックアップするためのデータがある場合、これはあなたのポイントを信頼できるものにするのに役立ちます。データがない場合は、読者が自分自身に関連することによってこれを理解しているI found it easier to ..を確認してくださいI believe that ..
事実 /客観的なデータを述べている場合は、引用符、リンクなどでこれをバックアップする必要があります。
著作権法に注意してください。図を使用したり、どこかから見積もりを埋め込んだ場合は、適切な帰属を確認してください。
すべての画像をサブフォルダー./images/<post-name>に配置します
各投稿には、無料のストックフォトから選択したか、クリエイティブコモンズライセンスが提供されている背景写真が必要です。使用法 /ライセンスが最初に有効であることを確認せずにGoogleから画像を引き込まないでください。背景を1600ピクセルの幅にトリミングします。 jpegを使用して、エクスポート時に200kb-280kbを狙います(圧縮を増やす)
JPEGの「品質」を100%から70〜75%のような低いものに制限することにより、サイズをさらに減らすことができます。
ペクセル
解釈
インポストの画像とスクリーンショット
各ブログ投稿には、少なくとも1つの概念図が必要です。これは、機能、ニュース、またはデザインの論理的な流れまたは抽象的なビューを示すはずです。埋め込まれたツイートやビデオもこの目的に役立つ可能性があります。
画像はすべての投稿で重要ですが、合理的かつ可能な限り画像を圧縮 /トリミングしようとします。これは、GitHubリポジトリが成長できる巨大なサイズを緩和するのに役立ちます。
クロスポストコンテンツはSEOスコアに悪影響を与えるため、必要な「OG」ヘッダーを含めるように追加の注意と注意が払われない限り、行うべきではありません。 OpenFaasコミュニティブログのすべてのコンテンツがオリジナルであることを確認してください。
Webサイトやブログの開発/貢献を簡素化するためにDocker Composeファイルが提供されています。これは、OSXとWindows 10の両方で動作するように検証されています(Windowsで開発/書き込みの場合は、エディターでUnix Line Endingを使用してください)。
地元でサイトを実行します:
docker compose up
これにより、サイトがローカルでhttp:// localhost:4000で利用可能になります。
Starting openfaas-www_openfaas-jekyll_1 ... done
Attaching to openfaas-www_openfaas-jekyll_1
openfaas-jekyll_1 | ruby 2.5.1p57 (2018-03-29 revision 63029) [x86_64-linux-musl]
openfaas-jekyll_1 | Configuration file: /srv/jekyll/_config.yml
openfaas-jekyll_1 | Source: /srv/jekyll
openfaas-jekyll_1 | Destination: /srv/jekyll/_site
openfaas-jekyll_1 | Incremental build: disabled. Enable with --incremental
openfaas-jekyll_1 | Generating...
openfaas-jekyll_1 | Remote Theme: Using theme cloudcannon/frisco-jekyll-template
openfaas-jekyll_1 | done in 3.074 seconds.
openfaas-jekyll_1 | Auto-regeneration: enabled for '/srv/jekyll'
openfaas-jekyll_1 | Server address: http://0.0.0.0:4000
openfaas-jekyll_1 | Server running... press ctrl-c to stop.
編集者のサイトに加えられた変更はコンテナ内でピックアップされ、サイトは再生されます(これには_config.ymlの変更が含まれていないことに注意してください。これらの変更をピックアップするにはDockerコンテナを再起動する必要があります)。
たとえば、 _posts/2018-07-31-my-post.mdに独自の投稿を追加すると、Jekyllが変更を検出してサイトを再生することがわかります。
openfaas-jekyll_1 | Regenerating: 1 file(s) changed at 2018-07-31 21:28:36
openfaas-jekyll_1 | _posts/2018-08-22-my-post.md
openfaas-jekyll_1 | Remote Theme: Using theme cloudcannon/frisco-jekyll-template
openfaas-jekyll_1 | ...done in 2.0199265 seconds.
_data/users.ymlimages/users-logos/ランディングページの貢献者セクションはgenerate-stats.jsファイルにある小さなnodeスクリプトを使用して生成されています。 PRを開く前にこのスクリプトを実行することをお勧めします。これにより、貢献者のセクションが最新のものになるようになります。
node generate-stats.js
注:システムにnode.jsをインストールする必要があります。
著者に適切に起因するブログ投稿を作成するには、 _staff_membersディレクトリに<author_name>.mdファイルを作成して、チームに追加する必要があります。
チームページのチームメンバーの表示は、data/members.ymlファイルの位置に基づいています。
ブログ投稿の帰属は、ファイル名に基づいています。
たとえば、 _staff_members/alex.md 、次のメタデータを投稿することにより、帰属に使用できます。
author_staff_member: alex
その結果、割り当てられた各投稿で著者ボックスが表示されます。

著者の定義は、次の形式を取得します。
---
name: Alex Ellis
position: Founder
image_path: /images/author/ellis.jpg
twitter_username: alexellisuk
blurb: Founder of <a href="https://twitter.com/openfaas">@openfaas</a>. Open Source <a href="https://twitter.com/vmware">@vmware</a>.
---
| 鍵 | 詳細 |
|---|---|
| 名前 | 寄稿者のフルネーム |
| 位置 | プロジェクトとの関係の無料テキスト説明 |
| image_path | 著者のポートレートへの道、これは154px * 154pxの画像でなければなりません |
| twitter_username | 著者のTwitterハンドル( @なし) |
| ぼやけ | ユーザーに関する無料のテキスト情報、これは非常に短いはずです |
###投稿を提供します
投稿を貢献することは、埋め込まれた画像とともにマークダウン形式で投稿を含むPRを上げるのと同じくらい簡単です。
ポストマークダウンは_postsディレクトリに作成する必要があり、ファイルは次の構造を取得する必要があります。
yyyy-mm-dd-short-description-of-post.md
疑わしい場合は、既存の投稿をご覧ください。
投稿は2つの部分で構成されています。これは、投稿を説明し、レンダリング/アトリビューションなどの手がかりをJekyllに提供するYAMLフロントマターヘッダーと、単なる標準的なマークダウンであるポストボディを提供します。
ポストメタデータは次の形式を取得します。
---
title: Introducing the OpenFaaS Operator for Serverless on Kubernetes
date: 2018-07-14
image: /images/kubernetes-operator-crd/pexels-asphalt-blue-sky-clouds-490411.jpg
categories:
- kubernetes
author_staff_member: alex
canonical_url: https://blog.alexellis.io/introducing-the-openfaas-operator/
---
| 鍵 | 詳細 |
|---|---|
| タイトル | ブログ投稿のタイトル |
| 日付 | ブログ投稿の日付をyyyy-mm-dd形式で公開します |
| 画像 | タイトルの背後に表示される画像へのパスは、 imagesディレクトリの下のブログ投稿と同じ名前のディレクトリに追加する必要があります。 |
| カテゴリ | 投稿が該当するカテゴリのオプションのリストは、実行可能な以前の投稿から既存のカテゴリを常に再利用する必要があります |
| 著者_staff_member | _staff_membersディレクトリの著者ファイルの名前、帰属に使用されます(前のセクションを参照) |
| Canonical_url | ブログ投稿がすでに別のURLで公開されている場合は、このフィールドを設定する必要があります。オリジナルのコンテンツが優先されます。 |
Jekyllは複数の形式をサポートしていますが、Markdown形式で投稿を送信する必要があります。
次のガイドでは、構文について説明します。
また、投稿のフォーマット方法を学びたい場合は、既存の投稿と基礎となるマークダウンファイルを比較することも非常に便利です。
画像を追加すると、通常のマークダウン形式が使用されますが、外部画像が可能ですが、PRに画像を含めることが推奨されます。これらはimagesディレクトリの下の投稿と同じ名前のディレクトリにimages/kubernetes-operator-crd/必要があります。
注意してください賢明な画像サイズのみを含めるように注意してください。PRに追加する前に、画像を変更/処理したことを確認する必要があります。
このサイトはSASS StyleSheet言語を使用しています。SASSを使用して見た目や感触を変更する必要があるサイトの変更は、RAW .cssファイルを提供しないでください。
また、BULMAをCSSフレームワークとして使用しています。スタイルの変更 /追加を行う前に、考慮してください:
サイトのNAVBARとフッターは、次のファイルでYAMLを介して構成されています。
_data/footer.yml_data/navigation.ymlどちらにもエントリを追加することは、乱雑になってはならないため、最後の手段として必要です。
サイトの構築方法をより詳細に理解するには、Jekyll and Githubページのドキュメントを参照してください。
このサイトは、次のプラグインも使用します。
各プラグインを使用および構成する方法の詳細については、上記のDocumenationを参照してください。
rm -rf outg/ * ; ffmpeg -i videoplayback.mp4 -vf " select='not(mod(n,2000))',setpts='N/(30*TB)' " -f image2 -y outg/out%03d.jpg
ffmpeg -f image2 -framerate 1 -i outg/out%003d.jpg -vf " scale=width=-2:height=ih/2 " out.gif