crepúsculo

Cuando quiero escribir una entrada voy a mi terminal y escribo:

➜  ~ cd Documents/exterior/_posts 
➜  _posts git:(master) ✗ ./post.py

Esto abre vim en un archivo markdown con el nombre y preámbulo apropiado para que sea después procesado por Jekyll.

El código de post.py va así:

#!/usr/bin/env python

import subprocess
import os.path
import bisect
from datetime import datetime

PREAMBLE = """---
layout: post
title: {time}
comments: false
excerpt_separator: <!--more-->
---

"""

TIMES = [
    (0, 'trasnoche'),
    (4, 'madrugada'),
    (7, 'mañana'),
    (9, 'media mañana'),
    (11, 'mediodía'),
    (13, 'tarde'),
    (17, 'crepúsculo'),
    (20, 'noche')
]   


def generate_post():
    now = datetime.now()
    day = now.strftime('%Y-%m-%d')
    hour = now.hour
    breakpoints, times = zip(*TIMES)
    time = times[bisect.bisect(breakpoints, hour) - 1]
    file_name = f'{day}-{time}.md'.replace(' ', '-')
    file_content = PREAMBLE.format(time=time)
    if os.path.isfile(file_name):
        raise ValueError('Already a post during this period. Wait.')
    with open(file_name, 'w') as f:
        f.write(file_content)
    print('Post file created: {}'.format(file_name))
    subprocess.call(['vim', file_name])

if __name__ == '__main__':
    generate_post()

Probablemente hay una versión más bonita con un shellscript pero a mí me gusta usar python.

Otro día explico cómo genero el contenido.