apeescape2.com
  • メイン
  • 計画と予測
  • リモートの台頭
  • Uiデザイン
  • プロジェクト管理
技術

PandocとDockerでパブリケーションチェーンを作成する

今日は、専門家がどのように助けを求めることができるかを詳しく見ていきます Pandoc 堅牢で実装が簡単なパブリケーションチェーンを作成します。 Pandocは非常にシンプルでありながら強力なツールであり、ユーザーは要件に応じてドキュメントをさまざまな形式に変換できます。

これにより、ドキュメントと公開が大幅に簡素化され、さらにいくつかの新しい自動化の可能性が開かれます。何よりも、PandocはGitに適したマークダウンに依存しています。つまり、追加の手間をかけずに、ドキュメントのバージョン管理システムを実装することもできます。

面倒と言えば、Dockerイメージを使用してPandocとLaTeXを簡単なプルでインストールします。ソフトウェアのインストールには時間がかかる可能性があり、新しいプロジェクトを開始するときに最初から動作するソフトウェア環境をセットアップすることはほとんど生産的ではありません。 Dockerは、プラットフォームに関係なく、ユーザーがすべてを数分でセットアップできるようにすることで、これらの問題を軽減するのに役立ちます。

ソフトウェア開発用の設計ドキュメントテンプレート

さらに、雇用主があなた自身のコンピュータハードウェアを提供することを要求することは珍しいことではありません。これは、Bring Your Own Device(BYOD)と呼ばれることが多く、COVID-19パンデミックが発生したことを忘れないでください。 在宅勤務がはるかに普及している 。 Dockerのようなソリューションがなければ、Windows、macOS、Linuxなどのさまざまなハードウェアやオペレーティングシステムで実行されているアプリケーションをサポートすることは困難です。

Pandocに進む前に、Dockerコンテナとイメージを詳しく見ていきましょう。

Docker to the Rescue

Dockerコンテナーを使用すると、新しいマシンに複数のソフトウェアアプリケーションをインストールする必要がなくなります。ビルド済みのDockerイメージは DockerHub 多数のアプリケーション向け。 AWS、Azure、Googleなどの主要なクラウドプロバイダーはすべて、コンテナーレジストリを提供しています。他にも多くのサードパーティレジストリがあります。 GitLab そして Red Hat OpenShift 。

イメージは、すべてではないにしてもほとんどのアプリケーションで使用できる可能性があります。これは、ほとんどのアプリケーションとその依存関係をインストールする必要がないことを意味します。アプリケーションは、Dockerコンテナで簡単に実行できます。これにより、さまざまなハードウェアおよびさまざまなオペレーティングシステムでアプリケーションを実行しているチームメンバーに関連する問題が簡単に解消されます。同じイメージを使用して、コンテナーを実行できる任意のシステムでコンテナーを実行できます。 Dockerスペシャリスト このプロセスを非常に高速かつ効率的にすることができます。

Pandocのユースケース:ドキュメント

いくつかの異なる形式のドキュメントが必要になる場合があります。同じドキュメントを、プレゼンテーション用のHTMLや配布資料用のPDFなど、さまざまな形式で利用できるようにする必要がある場合があります。ファイル形式間の変換は面倒で、多くの時間を必要とする場合があります。良い解決策は、信頼できる唯一の情報源を持つ出版チェーンを持つことです。すべての文書は同じ言語で書かれている必要があります。バージョン管理とGitリポジトリへの保存が簡単なため、テキストベースの言語である必要があります。

マークダウン 信頼できる唯一の情報源を作成するのに適しています。 Markdownドキュメントを他のさまざまな形式に変換できるソフトウェアはすぐに利用でき、信頼できる傾向があります。

cとc ++の学習
マークダウンは、さまざまな用途のためにさまざまな形式に簡単に変換できます
マークダウンは、さまざまな用途のためにさまざまな形式に簡単に変換できます。

Pandoc

Pandoc は、ドキュメントをさまざまな形式に変換できるソフトウェアパッケージです。特に、MarkdownをHTML、PDF、およびその他の広く使用されている形式に変換できます。変換プロセスは、Markdownソースのテンプレートとメタデータを使用してカスタマイズできます。

Pandocには ラテックス PDFファイルを作成するためのインストール。 PandocとLaTeXのインストールにはかなりの時間がかかります。幸い、Dockerイメージと呼ばれるものがあります pandoc / latex 、Docker以外のものをインストールする必要がなくなります。

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イメージで使用可能なすべてのコマンドに使用できます。

HTMLへのマークダウン

MarkdownをHTMLに変換するには、Markdownでテンプレートとメタデータを使用することをお勧めします。

HTMLへのマークダウン

