49 Ruby gems drhenry
La gema de Ruby drhenry
és una d’aquestes utilitats que si utilitzes Jekyll sovint no has de desconèixer, ja que automatitza l’escriptura de posts.
Tenim accés al codi de la gema al GitHub de JuanjoSalvador, el seu autor.
Podem instal·lar aquesta gema així:
gem install drhenry
Depenent de la nostra instal·lació la podrem trobar en un lloc. Si instal·lem RVM, la trobarem ací:
/home/user/.rvm/gems/ruby-2.4.0/gems/drhenry-0.4.0/
En cas d’utilitzar ruby
amb el paquet compilat per Ubuntu 18.04, el trobarem ací:
/var/lib/gems/2.5.0/gems/drhenry-0.4.0/
A aquest directori trobarem altres dos directoris: bin
i lib
.
Dins del directori bin
tenim l’arxiu drhenry
amb aquest contingut:
#!/usr/bin/env ruby
require 'drhenrypost'
post = DrHenryPost.new
name = post.name
date = post.date
title = post.title(name)
post.create(date, name, title)
Al directori lib
trobarem aquest contingut, el qual he modificat adaptant-lo a les meues necessitats:
class DrHenryPost
# Gets today's date
def date
time = Time.new
date = time.strftime("%Y-%m-%d")
return date.to_s
end
# Sets post filename
def name
string = []
if ARGV.empty?
puts "You have not provided a title for the post. Please introduce a title."
print "> "
STDOUT.flush
joinName = gets.chomp
nameArray = joinName.split(' ')
nameArray.each do |s|
string.push(s)
end
else
ARGV.each do |a|
string.push(a)
end
end
joinName = string.join('-')
return joinName
end
# Sets post title (into the file)
def title(postName)
return postName.tr('-', ' ')
end
# Creates the file
def create(date, filename, title)
output = File.new("#{date}-#{filename}.md", "w")
output.puts("---")
output.puts("layout: post #")
output.puts("title: " + "#{title}" + " # Generat automàticament")
output.puts("date: " + "#{date}" + " # Data")
output.puts("description: " + " # Argument")
output.puts("keywords: " + " # Paraules clau")
output.puts("coments: " + " # Comentaris")
output.puts("---")
output.close
end
end
Així, en escriure un nou post seguisc aquesta rutina:
- Primer en situen en el directori
cd _post
- Escric el nom de l’arxiu:
drhenry 49 Ruby gem: drhenry
- Edite l’arxiu
vim 49
i polse el tabulador, el qual em torna aquest a línia:2018-08-16-49-Ruby-gems:-drhenry.md
- En obrir l’arxiu em trobe amb aquest contingut:
---
layout: post #
title: 49 Ruby gems: drhenry # Generat automàticament
date: 2018-08-16 # Data
description: # Argument
keywords: # Paraules clau
coments: # Comentaris
---
Sols queda editar els camps que vullguem i guardar.
Clonant la configuració
Podem clonar la configuració des d’ací:
El cas és que la configuració adaptada que utilitze roman al directori ``
Podem baixar l’arxiu de configuració al directori /var/lib/gems/2.5.0/gems/drhenry-0.4.0/lib/
així:
sudo wget https://raw.githubusercontent.com/inclusa/drhenry/master/versions/inclusa/lib/drhenrypost.rb -O /var/lib/gems/2.5.0/gems/drhenry-0.4.0/lib/
Mac OS X
El directori on es guarden les gemes per editar-les, segons versió, a Mac OS X és aquest:
cd /Library/Ruby/Gems/2.3.0/gems/
Fem notar que la ruta està referida a la versió 2.3.0
de les gemes de Ruby.