sutty-donaciones-jekyll-theme 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (41) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE.txt +168 -0
  3. data/README.md +63 -0
  4. data/_data/layouts/boton.yml +27 -0
  5. data/_data/layouts/portada.yml +68 -0
  6. data/_data/layouts/post.yml +113 -0
  7. data/_includes/boolean.html +1 -0
  8. data/_includes/email.html +1 -0
  9. data/_includes/form/boolean.html +25 -0
  10. data/_includes/form/email.html +1 -0
  11. data/_includes/form/input.html +24 -0
  12. data/_includes/form/number.html +1 -0
  13. data/_includes/form/predefined_array.html +30 -0
  14. data/_includes/form/section.html +1 -0
  15. data/_includes/form/separator.html +1 -0
  16. data/_includes/form/string.html +1 -0
  17. data/_includes/form/submit.html +1 -0
  18. data/_includes/form/text.html +24 -0
  19. data/_includes/form/url.html +1 -0
  20. data/_includes/input.html +1 -0
  21. data/_includes/navbar.html +29 -0
  22. data/_includes/number.html +1 -0
  23. data/_includes/predefined_array.html +1 -0
  24. data/_includes/section.html +1 -0
  25. data/_includes/separator.html +1 -0
  26. data/_includes/string.html +1 -0
  27. data/_includes/submit.html +1 -0
  28. data/_includes/text.html +1 -0
  29. data/_includes/url.html +1 -0
  30. data/_layouts/default.html +25 -0
  31. data/_layouts/home.html +33 -0
  32. data/_layouts/post.html +69 -0
  33. data/_sass/fonts.scss +17 -0
  34. data/assets/css/styles.scss +30 -0
  35. data/assets/fonts/saira/v3/Saira-subset.zopfli.woff +0 -0
  36. data/assets/fonts/saira/v3/Saira.ttf +0 -0
  37. data/assets/fonts/saira/v3/SairaBold-subset.zopfli.woff +0 -0
  38. data/assets/fonts/saira/v3/SairaBold.ttf +0 -0
  39. data/assets/fonts/saira/v3/SairaMedium-subset.zopfli.woff +0 -0
  40. data/assets/fonts/saira/v3/SairaMedium.ttf +0 -0
  41. metadata +224 -0
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: ab07afb94ec7dccfe41d96bb467ff13c386a60881d0b4c2eaabc93ee777ac56c
4
+ data.tar.gz: 740423cc6ae9347b449567fb2613d8d7785fd782bd6feaab95fe5a765c1dd898
5
+ SHA512:
6
+ metadata.gz: 6ee140cf6edf97bc4e615743e83c023e473714d9150da0f51d01c58eb72dbfa39ea1e02d1cf9ef130914db111cde9b76ed3590e16ffa5542eae23b458582c666
7
+ data.tar.gz: 40b901d25548b6c96755f336ef07f414fc8fc77e8bb970a5cf1360dde793afa12db775795e95c80cf51884357f1f6e8e7509a6e6adca02d9a3d94f67a2f952f7
@@ -0,0 +1,168 @@
1
+ Copyright (c) 2020 Sutty
2
+
3
+ The following license is modified from the MIT license and downloaded
4
+ from <https://github.com/Laurelai/anti-fascist-mit-license> on
5
+ 2019-07-11.
6
+
7
+ Anti-Fascist MIT License:
8
+
9
+ The following conditions must be met by any person obtaining a copy of
10
+ this software:
11
+
12
+ - You MAY NOT be a fascist.
13
+ - You MUST not financially support fascists.
14
+ - You MUST not intentionally provide or knowingly provide through
15
+ inaction a platform for fascists to spread propaganda or organize.
16
+ - You MUST not publicly voice support for fascists.
17
+ - You MAY NOT be a member of any fascist organization, even if you are a
18
+ member to infiltrate for anti-fascist purposes.
19
+
20
+ "Fascist" can be understood as any group or individual who promotes the
21
+ political ideology of fascism.
22
+
23
+ "Fascism" can be broken down into 11 ideological features as well as 8
24
+ tactics that can form a fascist system in varying combinations, for the
25
+ sake of simplicity and brevity the individual or organization in
26
+ question must match to at least 5 features or tactics or a combination
27
+ of the two determined by the individual licencer.
28
+
29
+ Said licencer may provide a list if an individual or group matches to at
30
+ least 5 features upon request from the individual or group in question.
31
+
32
+ The ideological features are listed below.
33
+
34
+ 1. Hyper-nationalism.
35
+
36
+ As defined as "The belief in the superiority of one's nation and of the
37
+ paramount importance of advancing it."
38
+
39
+ 2. Militarism.
40
+
41
+ As defined as "Advocating for an increase in military forces beyond what
42
+ the real defense of a nation needs, more influence of the military upon
43
+ the policies of the civilian government, and a preference for force as a
44
+ solution over diplomacy for problems."
45
+
46
+ 3. Glorification of violence and readiness to use it in politics.
47
+
48
+ As defined as "The belief that violence can be used to cleanse a
49
+ tarnished nation, also by using violence to harm, intimidate or kill
50
+ political oppoenents."
51
+
52
+ 4. Fetishization of youth.
53
+
54
+ As defined as "Extolling the virtues of youth and making a special
55
+ appeal to young people to join a cause or organization"
56
+
57
+ 5. Fetishization of masculinity.
58
+
59
+ As defined as "Extolling the virtues of male authority or patriarchy and
60
+ making a special appeal to men to be leaders of households and groups"
61
+
62
+ 6. Leader cult.
63
+
64
+ As defined as "Creating an idealized, heroic, and worshipful image of a
65
+ leader, often through unquestioning flattery and praise."
66
+
67
+ 7. Lost-golden-age syndrome.
68
+
69
+ As defined as "Creating or promoting the idea that a nation had a lost
70
+ or stolen golden age in the past that must be returned to"
71
+
72
+ 8. Self-definition by opposition.
73
+
74
+ As defined as "Creating or promoting the idea that the group or
75
+ individual is the only person or way who can fight real or imagined
76
+ evils within a society."
77
+
78
+ 9. Mass mobilization and mass party.
79
+
80
+ As defined as "Creating or promoting the creation of a populist group or
81
+ party for the advancment of fascist tactics or features."
82
+
83
+ 10. Hierarchical party structure and tendency to purge the disloyal.
84
+
85
+ As defined as "Removal of membership from a group for lacking absolute
86
+ loyalty or lacking further usefulness to the group. Also having a
87
+ hierarchical structure within the group itself."
88
+
89
+ 11. Theatricality.
90
+
91
+ As defined as "Using spectacle to gain and keep the attention of those
92
+ inside and outside of the group using speeches full of absolutes and or
93
+ superlatives. Elaborate collective rituals (rallies) meant to reenforce
94
+ loyalty within the group."
95
+
96
+ Fascist tactics include
97
+
98
+ 1) Persecution of national minorities.
99
+ 2) Persecution of racial minorities.
100
+ 3) Persecution of religious minorities (Anti-Semitism, Islamophobia and others).
101
+ 4) Promotion of a type of national purity.
102
+ 5) Promotion of a state run by ideologically oriented corporate bodies.
103
+ 6) Persecution of gender or sexual minorities.
104
+ 7) Persecution of the disabled.
105
+ 8) Formation of extra-legal forces (brownshirts) to defend fascist values.
106
+
107
+ Special criteria: Meeting only one point of the special criteria is
108
+ enough to consider someone or a group to be fascist for the purposes of
109
+ this licence.
110
+
111
+ 1. Promotion of any theories that state members of the jewish ethnicity
112
+ or faith control or largely control the world, finance, or other
113
+ global major power system.
114
+
115
+ 2. Denial of the holocaust or any other historically proven genocide.
116
+
117
+ 3. Promotion of ethnostates.
118
+
119
+ 4. Advocating for eugenics. Either positive or negative eugenics.
120
+ Promotion for the rights of abortion are not considered eugenics.
121
+
122
+ 5. Advocating for the removal of rights or legal protections from a
123
+ class or group of people.
124
+
125
+ Former fascists: People or organizations who used to promote the
126
+ political ideology of fascism but no longer do so must meet the
127
+ following criterea to be able to use this software.
128
+
129
+ 1. Publicly disavow past fascist deeds and ideologies.
130
+
131
+ 2. Expose any and all known fascists former allies to the public.
132
+
133
+ A suggested route would be through the one peoples project
134
+ (onepeoplesproject.com). If they can confirm you have done so that
135
+ will count as meeting condition two.
136
+
137
+ 3. Publicly destroy any and all fascist paraphenelia you have in your
138
+ posession including removal of tattoos and body markings
139
+ affiliated with fascist groups or gangs.
140
+
141
+ ANTI-FASCIST-MIT LICENSE:
142
+
143
+ Permission is hereby granted, free of charge, to any person obtaining a
144
+ copy of this software and associated documentation files (the
145
+ "Software"), to deal in the Software without restriction, including
146
+ without limitation the rights to use, copy, modify, merge, publish,
147
+ distribute, sublicense, and/or sell copies of the Software, and to
148
+ permit persons to whom the Software is furnished to do so, subject to
149
+ the following conditions:
150
+
151
+ The above copyright notice and this permission notice shall be included
152
+ in all copies or substantial portions of the Software.
153
+
154
+ The above licence agreement conditions are met in full.
155
+
156
+ The Anti-Fascist MIT License may only be used under the terms of the
157
+ Anti-Fascist MIT License.
158
+
159
+ Any modified versions of this software must also include the
160
+ Anti-Fascist MIT Licence.
161
+
162
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
163
+ OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
164
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
165
+ IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
166
+ CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
167
+ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
168
+ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -0,0 +1,63 @@
1
+ # sutty-donaciones-jekyll-theme
2
+
3
+ A donations page theme.
4
+
5
+ ## Installation
6
+
7
+ Add this line to your Jekyll site's `Gemfile`:
8
+
9
+ ```ruby
10
+ gem "sutty-donaciones-jekyll-theme"
11
+ ```
12
+
13
+ And add this line to your Jekyll site's `_config.yml`:
14
+
15
+ ```yaml
16
+ theme: sutty-donaciones-jekyll-theme
17
+ ```
18
+
19
+ And then execute:
20
+
21
+ $ bundle
22
+
23
+ Or install it yourself as:
24
+
25
+ $ gem install sutty-donaciones-jekyll-theme
26
+
27
+ ## Usage
28
+
29
+ Create an article with layout 'portada' and as many posts with layout
30
+ 'boton' as you want. The required fields are described under
31
+ `_data/layouts`.
32
+
33
+ ## Contributing
34
+
35
+ Bug reports and pull requests are welcome on 0xacab.org at
36
+ https://0xacab.org/sutty/jekyll/sutty-donaciones-jekyll-theme. This project is
37
+ intended to be a safe, welcoming space for collaboration, and
38
+ contributors are expected to adhere to the [Sutty's code of
39
+ conduct](http://sutty.nl/en/code-of-conduct).
40
+
41
+ ## Development
42
+
43
+ To set up your environment to develop this theme, run `bundle install`.
44
+
45
+ Your theme is setup just like a normal Jekyll site! To test your theme,
46
+ run `bundle exec jekyll serve` and open your browser at
47
+ `http://localhost:4000`. This starts a Jekyll server using your
48
+ theme. Add pages, documents, data, etc. like normal to test your theme's
49
+ contents. As you make modifications to your theme and to your content,
50
+ your site will regenerate and you should see the changes in the browser
51
+ after a refresh, just like normal.
52
+
53
+ When your theme is released, only the files in `_layouts`, `_includes`,
54
+ `_sass` and `assets` tracked with Git will be bundled.
55
+
56
+ To add a custom directory to your theme-gem, please edit the array in
57
+ `sutty-donaciones-jekyll-theme.gemspec` accordingly.
58
+
59
+ ## License
60
+
61
+ The theme is available as open source under the terms of the [Antifacist
62
+ MIT License](LICENSE.txt).
63
+
@@ -0,0 +1,27 @@
1
+ ---
2
+ title:
3
+ type: 'string'
4
+ required: true
5
+ label:
6
+ es: 'Título del botón'
7
+ en: 'Button title'
8
+ help:
9
+ es: 'Un título descriptivo para el botón de donación'
10
+ en: 'A descriptive title for the donation button'
11
+ payment_url:
12
+ type: 'url'
13
+ required: true
14
+ label:
15
+ es: 'Enlace o Link del botón de pago'
16
+ en: 'Payment button link'
17
+ help:
18
+ es: 'El provedor del sistema de pago tiene que proporcionarte un link al botón de pago'
19
+ es: 'The system payment provider must give you the link to the payment button'
20
+ color:
21
+ type: 'color'
22
+ label:
23
+ es: 'Podés personalizar el color del botón'
24
+ en: 'You may customize button color'
25
+ help:
26
+ es: ''
27
+ en: ''
@@ -0,0 +1,68 @@
1
+ ---
2
+ title:
3
+ type: 'string'
4
+ required: true
5
+ label:
6
+ es: 'Título de la campaña de donaciones'
7
+ en: 'Campaign title'
8
+ help:
9
+ es: 'Un título que convoque a movilizar donaciones'
10
+ en: 'A title that invites people to donate'
11
+ description:
12
+ type: 'text'
13
+ required: true
14
+ label:
15
+ es: 'Alerta de contenido o descripción de la campaña'
16
+ en: 'Content warning or campaign description'
17
+ help:
18
+ es: |
19
+ Resumen del contenido del contenido de la campaña, que también usarán redes
20
+ sociales y buscadores. Si la campaña está relacionada con violencias y/u otros
21
+ temas sensibles, te invitamos a usar este campo como alerta de
22
+ contenido, para que las personas puedan determinar cuándo quieren
23
+ abrirlo.
24
+ en: |
25
+ Summary of the campaign contents, also used by social media and search
26
+ engines. If the campaign is related to violence and/or other sensitive
27
+ topics, we invite you to use it as a content warning, so others
28
+ can decide when they want to read it.
29
+ author:
30
+ type: 'array'
31
+ label:
32
+ es: 'Autores'
33
+ en: 'Authors'
34
+ help:
35
+ es: 'Quiénes son parte de esta campañao'
36
+ en: 'Who is part of this campaign'
37
+ image:
38
+ type: 'image'
39
+ path:
40
+ label:
41
+ es: 'Imagen principal'
42
+ en: 'Main image'
43
+ help:
44
+ es: |
45
+ Se utiliza para ilustrar la campaña y como previsualización en
46
+ las redes sociales.
47
+ en: |
48
+ It's used to illustrate the campaign and as preview in social
49
+ networks.
50
+ description:
51
+ label:
52
+ es: 'Descripción de la imagen principal'
53
+ en: 'Main image description'
54
+ help:
55
+ es: |
56
+ Describe la imagen principal para usuaries no videntes y
57
+ buscadores
58
+ en: |
59
+ Describe the main image for blind or partially sighted users and
60
+ search engines
61
+ content:
62
+ type: 'content'
63
+ label:
64
+ es: 'Contenido de la campaña'
65
+ en: 'Campaign content'
66
+ help:
67
+ es: 'Motivaciones, plazos, formas de donación o cualquier dato relevante'
68
+ en: 'Motivations, timeframes, donation types or any relevant information'
@@ -0,0 +1,113 @@
1
+ ---
2
+ title:
3
+ type: 'string'
4
+ required: true
5
+ label:
6
+ es: 'Título del artículo'
7
+ en: 'Post title'
8
+ help:
9
+ es: '¡Un título que invite a leer el artículo!'
10
+ en: 'A title that invites people to read the post!'
11
+ description:
12
+ type: 'text'
13
+ required: true
14
+ label:
15
+ es: 'Alerta de contenido o descripción del artículo'
16
+ en: 'Content warning or post description'
17
+ help:
18
+ es: |
19
+ Resumen del contenido del artículo, que también usarán redes
20
+ sociales y buscadores. Si el artículo trata de violencias y otros
21
+ temas sensibles, te invitamos a usar este campo como alerta de
22
+ contenido, para que las personas puedan determinar cuándo quieren
23
+ abrirlo.
24
+ en: |
25
+ Summary of the post contents, also used by social media and search
26
+ engines. If the post is about violence and other sensitive
27
+ topics, we invite you to use it as a content warning, so others
28
+ can decide when they want to read it.
29
+ author:
30
+ type: 'array'
31
+ label:
32
+ es: 'Autores'
33
+ en: 'Authors'
34
+ help:
35
+ es: 'Quiénes participaron en la escritura de este artículo'
36
+ en: 'Who collaborated in write this post'
37
+ image:
38
+ type: 'image'
39
+ path:
40
+ label:
41
+ es: 'Imagen principal'
42
+ en: 'Main image'
43
+ help:
44
+ es: |
45
+ Se utiliza para ilustrar el artículo y como previsualización en
46
+ las redes sociales.
47
+ en: |
48
+ It's used to illustrate the article and as preview in social
49
+ networks.
50
+ description:
51
+ label:
52
+ es: 'Descripción de la imagen principal'
53
+ en: 'Main image description'
54
+ help:
55
+ es: |
56
+ Describe la imagen principal para usuaries no videntes y
57
+ buscadores
58
+ en: |
59
+ Describe the main image for blind or partially sighted users and
60
+ search engines
61
+ content:
62
+ type: 'content'
63
+ label:
64
+ es: 'Contenido del artículo'
65
+ en: 'Post content'
66
+ help:
67
+ es: 'Escribe aquí el artículo'
68
+ en: 'Write down your post'
69
+ permalink:
70
+ type: 'string'
71
+ label:
72
+ es: 'Enlace'
73
+ en: 'Permalink'
74
+ help:
75
+ es: |
76
+ Si no quieres utilizar el formato de enlaces general del sitio
77
+ para este artículo, especifica uno aquí.
78
+ en: |
79
+ If you don't want to follow the site's link format for this
80
+ post, change it here.
81
+ categories:
82
+ type: 'array'
83
+ label:
84
+ es: 'Categorías'
85
+ en: 'Categories'
86
+ help:
87
+ es: 'Ayudan a organizar los artículos en temas'
88
+ en: 'Use categories to organize posts by themes'
89
+ tags:
90
+ type: 'array'
91
+ label:
92
+ es: 'Etiquetas'
93
+ en: 'Tags'
94
+ help:
95
+ es: 'Usa etiquetas para resaltar palabras clave'
96
+ en: 'Tags are helpful as keywords'
97
+ draft:
98
+ type: 'boolean'
99
+ label:
100
+ es: 'Borrador'
101
+ en: 'Draft'
102
+ help:
103
+ es: 'Este artículo aun no está listo para publicar'
104
+ en: "This post isn't ready to be published yet"
105
+ order:
106
+ type: 'order'
107
+ label:
108
+ es: 'Orden'
109
+ en: 'Order'
110
+ help:
111
+ es: 'La posición del artículo en la lista de artículos'
112
+ en: 'The post position in the posts list'
113
+ ---
@@ -0,0 +1 @@
1
+ _includes/form/boolean.html
@@ -0,0 +1 @@
1
+ _includes/form/email.html
@@ -0,0 +1,25 @@
1
+ <div class="form-check text-left">
2
+ <input
3
+ {% if include.field[1].help %}
4
+ aria-describedby="help-{{ include.field[0] }}"
5
+ {% endif %}
6
+ {% if include.field[1].required %}
7
+ required
8
+ {% endif %}
9
+ type="checkbox"
10
+ name="{{ include.field[0] }}"
11
+ id="{{ include.field[1].id | default: include.field[0] }}"
12
+ class="form-check-input" />
13
+
14
+ <label
15
+ class="form-check-label"
16
+ for="{{ include.field[1].id | default: include.field[0] }}">
17
+ {{ include.field[1].label }}
18
+ </label>
19
+
20
+ {%- if include.field[1].help -%}
21
+ <small id="help-{{ include.field[0] }}" class="form-text">
22
+ {{ include.field[1].help }}
23
+ </small>
24
+ {%- endif -%}
25
+ </div>
@@ -0,0 +1 @@
1
+ {% include input.html field=field %}
@@ -0,0 +1,24 @@
1
+ <div class="form-group">
2
+ <label for="{{ include.field[1].id | default: include.field[0] }}">
3
+ {% if include.field[1].required %}*{% endif %}
4
+ {{ include.field[1].label }}
5
+ </label>
6
+
7
+ <input
8
+ {% if include.field[1].help %}
9
+ aria-describedby="help-{{ include.field[0] }}"
10
+ {% endif %}
11
+ {% if include.field[1].required %}
12
+ required
13
+ {% endif %}
14
+ type="{{ include.field[1].type }}"
15
+ name="{{ include.field[0] }}"
16
+ id="{{ include.field[1].id | default: include.field[0] }}"
17
+ class="form-control" />
18
+
19
+ {%- if include.field[1].help -%}
20
+ <small id="help-{{ include.field[0] }}" class="form-text">
21
+ {{ include.field[1].help }}
22
+ </small>
23
+ {%- endif -%}
24
+ </div>
@@ -0,0 +1 @@
1
+ {% include input.html field=field %}
@@ -0,0 +1,30 @@
1
+ <div class="form-group">
2
+ <label for="{{ include.field[1].id | default: include.field[0] }}">
3
+ {% if include.field[1].required %}*{% endif %}
4
+ {{ include.field[1].label }}
5
+ </label>
6
+
7
+ <select
8
+ {% if include.field[1].help %}
9
+ aria-describedby="help-{{ include.field[0] }}"
10
+ {% endif %}
11
+ {% if include.field[1].required %}
12
+ required
13
+ {% endif %}
14
+ name="{{ include.field[0] }}"
15
+ id="{{ include.field[1].id | default: include.field[0] }}"
16
+ class="form-control">
17
+
18
+ <option value="" selected></option>
19
+
20
+ {%- for option in include.field[1].values -%}
21
+ <option value="{{ option }}">{{ option }}</option>
22
+ {%- endfor -%}
23
+ </select>
24
+
25
+ {%- if include.field[1].help -%}
26
+ <small id="help-{{ include.field[0] }}" class="form-text">
27
+ {{ include.field[1].help }}
28
+ </small>
29
+ {%- endif -%}
30
+ </div>
@@ -0,0 +1 @@
1
+ <h2 id="{{ include.field[0] }}">{{ include.field[1].title }}</h2>
@@ -0,0 +1 @@
1
+ <hr/>
@@ -0,0 +1 @@
1
+ {% include input.html field=field %}
@@ -0,0 +1 @@
1
+ <input type="submit" class="btn btn-success" value="{{ include.field[1].label }}" />
@@ -0,0 +1,24 @@
1
+ <div class="form-group">
2
+ <label for="{{ include.field[0] }}">
3
+ {% if include.field[1].required %}*{% endif %}
4
+ {{ include.field[1].label }}
5
+ </label>
6
+
7
+ <textarea
8
+ {% if include.field[1].help %}
9
+ aria-describedby="help-{{ include.field[0] }}"
10
+ {% endif -%}
11
+ {% if include.field[1].required %}
12
+ required
13
+ {% endif %}
14
+ name="{{ include.field[0] }}"
15
+ id="{{ include.field[1].id | default: include.field[0] }}"
16
+ class="form-control">
17
+ </textarea>
18
+
19
+ {%- if include.field[1].help -%}
20
+ <small id="help-{{ include.field[0] }}" class="form-text">
21
+ {{ include.field[1].help }}
22
+ </small>
23
+ {%- endif -%}
24
+ </div>
@@ -0,0 +1 @@
1
+ {% include input.html field=field %}
@@ -0,0 +1 @@
1
+ _includes/form/input.html
@@ -0,0 +1,29 @@
1
+ <nav class="navbar navbar-expand-lg navbar-light bg-light d-print-block" role="navigation" aria-label="{{ site.i18n.menu.title }}">
2
+ <a class="navbar-brand" href="">
3
+ {% include_cached logo.html %}
4
+ </a>
5
+
6
+ {% comment %}
7
+ TODO: Add CSS-only hamburger menu.
8
+ {% endcomment %}
9
+ <ul class="navbar-nav d-print-none">
10
+ {%- for item in site.i18n.menu.items -%}
11
+ {% comment %}
12
+ This makes it hard to just cache the whole navbar, but we prefer
13
+ to mark the active item in code rather than with JS.
14
+ {% endcomment %}
15
+
16
+ <li class="nav-item">
17
+ <a class="nav-link{% if page.url == item.href %} active{% endif %}" href="{{ item.href }}">
18
+ {{ item.title }}
19
+
20
+ {%- if page.url == item.href -%}
21
+ <span class="sr-only">
22
+ {{ site.i18n.menu.active | default: '(current)' }}
23
+ </span>
24
+ {%- endif -%}
25
+ </a>
26
+ </li>
27
+ {%- endfor -%}
28
+ </ul>
29
+ </nav>
@@ -0,0 +1 @@
1
+ _includes/form/number.html
@@ -0,0 +1 @@
1
+ _includes/form/predefined_array.html
@@ -0,0 +1 @@
1
+ _includes/form/section.html
@@ -0,0 +1 @@
1
+ _includes/form/separator.html
@@ -0,0 +1 @@
1
+ _includes/form/string.html
@@ -0,0 +1 @@
1
+ _includes/form/submit.html
@@ -0,0 +1 @@
1
+ _includes/form/text.html
@@ -0,0 +1 @@
1
+ _includes/form/url.html
@@ -0,0 +1,25 @@
1
+ <!DOCTYPE html>
2
+ <html lang="{{ site.lang }}" dir="{{ site.dir }}">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <base href="{% base %}" />
6
+ <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
7
+ <meta content="width=device-width, initial-scale=1.0" name="viewport">
8
+ <meta name="theme-color" content="white"/>
9
+ <meta name="color-scheme" content="light"/>
10
+
11
+ <link href="assets/css/styles.css" rel="stylesheet">
12
+
13
+ {% seo %}
14
+ {% feed_meta %}
15
+ </head>
16
+ <body>
17
+ <main class="container">
18
+ <div class="row justify-content-center d-print-block">
19
+ <div class="col">
20
+ {{ content }}
21
+ </div>
22
+ </div>
23
+ </main>
24
+ </body>
25
+ </html>
@@ -0,0 +1,33 @@
1
+ ---
2
+ layout: default
3
+ ---
4
+
5
+ {%- assign portada = site.posts | where: 'layout', 'portada' | first -%}
6
+ {%- assign botones = site.posts | where: 'layout', 'boton' -%}
7
+
8
+ <section>
9
+ <h1>{{ portada.title }}</h1>
10
+ <p class="lead">{{ portada.author | join: ', ' }} &mdash; {{ portada.description }}</p>
11
+
12
+ {%- if portada.image.path -%}
13
+ <img
14
+ src="{{ portada.image.path }}"
15
+ class="img-fluid"
16
+ alt="{{ portada.image.description | default: portada.title }}">
17
+ {%- endif -%}
18
+
19
+ <div class="mt-5 mb-5">
20
+ {{ portada.content }}
21
+ </div>
22
+ </section>
23
+
24
+ <section class="row justify-content-center">
25
+ <div class="col-md-6">
26
+ {% for boton in botones %}
27
+ <a
28
+ class="btn btn-block btn-lg btn-{{ boton.slug }} mt-3"
29
+ target="_blank"
30
+ href="{{ boton.payment_url }}">{{ boton.title }}</a>
31
+ {% endfor %}
32
+ </div>
33
+ </section>
@@ -0,0 +1,69 @@
1
+ ---
2
+ layout: default
3
+ ---
4
+
5
+ <article class="h-entry" itemscope itemtype="http://schema.org/Article">
6
+ <header>
7
+ <h1 class="p-name" itemprop="name headline">{{ page.title | escape }}</h1>
8
+
9
+ {%- if page.description -%}
10
+ <p class="lead p-summary" itemprop="description">{{ page.description | escape }}</p>
11
+ {%- endif -%}
12
+
13
+ {%- if page.image.path -%}
14
+ <picture>
15
+ {% for size in site.images.sizes %}
16
+ <source srcset="{{ page.image.path | thumbnail: size }}" media="(max-width: {{ size }}px)" />
17
+ {% endfor %}
18
+
19
+ <img class="img-fluid" src="{{ page.image.path | thumbnail: 1140 }}" alt="{{ page.image.description }}" />
20
+ </picture>
21
+ {%- endif -%}
22
+
23
+ <p>
24
+ <time class="dt-published" datetime="{{ page.date | date_to_xmlschema }}" itemprop="datePublished">
25
+ {%- assign date_format = site.i18n.date | default: "%b %-d, %Y" -%}
26
+ {{ page.date | date: date_format }}
27
+ </time>
28
+ {%- for author in page.author -%}
29
+
30
+ <span itemprop="author" itemscope itemtype="http://schema.org/Person">
31
+ <span class="p-author h-card" itemprop="name">
32
+ {{ author | escape }}
33
+ </span>
34
+ </span>
35
+ {%- endfor -%}
36
+ </p>
37
+ </header>
38
+
39
+ <div class="e-content" itemprop="articleBody">
40
+ {{ content }}
41
+ </div>
42
+
43
+ <footer>
44
+ <a class="u-url" itemprop="url" href="{{ page.url }}" hidden>
45
+ {{ site.url }}/{{ page.url }}
46
+ </a>
47
+
48
+ {%- if page.uuid -%}
49
+ <span hidden itemprop="identifier">{{ page.uuid }}</span>
50
+ {%- endif -%}
51
+
52
+ {%- if page.license.url -%}
53
+ <p itemprop="license" itemtype="http://schema.org/CreativeWork">
54
+ <a rel="license" itemprop="url" href="{{ page.license.url }}">
55
+ <span itemprop="articleBody">
56
+ {{ page.license.description }}
57
+ </span>
58
+ </a>
59
+ </p>
60
+ {%- endif -%}
61
+
62
+ {%- if page.tags %}
63
+ <span itemprop="keywords" hidden>{{ page.tags | join: ', ' }}</span>
64
+ {%- for tag in page.tags -%}
65
+ <span hidden class="h-category">{{ tag }}</span>
66
+ {%- endfor -%}
67
+ {%- endif -%}
68
+ </footer>
69
+ </article>
@@ -0,0 +1,17 @@
1
+ @font-face {
2
+ font-family: 'Saira';
3
+ font-style: normal;
4
+ font-weight: 500;
5
+ font-display: optional;
6
+ src: local('Saira Medium'), local('Saira-Medium'),
7
+ url('../fonts/saira/v3/SairaMedium-subset.zopfli.woff') format('woff');
8
+ }
9
+
10
+ @font-face {
11
+ font-family: 'Saira';
12
+ font-style: normal;
13
+ font-weight: 700;
14
+ font-display: optional;
15
+ src: local('Saira Bold'), local('Saira-Bold'),
16
+ url('../fonts/saira/v3/SairaBold-subset.zopfli.woff') format('woff');
17
+ }
@@ -0,0 +1,30 @@
1
+ ---
2
+ # Ponemos un frontmatter porque queremos que Jekyll procese este archivo
3
+ ---
4
+
5
+ {%- assign botones = site.posts | where: 'layout', 'boton' -%}
6
+
7
+ $theme-colors: (
8
+ {% for boton in botones %}
9
+ "{{ boton.slug }}": {{ boton.color }}{% unless forloop.last %},{% endunless %}
10
+ {% endfor %}
11
+ );
12
+
13
+ @import "fonts";
14
+
15
+ $font-family-sans-serif: Saira, sans-serif;
16
+ $primary: #f206f9;
17
+
18
+ ::-moz-selection,
19
+ ::selection {
20
+ background: $primary;
21
+ }
22
+
23
+ /*
24
+ * XXX: Solo importar los archivos necesarios de bootstrap para
25
+ * facilitar la reducción de CSS. Por ahora pedimos todo para poder
26
+ * empezar a trabajar en el HTML sin pensar en CSS.
27
+ *
28
+ * Los archivos se encuentran en node_modules/bootstrap/scss
29
+ */
30
+ @import "bootstrap/scss/bootstrap";
metadata ADDED
@@ -0,0 +1,224 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: sutty-donaciones-jekyll-theme
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - f
8
+ - e
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2020-06-02 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: jekyll
16
+ requirement: !ruby/object:Gem::Requirement
17
+ requirements:
18
+ - - "~>"
19
+ - !ruby/object:Gem::Version
20
+ version: '4.0'
21
+ type: :runtime
22
+ prerelease: false
23
+ version_requirements: !ruby/object:Gem::Requirement
24
+ requirements:
25
+ - - "~>"
26
+ - !ruby/object:Gem::Version
27
+ version: '4.0'
28
+ - !ruby/object:Gem::Dependency
29
+ name: jekyll-relative-urls
30
+ requirement: !ruby/object:Gem::Requirement
31
+ requirements:
32
+ - - "~>"
33
+ - !ruby/object:Gem::Version
34
+ version: '0.0'
35
+ type: :runtime
36
+ prerelease: false
37
+ version_requirements: !ruby/object:Gem::Requirement
38
+ requirements:
39
+ - - "~>"
40
+ - !ruby/object:Gem::Version
41
+ version: '0.0'
42
+ - !ruby/object:Gem::Dependency
43
+ name: jekyll-feed
44
+ requirement: !ruby/object:Gem::Requirement
45
+ requirements:
46
+ - - "~>"
47
+ - !ruby/object:Gem::Version
48
+ version: '0.9'
49
+ type: :runtime
50
+ prerelease: false
51
+ version_requirements: !ruby/object:Gem::Requirement
52
+ requirements:
53
+ - - "~>"
54
+ - !ruby/object:Gem::Version
55
+ version: '0.9'
56
+ - !ruby/object:Gem::Dependency
57
+ name: jekyll-seo-tag
58
+ requirement: !ruby/object:Gem::Requirement
59
+ requirements:
60
+ - - "~>"
61
+ - !ruby/object:Gem::Version
62
+ version: '2.1'
63
+ type: :runtime
64
+ prerelease: false
65
+ version_requirements: !ruby/object:Gem::Requirement
66
+ requirements:
67
+ - - "~>"
68
+ - !ruby/object:Gem::Version
69
+ version: '2.1'
70
+ - !ruby/object:Gem::Dependency
71
+ name: jekyll-images
72
+ requirement: !ruby/object:Gem::Requirement
73
+ requirements:
74
+ - - "~>"
75
+ - !ruby/object:Gem::Version
76
+ version: '0.2'
77
+ type: :runtime
78
+ prerelease: false
79
+ version_requirements: !ruby/object:Gem::Requirement
80
+ requirements:
81
+ - - "~>"
82
+ - !ruby/object:Gem::Version
83
+ version: '0.2'
84
+ - !ruby/object:Gem::Dependency
85
+ name: jekyll-include-cache
86
+ requirement: !ruby/object:Gem::Requirement
87
+ requirements:
88
+ - - "~>"
89
+ - !ruby/object:Gem::Version
90
+ version: '0'
91
+ type: :runtime
92
+ prerelease: false
93
+ version_requirements: !ruby/object:Gem::Requirement
94
+ requirements:
95
+ - - "~>"
96
+ - !ruby/object:Gem::Version
97
+ version: '0'
98
+ - !ruby/object:Gem::Dependency
99
+ name: jekyll-data
100
+ requirement: !ruby/object:Gem::Requirement
101
+ requirements:
102
+ - - "~>"
103
+ - !ruby/object:Gem::Version
104
+ version: '1.1'
105
+ type: :runtime
106
+ prerelease: false
107
+ version_requirements: !ruby/object:Gem::Requirement
108
+ requirements:
109
+ - - "~>"
110
+ - !ruby/object:Gem::Version
111
+ version: '1.1'
112
+ - !ruby/object:Gem::Dependency
113
+ name: bundler
114
+ requirement: !ruby/object:Gem::Requirement
115
+ requirements:
116
+ - - "~>"
117
+ - !ruby/object:Gem::Version
118
+ version: '2.1'
119
+ type: :development
120
+ prerelease: false
121
+ version_requirements: !ruby/object:Gem::Requirement
122
+ requirements:
123
+ - - "~>"
124
+ - !ruby/object:Gem::Version
125
+ version: '2.1'
126
+ - !ruby/object:Gem::Dependency
127
+ name: rake
128
+ requirement: !ruby/object:Gem::Requirement
129
+ requirements:
130
+ - - "~>"
131
+ - !ruby/object:Gem::Version
132
+ version: '12.0'
133
+ type: :development
134
+ prerelease: false
135
+ version_requirements: !ruby/object:Gem::Requirement
136
+ requirements:
137
+ - - "~>"
138
+ - !ruby/object:Gem::Version
139
+ version: '12.0'
140
+ description:
141
+ email:
142
+ - f@sutty.nl
143
+ - e@sutty.nl
144
+ executables: []
145
+ extensions: []
146
+ extra_rdoc_files:
147
+ - README.md
148
+ - LICENSE.txt
149
+ files:
150
+ - LICENSE.txt
151
+ - README.md
152
+ - _data/layouts/boton.yml
153
+ - _data/layouts/portada.yml
154
+ - _data/layouts/post.yml
155
+ - _includes/boolean.html
156
+ - _includes/email.html
157
+ - _includes/form/boolean.html
158
+ - _includes/form/email.html
159
+ - _includes/form/input.html
160
+ - _includes/form/number.html
161
+ - _includes/form/predefined_array.html
162
+ - _includes/form/section.html
163
+ - _includes/form/separator.html
164
+ - _includes/form/string.html
165
+ - _includes/form/submit.html
166
+ - _includes/form/text.html
167
+ - _includes/form/url.html
168
+ - _includes/input.html
169
+ - _includes/navbar.html
170
+ - _includes/number.html
171
+ - _includes/predefined_array.html
172
+ - _includes/section.html
173
+ - _includes/separator.html
174
+ - _includes/string.html
175
+ - _includes/submit.html
176
+ - _includes/text.html
177
+ - _includes/url.html
178
+ - _layouts/default.html
179
+ - _layouts/home.html
180
+ - _layouts/post.html
181
+ - _sass/fonts.scss
182
+ - assets/css/styles.scss
183
+ - assets/fonts/saira/v3/Saira-subset.zopfli.woff
184
+ - assets/fonts/saira/v3/Saira.ttf
185
+ - assets/fonts/saira/v3/SairaBold-subset.zopfli.woff
186
+ - assets/fonts/saira/v3/SairaBold.ttf
187
+ - assets/fonts/saira/v3/SairaMedium-subset.zopfli.woff
188
+ - assets/fonts/saira/v3/SairaMedium.ttf
189
+ homepage: https://0xacab.org/sutty/jekyll/sutty-donaciones-jekyll-theme
190
+ licenses:
191
+ - Nonstandard
192
+ metadata:
193
+ bug_tracker_uri: https://0xacab.org/sutty/jekyll/sutty-donaciones-jekyll-theme/issues
194
+ homepage_uri: https://0xacab.org/sutty/jekyll/sutty-donaciones-jekyll-theme
195
+ source_code_uri: https://0xacab.org/sutty/jekyll/sutty-donaciones-jekyll-theme
196
+ changelog_uri: https://0xacab.org/sutty/jekyll/sutty-donaciones-jekyll-theme/-/blob/master/CHANGELOG.md
197
+ documentation_uri: https://rubydoc.info/gems/sutty-donaciones-jekyll-theme
198
+ post_install_message:
199
+ rdoc_options:
200
+ - "--title"
201
+ - sutty-donaciones-jekyll-theme - A theme for a donation page
202
+ - "--main"
203
+ - README.md
204
+ - "--line-numbers"
205
+ - "--inline-source"
206
+ - "--quiet"
207
+ require_paths:
208
+ - lib
209
+ required_ruby_version: !ruby/object:Gem::Requirement
210
+ requirements:
211
+ - - ">="
212
+ - !ruby/object:Gem::Version
213
+ version: '0'
214
+ required_rubygems_version: !ruby/object:Gem::Requirement
215
+ requirements:
216
+ - - ">="
217
+ - !ruby/object:Gem::Version
218
+ version: '0'
219
+ requirements: []
220
+ rubygems_version: 3.0.3
221
+ signing_key:
222
+ specification_version: 4
223
+ summary: A theme for a donation page
224
+ test_files: []