DUICUO

Python を使用して GitHub でブログを実行します。

[[320869]]

ブログを作成するには Pelican を使用します。これは GitHub と連携する Python ベースのプラットフォームです。

GitHubは、ソースコード管理のための非常に人気のあるウェブサービスです。Gitを使用してローカルファイルとGitHubサーバーに保存されているコピーを同期するため、作業内容の共有やバックアップが簡単に行えます。

GitHubは、コードリポジトリ用のユーザーインターフェースを提供するだけでなく、ユーザーがリポジトリから直接Webページを公開できるようにもしています。GitHubはRubyで書かれたWebサイト生成パッケージであるJekllを推奨しています。私はPythonの大ファンなので、GitHubと連携しやすいPythonベースのブログプラットフォームであるPelicanを推奨します。

Pelican と Jekll はどちらも、Markdown または reStructuredText で記述されたコンテンツを HTML に変換して静的 Web サイトを生成することができ、両方のジェネレーターはカスタム テーマをサポートしています。

この記事では、Pelicanのインストール、GitHubリポジトリの設定、クイックスタートヘルプの実行、Markdownファイルの記述、そして最初のブログ投稿の公開までを解説します。GitHubアカウントをお持ちで、基本的なGitコマンドに精通しており、Pelicanを使ってブログを公開したいと考えている方を前提としています。

Pelicanをインストールしてリポジトリを作成する

まず、ローカルコンピュータにPelicanとghp-importインストールする必要があります。Pythonパッケージインストールツールpip(お持ちですよね?)を使えば、とても簡単にインストールできます。

  1. $ pip install pelican ghp - import Markdown

次に、ブラウザを開き、新しく作成したブログ用に GitHub に新しいリポジトリを作成します。リポジトリの名前は次のようになります (ここおよびこのチュートリアル全体で、 username GitHub ユーザー名に置き換えてください)。

  1. https : //GitHub.com/username/username.github.io

空白のままにしておきます。後で魅力的なブログ コンテンツを追加します。

コマンドラインを使用して (正しく実行していることを確認してください)、この空の Git リポジトリをローカル コンピューターに複製します。

  1. $ git clone < https : //GitHub.com/username/username.github.io> blog
  2. $ cd blog

奇妙なトリック…

GitHub で Web コンテンツを公開する場合、あまり注目されていないトリックがありますusername.github.ioというリポジトリでホストされているユーザー ページの場合、コンテンツはmasterブランチによって提供されます。

Pelicanの設定ファイルと生のMarkdownファイルはmasterに保存しないことを強くお勧めします。masterに保存するのはWebコンテンツのみにしてください。そのため、私はPelicanの設定ファイルと生のコンテンツをmaster contentと呼ぶ別のブランチに保存しています。(任意のブランチを作成できますが、以下の内容はcontentに続きます。)この構造が気に入っているのは、 masterにあるすべてのファイルを破棄してcontentブランチで再読み込みできるからです。

  1. $ git checkout - b content
  2. Switched to a new branch 'content'

ペリカンの設定

いよいよコンテンツの設定です。Pelicanには、ブログに関する一連の質問に答える優れた初期化ツールpelican-quickstart 」が用意されています。

  1. $ pelican - quickstart
  2. Welcome to pelican - quickstart v3 . 7.1 .
  3. This script will help you create a new Pelican - based website .
  4. Please answer the following questions so this script can generate the files
  5. needed by Pelican .
  6. > Where do you want to create your new web site ? [.]
  7. > What will be the title of this web site ? Super blog
  8. > Who will be the author of this web site ? username
  9. > What will be the default language of this web site ? [ en ]
  10. > Do you want to specify a URL prefix ? e . g ., http : //example.com (Y/n) n
  11. > Do you want to enable article pagination ? ( Y / n )
  12. > How many articles per page do you want ? [ 10 ]
  13. > What is your time zone ? [ Europe / Paris ] US / Central
  14. > Do you want to generate a Fabfile / Makefile to automate generation and publishing ? ( Y / n ) y
  15. > Do you want an auto - reload & simpleHTTP script to assist with theme and site development ? ( Y / n ) y
  16. > Do you want to upload your website using FTP ? ( y / N ) n
  17. > Do you want to upload your website using SSH ? ( y / N ) n
  18. > Do you want to upload your website using Dropbox ? ( y / N ) n
  19. > Do you want to upload your website using S3 ? ( y / N ) n
  20. > Do you want to upload your website using Rackspace Cloud Files ? ( y / N ) n
  21. > Do you want to upload your website using GitHub Pages ? ( y / N ) y
  22. > Is this your personal page ( username . github . io )? ( y / N ) y
  23. Done . Your new project is available at / Users / username / blog

