今日は、専門家がどのように助けを求めることができるかを詳しく見ていきます Pandoc 堅牢で実装が簡単なパブリケーションチェーンを作成します。 Pandocは非常にシンプルでありながら強力なツールであり、ユーザーは要件に応じてドキュメントをさまざまな形式に変換できます。
これにより、ドキュメントと公開が大幅に簡素化され、さらにいくつかの新しい自動化の可能性が開かれます。何よりも、PandocはGitに適したマークダウンに依存しています。つまり、追加の手間をかけずに、ドキュメントのバージョン管理システムを実装することもできます。
面倒と言えば、Dockerイメージを使用してPandocとLaTeXを簡単なプルでインストールします。ソフトウェアのインストールには時間がかかる可能性があり、新しいプロジェクトを開始するときに最初から動作するソフトウェア環境をセットアップすることはほとんど生産的ではありません。 Dockerは、プラットフォームに関係なく、ユーザーがすべてを数分でセットアップできるようにすることで、これらの問題を軽減するのに役立ちます。
ソフトウェア開発用の設計ドキュメントテンプレート
さらに、雇用主があなた自身のコンピュータハードウェアを提供することを要求することは珍しいことではありません。これは、Bring Your Own Device(BYOD)と呼ばれることが多く、COVID-19パンデミックが発生したことを忘れないでください。 在宅勤務がはるかに普及している 。 Dockerのようなソリューションがなければ、Windows、macOS、Linuxなどのさまざまなハードウェアやオペレーティングシステムで実行されているアプリケーションをサポートすることは困難です。
Pandocに進む前に、Dockerコンテナとイメージを詳しく見ていきましょう。
Dockerコンテナーを使用すると、新しいマシンに複数のソフトウェアアプリケーションをインストールする必要がなくなります。ビルド済みのDockerイメージは DockerHub 多数のアプリケーション向け。 AWS、Azure、Googleなどの主要なクラウドプロバイダーはすべて、コンテナーレジストリを提供しています。他にも多くのサードパーティレジストリがあります。 GitLab そして Red Hat OpenShift 。
イメージは、すべてではないにしてもほとんどのアプリケーションで使用できる可能性があります。これは、ほとんどのアプリケーションとその依存関係をインストールする必要がないことを意味します。アプリケーションは、Dockerコンテナで簡単に実行できます。これにより、さまざまなハードウェアおよびさまざまなオペレーティングシステムでアプリケーションを実行しているチームメンバーに関連する問題が簡単に解消されます。同じイメージを使用して、コンテナーを実行できる任意のシステムでコンテナーを実行できます。 Dockerスペシャリスト このプロセスを非常に高速かつ効率的にすることができます。
いくつかの異なる形式のドキュメントが必要になる場合があります。同じドキュメントを、プレゼンテーション用のHTMLや配布資料用のPDFなど、さまざまな形式で利用できるようにする必要がある場合があります。ファイル形式間の変換は面倒で、多くの時間を必要とする場合があります。良い解決策は、信頼できる唯一の情報源を持つ出版チェーンを持つことです。すべての文書は同じ言語で書かれている必要があります。バージョン管理とGitリポジトリへの保存が簡単なため、テキストベースの言語である必要があります。
マークダウン 信頼できる唯一の情報源を作成するのに適しています。 Markdownドキュメントを他のさまざまな形式に変換できるソフトウェアはすぐに利用でき、信頼できる傾向があります。
cとc ++の学習
Pandoc は、ドキュメントをさまざまな形式に変換できるソフトウェアパッケージです。特に、MarkdownをHTML、PDF、およびその他の広く使用されている形式に変換できます。変換プロセスは、Markdownソースのテンプレートとメタデータを使用してカスタマイズできます。
Pandocには ラテックス PDFファイルを作成するためのインストール。 PandocとLaTeXのインストールにはかなりの時間がかかります。幸い、Dockerイメージと呼ばれるものがあります pandoc / latex 、Docker以外のものをインストールする必要がなくなります。
必要なソフトウェアを含む適切なDockerイメージを見つけるか作成する必要があります。ダウンロードには時間がかかる場合があるため、イメージをローカルレジストリにプルすることをお勧めします。
docker pull pandoc/latex
Dockerコンテナーでコマンドを実行するには、Dockerコンテナーを実行し、コンテナーでコマンドを実行するラッパーが必要です。これに対する良い解決策は、macOSまたはUNIX / Linuxシステムでシェル関数を作成することです。この関数は、任意のログインスクリプト、または$HOME/.functions
などの別のファイルに配置できます。同じ機能を持つスクリプトやエイリアスを作成することもできます。
function pandoc { echo pandoc [email protected] docker run -it --rm -v $PWD:/work -w /work pandoc/latex pandoc ' [email protected] ' }
この関数は次のことを行います。
pandoc/latex
からDockerコンテナを実行します画像。-it
オプションは、対話型ターミナルセッションを作成し、コマンドの出力を表示します。--rm
オプションは、コマンドが終了するとコンテナを削除します。-v $PWD:/work
オプションは、ホスト上の現在のディレクトリをディレクトリ/work
にマウントします。コンテナ内。-w /work
/work
を作成しますコンテナ内のディレクトリ作業ディレクトリ。pandoc ' [email protected] '
pandoc
を実行します関数に渡されたすべてのコマンドラインオプションを渡すコンテナ内のコマンド。シェルまたはスクリプトは、関数をメモリにロードする必要があります。
. $HOME/.functions
関数はそれ自体がコマンドになり、pandoc
と同じように動作します。バイナリはローカルにインストールされました。このアプローチは、Dockerイメージで使用可能なすべてのコマンドに使用できます。
MarkdownをHTMLに変換するには、Markdownでテンプレートとメタデータを使用することをお勧めします。
Markdownソースには、任意のメタデータを持つことができるヘッダーセクションを含めることができます。メタデータは、キーと値のペアの形式を取ります。値は、HTMLテンプレートで置き換えることができます。
--- title: Document title links: prev: index next: page002 ...
ヘッダーは、3つのダッシュ---
のみを含む行で始まります。 3つのドット...
のみを含む行で終了します。キーは、コロンとその値が後に続く単一の単語です。キーはネストできます。この例は、title, links.prev
と呼ばれるキーの定義を示しています。およびlinks.next
。
このアプローチでは、ページごとに個別のファイルを使用します。この例では、前のページはìndex.md
、現在のページはpage001.md
、次のページはpage002.md
です。実際には、より意味のあるファイル名が使用されるため、ページの並べ替えや挿入が簡単になります。
HTMLテンプレートは、単なるHTMLファイルです。メタデータの置換と単純な制御構造をドル記号の間に追加できます。 PandocのHTMLテンプレートの簡単な例を次に示します。
$title$ $body$ $if(links.prev)$ « Previous $endif$ $if(links.next)$ Next » $endif$
例は テンプレート 。 $body$
HTMLに変換されたMarkdownテキストに置き換えられます。条件ステートメントは、メタデータがMarkdownヘッダーで定義されている場合にのみHTMLリンクを生成します。
Pandocは、入力ファイルと出力ファイルの名前に加えて、テンプレートファイルを通知する必要があります。デフォルトの入力ファイル形式は マークダウン 。指定された出力ファイル拡張子から出力ファイル形式を推測できます。
出力を生成するコマンドは、スクリプトまたはメイクファイルです。
ギリシャの金融危機の説明
dir=Project for input_file in ${dir}/*.md do output_file=HTML/${input_file%.md}.html if [[ ${input_file} -nt ${output_file} ]] then pandoc --data-dir . --template presentations.html -t html -o ${output_file} ${input_file} fi done
すべての.md
Project
内のファイルディレクトリ、それは対応する.html
を作成しますHTML/Project
内のファイル出力ファイルが入力ファイルより古いか、存在しない場合はディレクトリ。
Beamerは、プレゼンテーションを作成するためのLaTeXパッケージです。出力はPDFスライドショーです。
同じMarkdownソースファイルを使用して、ビーマーPDFを生成できます。
グラフィックデザインの7つの原則
pandoc -t beamer -o PDF/Project.pdf -V theme:Boadilla -V colortheme:whale Project/index.md Project/page000.md
コマンドの詳細は次のとおりです。
-t beamer
オプションは、LaTeXとbeamerを使用してPDFを生成することを示しています。-o
オプションは出力ファイルを指定します。-V
オプションは、ビーマーテーマとカラーテーマを選択します。すべての処理はDockerコンテナ内で実行されます。
MarkdownドキュメントをPDFドキュメントに変換することも非常に簡単です。 PDFは常に、最初にMarkdownをLaTeXに変換することによって生成されます。メタデータをMarkdownヘッダーに追加して、用紙サイズや余白サイズの設定などの出力をカスタマイズできます。
--- title: Title of document papersize: a4 geometry: - margin=20mm ...
マークダウンをPDFに変換するコマンドは簡単です。
pandoc -s Project/outline.md -o PDF/ProjectOutline.pdf
-sオプションは、スタンドアロンドキュメントを作成します。
ソフトウェアのインストールに何日も費やす必要はなくなりました。 Dockerコンテナーでコマンドを実行するだけで、インストールの必要がなくなります。多くのアプリケーションには、DockerHubに適切なDockerイメージがあります。ソフトウェアの更新が必要な場合は、最新のDockerイメージをプルするだけです。
新しいコンピューターのセットアップは、Dockerをインストールし、必要なイメージをプルして、いくつかのスクリプトを作成するだけです。
異なる形式でドキュメントを作成する必要がなくなりました。 Markdownなどの単一のフォーマットをすべてのドキュメントに使用できます。 Pandocなどのツールは、Markdownから多数の異なる形式にドキュメントを生成できます。
Markdownはテキストファイルであるため、Gitリポジトリにチェックインすると、完全なバージョン履歴が利用可能になります。 Gitリポジトリは、自動的にMarkdownをレンダリングし、ドキュメントファイル自体で厄介な変更履歴を使用せずに変更にコメントできるようにします。
知覚のゲシュタルト原則は何ですか
Dockerは、アプリケーションとその依存関係をコンテナーと呼ばれる分離された環境で実行できるようにする軽量の仮想化を実装します。
Dockerは、使用可能なCPU、メモリ、およびその他のリソースのサブセットからコンテナーを作成し、イメージと呼ばれる縮小されたLinuxファイルシステムへの依存関係とともに保存される単一のアプリケーションを実行します。
Pandocは、通常Markdownで記述されたドキュメントを、HTMLやPDFを含む他のさまざまなドキュメント形式に変換できるオープンソースソフトウェアです。
Pandocは、入力ファイルとそのドキュメントタイプ、必要な出力ファイルとそのドキュメントタイプ、およびオプションで出力ファイル形式を定義するテンプレートファイルをパラメーターとして受け取るコマンドラインツールです。
Pandoc Markdownは、Markdownのわずかに変更されたバージョンであり、readmeファイルやオンラインメッセージング投稿のフォーマットによく使用される軽量のプレーンテキストマークアップ言語です。