WIP de crear glosario
This commit is contained in:
parent
cdfb66791e
commit
3d57b94fe3
4 changed files with 66 additions and 0 deletions
|
@ -433,6 +433,7 @@ class Post
|
|||
update_lang_front_matter!
|
||||
update_translations!
|
||||
put_in_order!
|
||||
create_glossary!
|
||||
end
|
||||
|
||||
# Setea el propio idioma en el front_matter de slugs
|
||||
|
@ -549,4 +550,28 @@ class Post
|
|||
|
||||
@front_matter['order'] = @site.posts_for(@collection).count
|
||||
end
|
||||
|
||||
# Crea el artículo de glosario para cada categoría o tag
|
||||
def create_glossary!
|
||||
return unless site.glossary?
|
||||
|
||||
[:tags,:categories].each do |i|
|
||||
self.send(i).each do |c|
|
||||
# TODO no hardcodear, hacer _configurable
|
||||
next if c == 'Glossary'
|
||||
next if site.posts.find do |p|
|
||||
p.title == c
|
||||
end
|
||||
|
||||
glossary = Post.new(site: site, lang: lang)
|
||||
glossary.update_attributes({
|
||||
title: c,
|
||||
layout: 'glossary',
|
||||
categories: 'Glossary'
|
||||
})
|
||||
|
||||
glossary.save!
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -16,6 +16,11 @@ class Site
|
|||
!translations.empty?
|
||||
end
|
||||
|
||||
# Define si el sitio tiene un glosario
|
||||
def glossary?
|
||||
jekyll.config.fetch('glossary', false)
|
||||
end
|
||||
|
||||
# Obtiene la lista de traducciones actuales
|
||||
def translations
|
||||
@jekyll.config.dig('i18n') || []
|
||||
|
|
32
doc/glosario.md
Normal file
32
doc/glosario.md
Normal file
|
@ -0,0 +1,32 @@
|
|||
# Glosario
|
||||
|
||||
El glosario permite describir categorías y etiquetas y normalizar
|
||||
sinónimos.
|
||||
|
||||
## Creación
|
||||
|
||||
Al crear una etiqueta o categoría en el formulario de categorías, se
|
||||
crea un artículo dentro de la categoría "Glosario" y layout
|
||||
"glosario".
|
||||
|
||||
XXX: En el futuro, cuando Sutty soporte colecciones, se moverán a la
|
||||
colección `_glosario`.
|
||||
|
||||
Estos artículos pueden editarse desde el editor normal de Sutty,
|
||||
agregando definiciones y comportándose como un artículo más.
|
||||
|
||||
## Preguntas
|
||||
|
||||
Si el glosario es una colección, cómo se pueden traducir? Van a ser
|
||||
`_glosario_idioma` o `_idioma_glosario`? Lo mismo para la i18n de otras
|
||||
colecciones.
|
||||
|
||||
## Select2
|
||||
|
||||
En el selector de categorías y tags, traer el contenido del glosario y
|
||||
sinónimos como sugerencias.
|
||||
|
||||
TODO hacer todo esto como una clase aparte e incluirla en el modelo
|
||||
Post, lo mismo para las plantillas y otras features específicas.
|
||||
Incluso se las puede incluir solo cuando están activadas para el sitio.
|
||||
Organiza mejor el código.
|
|
@ -54,3 +54,7 @@ esto seria mas facil de hacer en un solo lado teniendo un
|
|||
`_data/post_relations.yml` o algo asi que tenga una sola vez todas las
|
||||
traducciones de los slugs, pero requiere hacer cambios en themes ya
|
||||
existentes
|
||||
|
||||
## Colecciones
|
||||
|
||||
Cómo se van a traducir las colecciones?
|
||||
|
|
Loading…
Reference in a new issue