sutty-base-jekyll-theme
Plantilla de base para empezar a desarrollar plantillas usando la metodología y flujo de trabajo de Sutty :)
This commit is contained in:
commit
71cd849b47
11 changed files with 483 additions and 0 deletions
7
.gitignore
vendored
Normal file
7
.gitignore
vendored
Normal file
|
@ -0,0 +1,7 @@
|
|||
*.gem
|
||||
.bundle
|
||||
.jekyll-cache
|
||||
.sass-cache
|
||||
_site
|
||||
Gemfile.lock
|
||||
node_modules/
|
4
Gemfile
Normal file
4
Gemfile
Normal file
|
@ -0,0 +1,4 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
source "https://rubygems.org"
|
||||
gemspec
|
168
LICENSE.txt
Normal file
168
LICENSE.txt
Normal file
|
@ -0,0 +1,168 @@
|
|||
Copyright (c) 2020 Sutty
|
||||
|
||||
The following license is modified from the MIT license and downloaded
|
||||
from <https://github.com/Laurelai/anti-fascist-mit-license> on
|
||||
2019-07-11.
|
||||
|
||||
Anti-Fascist MIT License:
|
||||
|
||||
The following conditions must be met by any person obtaining a copy of
|
||||
this software:
|
||||
|
||||
- You MAY NOT be a fascist.
|
||||
- You MUST not financially support fascists.
|
||||
- You MUST not intentionally provide or knowingly provide through
|
||||
inaction a platform for fascists to spread propaganda or organize.
|
||||
- You MUST not publicly voice support for fascists.
|
||||
- You MAY NOT be a member of any fascist organization, even if you are a
|
||||
member to infiltrate for anti-fascist purposes.
|
||||
|
||||
"Fascist" can be understood as any group or individual who promotes the
|
||||
political ideology of fascism.
|
||||
|
||||
"Fascism" can be broken down into 11 ideological features as well as 8
|
||||
tactics that can form a fascist system in varying combinations, for the
|
||||
sake of simplicity and brevity the individual or organization in
|
||||
question must match to at least 5 features or tactics or a combination
|
||||
of the two determined by the individual licencer.
|
||||
|
||||
Said licencer may provide a list if an individual or group matches to at
|
||||
least 5 features upon request from the individual or group in question.
|
||||
|
||||
The ideological features are listed below.
|
||||
|
||||
1. Hyper-nationalism.
|
||||
|
||||
As defined as "The belief in the superiority of one's nation and of the
|
||||
paramount importance of advancing it."
|
||||
|
||||
2. Militarism.
|
||||
|
||||
As defined as "Advocating for an increase in military forces beyond what
|
||||
the real defense of a nation needs, more influence of the military upon
|
||||
the policies of the civilian government, and a preference for force as a
|
||||
solution over diplomacy for problems."
|
||||
|
||||
3. Glorification of violence and readiness to use it in politics.
|
||||
|
||||
As defined as "The belief that violence can be used to cleanse a
|
||||
tarnished nation, also by using violence to harm, intimidate or kill
|
||||
political oppoenents."
|
||||
|
||||
4. Fetishization of youth.
|
||||
|
||||
As defined as "Extolling the virtues of youth and making a special
|
||||
appeal to young people to join a cause or organization"
|
||||
|
||||
5. Fetishization of masculinity.
|
||||
|
||||
As defined as "Extolling the virtues of male authority or patriarchy and
|
||||
making a special appeal to men to be leaders of households and groups"
|
||||
|
||||
6. Leader cult.
|
||||
|
||||
As defined as "Creating an idealized, heroic, and worshipful image of a
|
||||
leader, often through unquestioning flattery and praise."
|
||||
|
||||
7. Lost-golden-age syndrome.
|
||||
|
||||
As defined as "Creating or promoting the idea that a nation had a lost
|
||||
or stolen golden age in the past that must be returned to"
|
||||
|
||||
8. Self-definition by opposition.
|
||||
|
||||
As defined as "Creating or promoting the idea that the group or
|
||||
individual is the only person or way who can fight real or imagined
|
||||
evils within a society."
|
||||
|
||||
9. Mass mobilization and mass party.
|
||||
|
||||
As defined as "Creating or promoting the creation of a populist group or
|
||||
party for the advancment of fascist tactics or features."
|
||||
|
||||
10. Hierarchical party structure and tendency to purge the disloyal.
|
||||
|
||||
As defined as "Removal of membership from a group for lacking absolute
|
||||
loyalty or lacking further usefulness to the group. Also having a
|
||||
hierarchical structure within the group itself."
|
||||
|
||||
11. Theatricality.
|
||||
|
||||
As defined as "Using spectacle to gain and keep the attention of those
|
||||
inside and outside of the group using speeches full of absolutes and or
|
||||
superlatives. Elaborate collective rituals (rallies) meant to reenforce
|
||||
loyalty within the group."
|
||||
|
||||
Fascist tactics include
|
||||
|
||||
1) Persecution of national minorities.
|
||||
2) Persecution of racial minorities.
|
||||
3) Persecution of religious minorities (Anti-Semitism, Islamophobia and others).
|
||||
4) Promotion of a type of national purity.
|
||||
5) Promotion of a state run by ideologically oriented corporate bodies.
|
||||
6) Persecution of gender or sexual minorities.
|
||||
7) Persecution of the disabled.
|
||||
8) Formation of extra-legal forces (brownshirts) to defend fascist values.
|
||||
|
||||
Special criteria: Meeting only one point of the special criteria is
|
||||
enough to consider someone or a group to be fascist for the purposes of
|
||||
this licence.
|
||||
|
||||
1. Promotion of any theories that state members of the jewish ethnicity
|
||||
or faith control or largely control the world, finance, or other
|
||||
global major power system.
|
||||
|
||||
2. Denial of the holocaust or any other historically proven genocide.
|
||||
|
||||
3. Promotion of ethnostates.
|
||||
|
||||
4. Advocating for eugenics. Either positive or negative eugenics.
|
||||
Promotion for the rights of abortion are not considered eugenics.
|
||||
|
||||
5. Advocating for the removal of rights or legal protections from a
|
||||
class or group of people.
|
||||
|
||||
Former fascists: People or organizations who used to promote the
|
||||
political ideology of fascism but no longer do so must meet the
|
||||
following criterea to be able to use this software.
|
||||
|
||||
1. Publicly disavow past fascist deeds and ideologies.
|
||||
|
||||
2. Expose any and all known fascists former allies to the public.
|
||||
|
||||
A suggested route would be through the one peoples project
|
||||
(onepeoplesproject.com). If they can confirm you have done so that
|
||||
will count as meeting condition two.
|
||||
|
||||
3. Publicly destroy any and all fascist paraphenelia you have in your
|
||||
posession including removal of tattoos and body markings
|
||||
affiliated with fascist groups or gangs.
|
||||
|
||||
ANTI-FASCIST-MIT LICENSE:
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a
|
||||
copy of this software and associated documentation files (the
|
||||
"Software"), to deal in the Software without restriction, including
|
||||
without limitation the rights to use, copy, modify, merge, publish,
|
||||
distribute, sublicense, and/or sell copies of the Software, and to
|
||||
permit persons to whom the Software is furnished to do so, subject to
|
||||
the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included
|
||||
in all copies or substantial portions of the Software.
|
||||
|
||||
The above licence agreement conditions are met in full.
|
||||
|
||||
The Anti-Fascist MIT License may only be used under the terms of the
|
||||
Anti-Fascist MIT License.
|
||||
|
||||
Any modified versions of this software must also include the
|
||||
Anti-Fascist MIT Licence.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
||||
OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
||||
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
||||
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
||||
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
90
README.md
Normal file
90
README.md
Normal file
|
@ -0,0 +1,90 @@
|
|||
# sutty-base-jekyll-theme
|
||||
|
||||
CAMBIAME: Esta es una plantilla base para comenzar cualquier plantilla
|
||||
relacionada con Sutty, con el entorno de desarrollo que usamos según
|
||||
nuestro flujo de trabajo.
|
||||
|
||||
La instalación de esta gema se realiza bifurcando el desarrollo de esta
|
||||
usando git, por ejemplo:
|
||||
|
||||
```bash
|
||||
# Hacer un fork local desde sutty-base-jekyll-theme a nuestra plantilla
|
||||
git clone https://0xacab.org/sutty/jekyll/sutty-base-jekyll-theme.git \
|
||||
CAMBIAME-jekyll-theme
|
||||
cd CAMBIAME-jekyll-theme
|
||||
|
||||
# Sutty-base ahora es el proyecto base, desde el que podemos tomar
|
||||
# cambios, pero no enviamos para no mezclar las cosas
|
||||
git remote rename origin upstream
|
||||
|
||||
# Agregamos el repositorio donde vamos a enviar y publicar cambios
|
||||
git remote add origin \
|
||||
git@0xacab.org:sutty/jekyll/CAMBIAME-jekyll-theme.git
|
||||
|
||||
# Configuramos git para que envíe siempre los cambios al repositorio
|
||||
# nuevo
|
||||
git push --set-upstream origin master
|
||||
```
|
||||
|
||||
Para empezar, hay que buscar y reemplazar donde diga `CAMBIAME`.
|
||||
|
||||
También hay que instalar las dependencias de CSS y JS con `yarn`.
|
||||
|
||||
|
||||
## Installation
|
||||
|
||||
Add this line to your Jekyll site's `Gemfile`:
|
||||
|
||||
```ruby
|
||||
gem "CAMBIAME-jekyll-theme"
|
||||
```
|
||||
|
||||
And add this line to your Jekyll site's `_config.yml`:
|
||||
|
||||
```yaml
|
||||
theme: CAMBIAME-jekyll-theme
|
||||
```
|
||||
|
||||
And then execute:
|
||||
|
||||
$ bundle
|
||||
|
||||
Or install it yourself as:
|
||||
|
||||
$ gem install CAMBIAME-jekyll-theme
|
||||
|
||||
## Usage
|
||||
|
||||
CAMBIAME
|
||||
|
||||
## Contributing
|
||||
|
||||
Bug reports and pull requests are welcome on 0xacab.org at
|
||||
https://0xacab.org/sutty/jekyll/CAMBIAME-jekyll-theme. This project is
|
||||
intended to be a safe, welcoming space for collaboration, and
|
||||
contributors are expected to adhere to the [Sutty's code of
|
||||
conduct](http://sutty.nl/en/code-of-conduct).
|
||||
|
||||
## Development
|
||||
|
||||
To set up your environment to develop this theme, run `bundle install`.
|
||||
|
||||
Your theme is setup just like a normal Jekyll site! To test your theme,
|
||||
run `bundle exec jekyll serve` and open your browser at
|
||||
`http://localhost:4000`. This starts a Jekyll server using your
|
||||
theme. Add pages, documents, data, etc. like normal to test your theme's
|
||||
contents. As you make modifications to your theme and to your content,
|
||||
your site will regenerate and you should see the changes in the browser
|
||||
after a refresh, just like normal.
|
||||
|
||||
When your theme is released, only the files in `_layouts`, `_includes`,
|
||||
`_sass` and `assets` tracked with Git will be bundled.
|
||||
|
||||
To add a custom directory to your theme-gem, please edit the array in
|
||||
`CAMBIAME-jekyll-theme.gemspec` accordingly.
|
||||
|
||||
## License
|
||||
|
||||
The theme is available as open source under the terms of the [Antifacist
|
||||
MIT License](LICENSE.txt).
|
||||
|
29
_includes/navbar.html
Normal file
29
_includes/navbar.html
Normal file
|
@ -0,0 +1,29 @@
|
|||
<nav class="navbar navbar-expand-lg navbar-light bg-light d-print-block" role="navigation" aria-label="{{ site.i18n.menu.title }}">
|
||||
<a class="navbar-brand" href="">
|
||||
{% include_cached logo.svg %}
|
||||
</a>
|
||||
|
||||
{% comment %}
|
||||
TODO: Add CSS-only hamburger menu.
|
||||
{% endcomment %}
|
||||
<ul class="navbar-nav d-print-none">
|
||||
{%- for item in site.i18n.menu.items -%}
|
||||
{% comment %}
|
||||
This makes it hard to just cache the whole navbar, but we prefer
|
||||
to mark the active item in code rather than with JS.
|
||||
{% endcomment %}
|
||||
|
||||
<li class="nav-item">
|
||||
<a class="nav-link{% if page.url == item.url %} active{% endif %}" href="{{ item.url }}">
|
||||
{{ item.text }}
|
||||
|
||||
{%- if page.url == item.url -%}
|
||||
<span class="sr-only">
|
||||
{{ site.i18n.menu.active | default: '(current)' }}
|
||||
</span>
|
||||
{%- endif %}
|
||||
</a>
|
||||
</li>
|
||||
{%- endfor -%}
|
||||
</ul>
|
||||
</nav>
|
25
_layouts/default.html
Normal file
25
_layouts/default.html
Normal file
|
@ -0,0 +1,25 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="{{ site.lang }}" dir="{{ site.dir }}">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<base href="{% base %}" />
|
||||
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
|
||||
<meta content="width=device-width, initial-scale=1.0" name="viewport">
|
||||
<meta name="theme-color" content="white"/>
|
||||
<meta name="color-scheme" content="light"/>
|
||||
|
||||
<link href="assets/css/styles.css" rel="stylesheet">
|
||||
|
||||
{% seo %}
|
||||
{% feed_meta %}
|
||||
</head>
|
||||
<body>
|
||||
<main class="container">
|
||||
<div class="row justify-content-center d-print-block">
|
||||
<div class="col">
|
||||
{{ content }}
|
||||
</div>
|
||||
</div>
|
||||
</main>
|
||||
</body>
|
||||
</html>
|
69
_layouts/post.html
Normal file
69
_layouts/post.html
Normal file
|
@ -0,0 +1,69 @@
|
|||
---
|
||||
layout: default
|
||||
---
|
||||
|
||||
<article class="h-entry" itemscope itemtype="http://schema.org/Article">
|
||||
<header>
|
||||
<h1 class="p-name" itemprop="name headline">{{ page.title | escape }}</h1>
|
||||
|
||||
{%- if page.description -%}
|
||||
<p class="lead p-summary" itemprop="description">{{ page.description | escape }}</p>
|
||||
{%- endif -%}
|
||||
|
||||
{%- if page.image.path -%}
|
||||
<picture>
|
||||
{% for size in site.images.sizes %}
|
||||
<source srcset="{{ page.image.path | thumbnail: size }}" media="(max-width: {{ size }}px)" />
|
||||
{% endfor %}
|
||||
|
||||
<img class="img-fluid" src="{{ page.image.path | thumbnail: 1140 }}" alt="{{ page.image.description }}" />
|
||||
</picture>
|
||||
{%- endif -%}
|
||||
|
||||
<p>
|
||||
<time class="dt-published" datetime="{{ page.date | date_to_xmlschema }}" itemprop="datePublished">
|
||||
{%- assign date_format = site.i18n.date | default: "%b %-d, %Y" -%}
|
||||
{{ page.date | date: date_format }}
|
||||
</time>
|
||||
{%- for author in page.author -%}
|
||||
•
|
||||
<span itemprop="author" itemscope itemtype="http://schema.org/Person">
|
||||
<span class="p-author h-card" itemprop="name">
|
||||
{{ author | escape }}
|
||||
</span>
|
||||
</span>
|
||||
{%- endfor -%}
|
||||
</p>
|
||||
</header>
|
||||
|
||||
<div class="e-content" itemprop="articleBody">
|
||||
{{ content }}
|
||||
</div>
|
||||
|
||||
<footer>
|
||||
<a class="u-url" itemprop="url" href="{{ page.url }}" hidden>
|
||||
{{ site.url }}/{{ page.url }}
|
||||
</a>
|
||||
|
||||
{%- if page.uuid -%}
|
||||
<span hidden itemprop="identifier">{{ page.uuid }}</span>
|
||||
{%- endif -%}
|
||||
|
||||
{%- if page.license.url -%}
|
||||
<p itemprop="license" itemtype="http://schema.org/CreativeWork">
|
||||
<a rel="license" itemprop="url" href="{{ page.license.url }}">
|
||||
<span itemprop="articleBody">
|
||||
{{ page.license.description }}
|
||||
</span>
|
||||
</a>
|
||||
</p>
|
||||
{%- endif -%}
|
||||
|
||||
{%- if page.tags %}
|
||||
<span itemprop="keywords" hidden>{{ page.tags | join: ', ' }}</span>
|
||||
{%- for tag in page.tags -%}
|
||||
<span hidden class="h-category">{{ tag }}</span>
|
||||
{%- endfor -%}
|
||||
{%- endif -%}
|
||||
</footer>
|
||||
</article>
|
12
assets/css/styles.scss
Normal file
12
assets/css/styles.scss
Normal file
|
@ -0,0 +1,12 @@
|
|||
---
|
||||
# Ponemos un frontmatter porque queremos que Jekyll procese este archivo
|
||||
---
|
||||
|
||||
/*
|
||||
* XXX: Solo importar los archivos necesarios de bootstrap para
|
||||
* facilitar la reducción de CSS. Por ahora pedimos todo para poder
|
||||
* empezar a trabajar en el HTML sin pensar en CSS.
|
||||
*
|
||||
* Los archivos se encuentran en node_modules/bootstrap/scss
|
||||
*/
|
||||
@import "bootstrap/scss/bootstrap";
|
5
package.json
Normal file
5
package.json
Normal file
|
@ -0,0 +1,5 @@
|
|||
{
|
||||
"dependencies": {
|
||||
"bootstrap": "~4.4"
|
||||
}
|
||||
}
|
66
sutty-base-jekyll-theme.gemspec
Normal file
66
sutty-base-jekyll-theme.gemspec
Normal file
|
@ -0,0 +1,66 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
# XXX: No te olvides de cambiar el nombre de archivo para que coincida
|
||||
# con el nombre de la gema!
|
||||
Gem::Specification.new do |spec|
|
||||
# Este es el nombre de la gema
|
||||
spec.name = 'CAMBIAME-jekyll-theme'
|
||||
# Versión inicial, usamos semver.org
|
||||
spec.version = '0.1.0'
|
||||
# Una lista con todes les autores, esto se ve luego en el perfil de
|
||||
# rubygems.org
|
||||
spec.authors = ['f']
|
||||
# Una lista de direcciones de correo, que coincide con la lista de
|
||||
# autores
|
||||
spec.email = ['f@sutty.nl']
|
||||
|
||||
# Descripción corta de la plantilla
|
||||
spec.summary = 'CAMBIAME'
|
||||
# Dirección de la plantilla
|
||||
spec.homepage = 'https://0xacab.org/sutty/jekyll/CAMBIAME-jekyll-theme'
|
||||
# Estamos usando la licencia MIT Antifacista, que no es reconocida por
|
||||
# rubygems
|
||||
spec.license = 'Nonstandard'
|
||||
|
||||
# La gemspec por defecto incluye todos los archivos que ponemos en
|
||||
# git, pero como no todos los que pongamos son necesarios para la
|
||||
# gema, hacemos nuestra propia lista de archivos.
|
||||
spec.files = Dir['assets/**/*',
|
||||
'_layouts/**/*',
|
||||
'_includes/**/*',
|
||||
'_sass/**/*',
|
||||
'LICENSE*',
|
||||
'README*']
|
||||
|
||||
# Archivos que son parte de la documentación
|
||||
spec.extra_rdoc_files = Dir['README.md', 'CHANGELOG.md', 'LICENSE.txt']
|
||||
# Opciones para el generador de documentación
|
||||
spec.rdoc_options += [
|
||||
'--title', "#{spec.name} - #{spec.summary}",
|
||||
'--main', 'README.md',
|
||||
'--line-numbers',
|
||||
'--inline-source',
|
||||
'--quiet'
|
||||
]
|
||||
|
||||
# Otros metadatos de la gema
|
||||
spec.metadata = {
|
||||
'bug_tracker_uri' => "#{spec.homepage}/issues",
|
||||
'homepage_uri' => spec.homepage,
|
||||
'source_code_uri' => spec.homepage,
|
||||
'changelog_uri' => "#{spec.homepage}/-/blob/master/CHANGELOG.md",
|
||||
'documentation_uri' => "https://rubydoc.info/gems/#{spec.name}"
|
||||
}
|
||||
|
||||
# Dependencias, esto se va a instalar al instalar la gema
|
||||
spec.add_runtime_dependency 'jekyll', '~> 4.0'
|
||||
spec.add_runtime_dependency 'jekyll-relative-urls', '~> 0.0'
|
||||
spec.add_runtime_dependency 'jekyll-feed', '~> 0.9'
|
||||
spec.add_runtime_dependency 'jekyll-seo-tag', '~> 2.1'
|
||||
spec.add_runtime_dependency 'jekyll-images', '~> 0.2'
|
||||
spec.add_runtime_dependency 'jekyll-include-cache', '~> 0'
|
||||
|
||||
# Dependencias de desarrollo
|
||||
spec.add_development_dependency 'bundler', '~> 2.1'
|
||||
spec.add_development_dependency 'rake', '~> 12.0'
|
||||
end
|
8
yarn.lock
Normal file
8
yarn.lock
Normal file
|
@ -0,0 +1,8 @@
|
|||
# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
|
||||
# yarn lockfile v1
|
||||
|
||||
|
||||
bootstrap@~4.4:
|
||||
version "4.4.1"
|
||||
resolved "https://registry.yarnpkg.com/bootstrap/-/bootstrap-4.4.1.tgz#8582960eea0c5cd2bede84d8b0baf3789c3e8b01"
|
||||
integrity sha512-tbx5cHubwE6e2ZG7nqM3g/FZ5PQEDMWmMGNrCUBVRPHXTJaH7CBDdsLeu3eCh3B1tzAxTnAbtmrzvWEvT2NNEA==
|
Loading…
Reference in a new issue