Rindi Triandi

Never Late to Learn | Analyzed, Code, Live

Membuat Blog dengan Pelican dan Github Pages

Written on

Pada postingan yang lalu saya menggunakan wordpress sebagai platform untuk menulis blog. Akan tetapi kemudian saya mencoba untuk mencari suatu platform yang lebih cepat dan aman, jatuhlah pilihan saya kepada pelican. Buat kamu yang belum tahu apa itu pelican bisa dilihat disini.

Di artikel ini kita akan mempelajari:

  • Cara Membuat Blog dengan Menggunakan Pelican
  • Hosting Blog Pelican Menggunakan Github Pages
  • Custom domain Github Pages

Cara Membuat Blog dengan Menggunakan Pelican

Pelican merupakan sebuah static site generator dengan menggunakan python. Sebetulnya ada beberapa static site generator yang lain seperti Jekyll, hugo, Octopress, dan lain-lain. Alasan saya memilih pelican sendiri dikarenakan saya lebih familiar dengan python dan django sehingga memudahkan saya dalam melakukan modifikasinya.

Apa sih kelebihan menggunakan pelican dibanding wordpress atau cms yg lain?

  • Tidak membutuhkan database karena pelican bersifat static.
  • Tidak perlu mengurusi update setiap kali ada update security.
  • Lebih mudah dalam menulis blog bagi saya, karena saya bisa menulis menggunakan text editor apapun.

Sebelum memulai membuat blog dengan pelican, ada beberapa hal yang perlu dipersiapkan terlebih dahulu.

  1. Koneksi internet untuk mendownload source pelican.
  2. Pastikan komputer kamu sudah terinstal python. disini saya menggunakan python versi 3.5.2
  3. Pastikan juga virtualenv sudah terinstal.

Pertama kita buat virtual environment terlebih dahulu, disini saya menamakan blog sebagai nama virtual environmentnya. Ketikan perintah berikut di terminal:

$ virtualenv blog

Setelah membuat virtual environmentnya, kemudian kita masuk ke direktori environment yang sudah dibuat, lalu ketikan perintah berikut untuk mengaktifkannya:

$ cd blog
$ . bin/activate

Kemudian kita install pelican dengan perintah berikut:

$ pip install pelican

Buat folder untuk menampung file dependensi pelican lalu masuk ke direktori tersebut. ketikan perintah berikut:

$ mkdir/myblog
$ cd myblog

Mulai menjalankan membuat blog pelican dengan perintah berikut dan isi setiap pertanyaan seperti dibawah ini:

$ pelican-quickstart
Where do you want to create your new web site? [.]
What will be the title of this web site?
> Rindi Triandi
Who will be the author of this web site?
> Rindi Triandi
What will be the default language of this web site? [en]
Do you want to specify a URL prefix? e.g., http://example.com   (Y/n)
> y
What is your URL prefix? (see above example; no trailing slash)
> http://rinditriandi.github.io
Do you want to enable article pagination? (Y/n)
> y
How many articles per page do you want? [10]
Do you want to generate a Fabfile/Makefile to automate generation and publishing? (Y/n)
> y
Do you want an auto-reload & simpleHTTP script to assist with theme and site development? (Y/n)
> y
Do you want to upload your website using FTP? (y/N)
> n
Do you want to upload your website using SSH? (y/N)
> n
Do you want to upload your website using Dropbox? (y/N)
> n
Do you want to upload your website using S3? (y/N)
> n
Do you want to upload your website using Rackspace Cloud Files? (y/N)
> n

Nah sekarang coba kita lihat struktur direktori pelican dengan mengetikan tree di terminal:

$ tree
.
├── Makefile
├── content
├── develop_server.sh
├── fabfile.py
├── output
├── pelicanconf.py
└── publishconf.py

kalau kamu tidak mempunyai tree, silahkan install terlebih dahulu dengan sudo apt-get install tree

Saya akan coba jelaskan setiap file dari masing-masing struktur direktori pelican diatas:

  • Makefile adalah sebuah file untuk menjalankan perintah make. perintah make sendiri digunakan untuk mengenerate html maupun menjalankan service local development. biasanya saya menggunakan make devserver untuk menjalankan service pelican di lokal.
  • content nah folder ini berisi semua data kita baik itu postingan, pages, kategori, dan lain-lain.
  • developer_server.sh adalah sebuah script file yang digunakan untuk mengatur servis lokal kita selama development. jadi biasanya setelah saya melakukan make devserver, untuk mematikannya menggunakan ./develop_server.sh stop.
  • fabfile.py adalah sebuah file konfigurasi untuk kamu yang ingin menggunakan perintah fab untuk mengenerate blog pelican. sebelumnya pastikan instal fabric dengan sudo apt-get install fabric sebelum menggunakannya. Alternatif lain kamu bisa tetap menggunakan make.
  • `output' adalah direktori yang sangat penting, dimana hasil dari generate html kita akan disimpan di folder output ini.
  • pelicanconf.py adalah tempat untuk melakukan setting konfigurasi blog pelican kita.
  • publishconf.py sama seperti pelicanconf.py hanya saja tidak digunakan untuk local development.

Memilih Themes Pelican

Secara default pelican sudah memiliki themes yaitu notmyidea dan simple themes. Kalau kamu ingin melihat themes yang lain bisa dilihat di pelican-themes. Silahkan pilih themes yang kalian sukai. setelah itu lakukan perintah berikut:

  • Buat folder baru di root folder blog kita. Disini saya menamainya themes.
    $ mkdir themes
    $ cd themes
  • Clone themes pelican kedalam folder themes yang kita buat:
    $ git clone https://github.com/getpelican/pelican-themes
  • Setelah itu kita masukan variabel themes kedalam settingan pelicanconf.py:
    $ THEME = "themes/triandi"

Generate Blog Kita

Sebelum mengenerate blog kita, pastikan sudah ada file di dalam folder content seperti ini. Setelah itu kita masuk ke direktori utama blog kita, lalu ketikan perintah berikut:

$ cd blog
$ make devserver

make devserver adalah perintah pelican untuk memerintahkan folder content kamu mengenerate file html menggunakan themes yang sudah di setting di pelicanconf.py. Selain itu juga akan menjalankan server lokal kita di http://localhost:8000.

Hosting Blog di Github Pages

Setelah berhasil menjalankan blog kita di lokal, saatnya untuk mempublishnya agar semua orang dapat melihat blog kita. Tidak perlu membeli sebuah hosting berbayar untuk mempublishnya. Disini saya menggunakan fasilitas dari github untuk menampung file static yaitu github pages.

Sebelumnya pastikan kamu sudah memiliki akun github. Apabila belum memiliki akunnya silahkan daftar dulu disini.

comments powered by Disqus