Migrasi Front-matter Hugo dengan sed

19 Jan 2018 · 2 min read

Saya berencana memperbaiki template dan front-matter Petanikode. Ada 300 lebih artikelnya yang harus dimodifikasi.

Saya rasa ini cukup merepotkan, mengedit satu-persatu front-matter setiap artikel. Apalagi jumlahnya cukup banyak.

Akhirnya saya menemukan sed (Stream Editor).

Berawal dari coba-coba dari perintah ini, Front-matternya menjadi rusak. Untungnya menggunakan git, jadi masih bisa dikembalikan lagi.

Lalu biar mudah saya membuat branch baru bernama theme-migration.

git checkout -b theme-migration

Sekarang saya bebas memodifikasinya dengan sed tanpa harus takut rusak lagi. Karena kalau rusak, kita bisa bikin lagi branch baru dari branch master.

Ini adalah log catatan di branch theme-migration:

Git log

Kebanyakan yang saya lakukan adalah menghapus dan mengubah agar menjadi lebih sederhana.

Contoh:

Mengubah src: menjadi image:

sed -i -- 's/src:/image:/g' ./content/post/*

Tapi sebelum itu, saya coba-coba dulu melakukan print dengan perintah:

sed -n -- '/src:/p' ./content/post/*

Kalau sudah yakin bari menjalankan perintah yang atas.

Saya belum begitu paham dengan sed terutama pada regex. Namun, bisa dipelajari pada tutorialspoint.

Kedepannya, saya akan menggunakan archetype ini untuk postingan terbaru di Petanikode:

---
draft: false
date: {{ .Date }}
updated: {{ .Date }}
type: post

title: "{{ replace .TranslationBaseName "-" " " | title }}"
slug: {{ .BaseFileName }}

topik:
    - Python
    - Java
    - Javascript
    - PHP
    - HTML

kategori:
    - Pemrograman
    - Web
    - Desktop
    - Mobile
    - Jaringan
    - Game

image: "/img/"
thumbnail: "/img/"
description: "{{ replace .TranslationBaseName "-" " " | title }}"
---

Setelah selesai mengedit front-matter dengan sed, berikutnya melakukan testing dan merge ke branch master. Terakhir melakukan deploy dan beres! 😄