次の質問を除くすべての質問にデフォルト値を使用できます。

  • ウェブサイトのタイトルはユニークで目立つものでなければなりません。
  • ウェブサイトの作成者には、個人のユーザー名またはフルネームを使用できます。
  • タイムゾーン、パリではないかもしれない
  • GitHubページにアップロードするには、 yを選択します

すべての質問に答えると、Pelican は現在のディレクトリに次のコンテンツを残します。

  1. $ ls
  2. Makefile content / develop_server . sh *
  3. fabfile . py output / pelicanconf . py
  4. publishconf . py

Pelicanのドキュメントを参照してこれらのドキュメントの使い方を学ぶこともできますが、今は目の前の作業を終わらせる必要があります。正直なところ、私もまだドキュメントを読んでいません。

続く

Pelican によって生成されたすべてのファイルをローカル Git リポジトリのcontentブランチに追加し、変更をコミットしてから、ローカルの変更を GitHub でホストされているリモート リポジトリにプッシュします。

  1. $ git add .
  2. $ git commit - m 'initial pelican commit to content'
  3. $ git push origin content

これは特に面白いことではありませんが、これらのドキュメントのいずれかに加えた変更を元に戻す必要がある場合に非常に便利です。

ついに

ついにブログが完成しました!ブログ投稿、写真、画像、PDFなどはすべて、最初は空になっているcontentディレクトリに保存されます。最初のブログ投稿とAboutページを作成するには、以下を入力してください。

  1. $ cd content
  2. $ mkdir pages images
  3. $ cp / Users / username / SecretStash / HotPhotoOfMe . jpg images
  4. $ touch first - post . md
  5. $ touch pages / about . md

次に、お気に入りのテキスト エディターでfirst-post.mdを開き、次のコンテンツを追加します。

  1. title : First Post on My Sweet New Blog
  2. date : < today 's date>
  3. author: Your Name Here
  4. # I am On My Way To Internet Fame and Fortune!
  5. This is my first post on my new blog. While not super informative it
  6. should convey my sense of excitement and eagerness to engage with you,
  7. the reader!

最初の3行は、Pelicanがコンテンツを整理するために使用するメタデータです。メタデータには様々なオプションがあります。繰り返しになりますが、これらのオプションについて詳しくは、ドキュメントをご覧ください。

次に、空のファイルpages/about.mdを開き、次のテキストを追加します。

  1. title : About
  2. date : < today 's date>
  3. ![So Schmexy][my_sweet_photo]
  4. Hi, I am <username> and I wrote this epic collection of Interweb
  5. wisdom. In days of yore, much of this would have been deemed sorcery
  6. and I would probably have been burned at the stake.
  7. 😆

contentディレクトリには 3 つの新しい Web コンテンツ項目が含まれるようになり、 contentブランチ内にはさらに多くのコンテンツが含まれるようになりました。

リリース

心配しないでください。すぐに結果がわかります。

残っているのは、次の作業だけです。

  • Pelican を実行してoutputに静的 HTML ファイルを生成します。

    1. $ pelican content - o output - s publishconf . py
  • ghp-import使用して、 outputディレクトリの内容をmasterブランチに追加します。

    1. $ ghp - import - m "Generate Pelican site" -- no - jekyll - b master output
  • ローカルのmasterブランチをリモート リポジトリにプッシュします。

    1. $ git push origin master
  • 新しいコンテンツを送信し、 contentブランチにプッシュします。

    1. $ git add content
    2. $ git commit - m 'added a first post, a photo and an about page'
    3. $ git push origin content

ああ、やったー!

いよいよ、一番エキサイティングな瞬間です。投稿したブログコンテンツを見たいときは、ブラウザを開いて次のように入力してください。

  1. https : //username.github.io

おめでとうございます!これでGitHubでブログを公開できるようになりました!上記の手順に従って、ページや記事を追加してください。ブログの公開をお楽しみください!