mirror of
https://0xacab.org/sutty/sutty
synced 2024-11-22 10:36:22 +00:00
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_lang_front_matter!
|
||||||
update_translations!
|
update_translations!
|
||||||
put_in_order!
|
put_in_order!
|
||||||
|
create_glossary!
|
||||||
end
|
end
|
||||||
|
|
||||||
# Setea el propio idioma en el front_matter de slugs
|
# Setea el propio idioma en el front_matter de slugs
|
||||||
|
@ -549,4 +550,28 @@ class Post
|
||||||
|
|
||||||
@front_matter['order'] = @site.posts_for(@collection).count
|
@front_matter['order'] = @site.posts_for(@collection).count
|
||||||
end
|
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
|
end
|
||||||
|
|
|
@ -16,6 +16,11 @@ class Site
|
||||||
!translations.empty?
|
!translations.empty?
|
||||||
end
|
end
|
||||||
|
|
||||||
|
# Define si el sitio tiene un glosario
|
||||||
|
def glossary?
|
||||||
|
jekyll.config.fetch('glossary', false)
|
||||||
|
end
|
||||||
|
|
||||||
# Obtiene la lista de traducciones actuales
|
# Obtiene la lista de traducciones actuales
|
||||||
def translations
|
def translations
|
||||||
@jekyll.config.dig('i18n') || []
|
@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
|
`_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
|
traducciones de los slugs, pero requiere hacer cambios en themes ya
|
||||||
existentes
|
existentes
|
||||||
|
|
||||||
|
## Colecciones
|
||||||
|
|
||||||
|
Cómo se van a traducir las colecciones?
|
||||||
|
|
Loading…
Reference in a new issue