マークダウンメタデータ

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テンプレートは、単なるHTMLファイルです。メタデータの置換と単純な制御構造をドル記号の間に追加できます。 PandocのHTMLテンプレートの簡単な例を次に示します。

$title$ $body$ $if(links.prev)$ « Previous $endif$ $if(links.next)$ Next » $endif$

例は テンプレート 。 $body$ HTMLに変換されたMarkdownテキストに置き換えられます。条件ステートメントは、メタデータがMarkdownヘッダーで定義されている場合にのみHTMLリンクを生成します。

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内のファイル出力ファイルが入力ファイルより古いか、存在しない場合はディレクトリ。

MarkdownからBeamerPDFを生成する

Beamerは、プレゼンテーションを作成するためのLaTeXパッケージです。出力はPDFスライドショーです。

MarkdownからBeamerPDFを生成する

同じ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オプションは、ビーマーテーマとカラーテーマを選択します。
  • コマンドは、指定された順序で連結されるMarkdownファイルのリストで終了します。

すべての処理はDockerコンテナ内で実行されます。

PDFへのマークダウン

MarkdownドキュメントをPDFドキュメントに変換することも非常に簡単です。 PDFは常に、最初にMarkdownをLaTeXに変換することによって生成されます。メタデータをMarkdownヘッダーに追加して、用紙サイズや余白サイズの設定などの出力をカスタマイズできます。

--- title: Title of document papersize: a4 geometry: - margin=20mm ...

MarkdownからPDFを生成する

マークダウンを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は、アプリケーションとその依存関係をコンテナーと呼ばれる分離された環境で実行できるようにする軽量の仮想化を実装します。

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

Dockerは、使用可能なCPU、メモリ、およびその他のリソースのサブセットからコンテナーを作成し、イメージと呼ばれる縮小されたLinuxファイルシステムへの依存関係とともに保存される単一のアプリケーションを実行します。

Pandocとは何ですか?

Pandocは、通常Markdownで記述されたドキュメントを、HTMLやPDFを含む他のさまざまなドキュメント形式に変換できるオープンソースソフトウェアです。

Pandocをどのように使用しますか?

Pandocは、入力ファイルとそのドキュメントタイプ、必要な出力ファイルとそのドキュメントタイプ、およびオプションで出力ファイル形式を定義するテンプレートファイルをパラメーターとして受け取るコマンドラインツールです。

Pandoc Markdownとは何ですか?

Pandoc Markdownは、Markdownのわずかに変更されたバージョンであり、readmeファイルやオンラインメッセージング投稿のフォーマットによく使用される軽量のプレーンテキストマークアップ言語です。

完全なユーザー認証とアクセス制御– Laravel Passportチュートリアル、Pt。 1

バックエンド

完全なユーザー認証とアクセス制御– Laravel Passportチュートリアル、Pt。 1
AI投資入門書:基礎を築く(パートI)

AI投資入門書:基礎を築く(パートI)

財務プロセス

人気の投稿
複数の主要な利害関係者による製品バックログの優先順位付け:ケーススタディ
複数の主要な利害関係者による製品バックログの優先順位付け:ケーススタディ
生成的敵対的ネットワークを使用してランダムノイズからデータを作成する
生成的敵対的ネットワークを使用してランダムノイズからデータを作成する
アジャイルコーチは何をし、どうすれば1つになることができますか?
アジャイルコーチは何をし、どうすれば1つになることができますか?
Railsヘルパーの使用方法:ブートストラップカルーセルのデモンストレーション
Railsヘルパーの使用方法:ブートストラップカルーセルのデモンストレーション
国際送金市場はどのように進化していますか?
国際送金市場はどのように進化していますか?
 
あなたの本当に、フリーランスのデザインアドバイス
あなたの本当に、フリーランスのデザインアドバイス
デザインツールの対決– Adob​​e XDとSketch(2019)
デザインツールの対決– Adob​​e XDとSketch(2019)
ゴールドスミスチームのシニアバックエンドエンジニア
ゴールドスミスチームのシニアバックエンドエンジニア
シニアRubyonRailsエンジニア
シニアRubyonRailsエンジニア
DesignOpsのフィールドガイド
DesignOpsのフィールドガイド
人気の投稿
  • クレジットカード情報をバイパスする方法
  • ウェブサイトデザインのマインドマップ
  • Javaでメソッドをテストする方法
  • あなたは現在Windows7を実行しているコンピュータを持っていますが、次の理由のどれが正当化されるでしょう
  • データ視覚化ツールの種類
  • 1099対w2レート計算機
カテゴリー
分散チーム アジャイルタレント トレンド モバイルデザイン Kpiと分析 プロセスとツール ヒントとツール 投資家と資金調達 収益と成長 モバイル

© 2021 | 全著作権所有

apeescape2.com