radios-comunitarias-jekyll-theme 0.3.0rc0 → 0.3.0rc1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (128) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +69 -18
  3. data/_config.yml +85 -0
  4. data/_data/actions.yml +9 -0
  5. data/_data/activity_pub.yml +8 -0
  6. data/_data/components.yml +10 -0
  7. data/_data/en.yml +159 -23
  8. data/_data/es.yml +159 -22
  9. data/_data/full_width_components.yml +2 -0
  10. data/_data/layouts/menu.yml +72 -0
  11. data/_data/layouts/post.yml +11 -11
  12. data/_data/layouts/radio.yml +80 -0
  13. data/_data/layouts/theme.yml +291 -0
  14. data/_data/manifest.json +1340 -0
  15. data/_data/theme.yml +142 -0
  16. data/_includes/activity_pub/actor.html +11 -0
  17. data/_includes/activity_pub/actor_mention.html +28 -0
  18. data/_includes/activity_pub/button.html +22 -0
  19. data/_includes/activity_pub/button_bar.html +16 -0
  20. data/_includes/activity_pub/cards.html +28 -0
  21. data/_includes/activity_pub/fediverse_interactions.html +2 -0
  22. data/_includes/activity_pub/generic_modal.html +55 -0
  23. data/_includes/activity_pub/image_modal.html +27 -0
  24. data/_includes/activity_pub/interactions.html +78 -0
  25. data/_includes/activity_pub/login_modal.html +70 -0
  26. data/_includes/activity_pub/reaction.html +45 -0
  27. data/_includes/activity_pub/reactions.html +17 -0
  28. data/_includes/activity_pub/replying_to.html +23 -0
  29. data/_includes/activity_pub/text_modal.html +16 -0
  30. data/_includes/activity_pub/toot_card.html +95 -0
  31. data/_includes/activity_pub/url.html +8 -0
  32. data/_includes/activity_pub/video_modal.html +20 -0
  33. data/_includes/boolean.html +9 -1
  34. data/_includes/bootstrap/custom_select.html +18 -0
  35. data/_includes/buttons/button.html +9 -0
  36. data/_includes/buttons/copy.html +28 -0
  37. data/_includes/buttons/generic.html +15 -0
  38. data/_includes/buttons/link.html +14 -0
  39. data/_includes/contact.html +6 -8
  40. data/_includes/content.html +9 -1
  41. data/_includes/device_detector.html +30 -0
  42. data/_includes/email.html +9 -1
  43. data/_includes/embed_responsive.html +16 -0
  44. data/_includes/external_link.html +15 -0
  45. data/_includes/fa.html +11 -0
  46. data/_includes/file.html +9 -1
  47. data/_includes/floating_alert.html +6 -0
  48. data/_includes/footer.html +1 -12
  49. data/_includes/headings/generic.html +14 -0
  50. data/_includes/headings/h1.html +9 -0
  51. data/_includes/headings/h2.html +9 -0
  52. data/_includes/headings/h3.html +9 -0
  53. data/_includes/headings/with_link.html +15 -0
  54. data/_includes/image.html +9 -1
  55. data/_includes/input.html +34 -7
  56. data/_includes/item.html +38 -0
  57. data/_includes/logo.html +1 -0
  58. data/_includes/markdown_content.html +9 -1
  59. data/_includes/menu.html +27 -0
  60. data/_includes/navbar.html +5 -1
  61. data/_includes/notification.html +5 -0
  62. data/_includes/number.html +9 -1
  63. data/_includes/pack.html +10 -0
  64. data/_includes/password.html +10 -0
  65. data/_includes/picture.html +25 -0
  66. data/_includes/post.html +18 -7
  67. data/_includes/predefined_array.html +10 -2
  68. data/_includes/preload_font.html +1 -0
  69. data/_includes/reproductor.html +29 -12
  70. data/_includes/script.html +5 -0
  71. data/_includes/search.html +25 -0
  72. data/_includes/share.html +8 -8
  73. data/_includes/share_box.html +41 -12
  74. data/_includes/social_networks.html +6 -0
  75. data/_includes/stretched_link.html +15 -0
  76. data/_includes/string.html +10 -1
  77. data/_includes/submit.html +13 -1
  78. data/_includes/svg/copy-icon.svg +1 -0
  79. data/_includes/svg/done-icon.svg +1 -0
  80. data/_includes/svg/menu.svg +9 -0
  81. data/_includes/svg/x.svg +3 -0
  82. data/_includes/tel.html +9 -1
  83. data/_includes/text.html +9 -1
  84. data/_includes/theme/button_with_copy.html +1 -0
  85. data/_includes/theme/button_with_link.html +5 -0
  86. data/_includes/theme/buttons.html +33 -0
  87. data/_includes/theme/colors.html +14 -0
  88. data/_includes/theme/content.html +41 -0
  89. data/_includes/theme/embed_responsive.html +10 -0
  90. data/_includes/theme/font_sizes.html +18 -0
  91. data/_includes/theme/footer.html +1 -0
  92. data/_includes/theme/letter_spacing.html +3 -0
  93. data/_includes/theme/picture.html +5 -0
  94. data/_includes/toggler/toggler.html +21 -0
  95. data/_includes/toggler/toggler_label.html +21 -0
  96. data/_includes/toggler/toggler_related.html +23 -0
  97. data/_includes/url.html +9 -1
  98. data/_layouts/default.html +50 -22
  99. data/_layouts/home.html +7 -5
  100. data/_layouts/page.html +5 -0
  101. data/_layouts/theme.html +60 -0
  102. data/_sass/accessibility.scss +40 -7
  103. data/_sass/content.scss +28 -0
  104. data/_sass/editor.scss +17 -0
  105. data/_sass/embed.scss +8 -0
  106. data/_sass/floating_alert.scss +48 -0
  107. data/_sass/fonts.scss +29 -0
  108. data/_sass/menu.scss +36 -0
  109. data/_sass/snap.scss +60 -0
  110. data/_sass/toggler.scss +15 -34
  111. data/_sass/utilities.scss +527 -0
  112. data/assets/css/styles.scss +15 -16
  113. data/assets/data/site.json +10 -0
  114. data/assets/fonts/forkawesome-webfont.woff2 +0 -0
  115. data/assets/fonts/roboto/v27/KFOjCnqEu92Fr1Mu51TzBhc9-subset.woff2 +0 -0
  116. data/assets/fonts/roboto/v27/KFOkCnqEu92Fr1MmgWxP-subset.woff2 +0 -0
  117. data/assets/fonts/roboto/v27/KFOkCnqEu92Fr1Mu52xP-subset.woff2 +0 -0
  118. data/assets/fonts/roboto/v27/KFOlCnqEu92Fr1MmWUlvAw-subset.woff2 +0 -0
  119. data/assets/fonts/roboto/v27/KFOmCnqEu92Fr1Me5Q-subset.woff2 +0 -0
  120. data/assets/js/env.js +8 -0
  121. data/assets/js/pack.L3BFF2IJ.js +40 -0
  122. data/assets/js/pack.L3BFF2IJ.js.map +7 -0
  123. metadata +285 -21
  124. data/_data/forms/contacto.yml +0 -40
  125. data/_sass/helpers.scss +0 -54
  126. data/_sass/share.html +0 -12
  127. data/_sass/share_box.html +0 -16
  128. data/assets/js/script.js +0 -82
data/_data/theme.yml ADDED
@@ -0,0 +1,142 @@
1
+ ---
2
+ vendor_prefixes:
3
+ - ""
4
+ - "-webkit-"
5
+ - "-ms-"
6
+ - "-o-"
7
+ - "-moz-"
8
+ bezier: "cubic-bezier(0.75, 0, 0.25, 1);"
9
+ colors:
10
+ black: "#000000"
11
+ white: "#ffffff"
12
+ transparent: "transparent"
13
+ theme_colors: "$colors"
14
+ spacer: "1rem"
15
+ spacers:
16
+ 20: "($spacer * 1.25)"
17
+ 50: "($spacer * 3.125)"
18
+ 150: "9.375rem"
19
+ paragraph_margin_bottom: "0"
20
+ headings_margin_bottom: "0"
21
+ label_margin_bottom: "0"
22
+ sizes:
23
+ 20px: "1.25rem"
24
+ 100vh: "100vh"
25
+ opacities:
26
+ 0: "-100%"
27
+ 1: "-80%"
28
+ 2: "-60%"
29
+ 3: "-40%"
30
+ 4: "-20%"
31
+ 5: "0%"
32
+ paragraph_margin_bottom: 0
33
+ headings_margin_bottom: 0
34
+ label_margin_bottom: 0
35
+ enable_responsive_font_sizes: true
36
+ directions:
37
+ - "top"
38
+ - "right"
39
+ - "bottom"
40
+ - "left"
41
+ font_sizes:
42
+ 16: "1"
43
+ 18: "1.125"
44
+ 20: "1.25"
45
+ 22: "1.375"
46
+ 24: "1.5"
47
+ 26: "1.625"
48
+ display1_size: "6rem"
49
+ display2_size: "5.55rem"
50
+ display3_size: "5rem"
51
+ display4_size: "4.5rem"
52
+ lead_font_size: "1.25rem"
53
+ letter_spacings:
54
+ 1: "0.1rem"
55
+ 2: "0.16rem"
56
+ text_decoration_lines:
57
+ - "none"
58
+ - "underline"
59
+ - "overline"
60
+ - "line-through"
61
+ text_decoration_styles:
62
+ - "solid"
63
+ - "double"
64
+ - "dotted"
65
+ - "dashed"
66
+ - "wavy"
67
+ hyphens:
68
+ - "none"
69
+ - "auto"
70
+ - "manual"
71
+ cursors:
72
+ - "pointer"
73
+ - "none"
74
+ - "help"
75
+ - "not-allowed"
76
+ - "progress"
77
+ - "text"
78
+ - "wait"
79
+ events:
80
+ - "none"
81
+ - "auto"
82
+ objects:
83
+ - "contain"
84
+ - "cover"
85
+ - "fill"
86
+ - "none"
87
+ - "scale-down"
88
+ overflows:
89
+ - "auto"
90
+ - "hidden"
91
+ - "scroll"
92
+ overflow_axis:
93
+ - "x"
94
+ - "y"
95
+ scrolls:
96
+ - "auto"
97
+ - "smooth"
98
+ svg_attributes:
99
+ - "fill"
100
+ - "stroke"
101
+ embed_responsive_aspect_ratios:
102
+ - "(1 1)"
103
+ - "(4 3)"
104
+ - "(16 9)"
105
+ - "(21 9)"
106
+ aligns:
107
+ - "left"
108
+ - "center"
109
+ - "right"
110
+ svg_attributes:
111
+ - "stroke"
112
+ - "fill"
113
+ pixel_densities:
114
+ - "1"
115
+ - "1.5"
116
+ - "2"
117
+ background_sizes:
118
+ cover: "cover"
119
+ auto: "auto"
120
+ contain: "contain"
121
+ background_positions_x:
122
+ - "center"
123
+ - "top"
124
+ background_positions_y:
125
+ - "center"
126
+ - "left"
127
+ - "right"
128
+ grid_breakpoints:
129
+ xs: "0"
130
+ sm: "576px"
131
+ md: "768px"
132
+ lg: "992px"
133
+ xl: "1200px"
134
+ border_width: "1px"
135
+ border_widths:
136
+ 1: "1px"
137
+ 2: "2px"
138
+ 3: "3px"
139
+ 4: "4px"
140
+ 5: "5px"
141
+ transform_scales:
142
+ - "1"
@@ -0,0 +1,11 @@
1
+ {% comment %}
2
+ Render actor's name if it's available, otherwise just return the link.
3
+
4
+ @param actor [ActivityDrop] Actor
5
+ {% endcomment %}
6
+
7
+ {% if include.actor.available %}
8
+ <span>{{ include.actor.name | strip_html }}</span>
9
+ {% else %}
10
+ <span>{{ include.actor }}</span>
11
+ {% endif %}
@@ -0,0 +1,28 @@
1
+ {% comment %}
2
+ @param actor [ActivityDrop] Actor
3
+ @param without_link [Boolean] Don't link
4
+ {% endcomment %}
5
+
6
+ {% if include.actor.available %}
7
+ {% assign id = include.actor.id | strip_html %}
8
+ {% assign instance_hostname = id | split: '/' %}
9
+ {% assign instance_hostname = instance_hostname[2] %}
10
+
11
+ {% capture mention %}
12
+ @<span>{{- include.actor.preferredUsername | strip_html -}}@{{- instance_hostname -}}</span>
13
+ {% endcapture %}
14
+
15
+ {% capture mention %}
16
+ <span class="h-card" translate="no">
17
+ {% if include.without_link %}
18
+ <span class="mention">{{- mention -}}</span>
19
+ {% else %}
20
+ {% include_cached external_link.html class="u-url mention" href=id text=mention %}
21
+ {% endif %}
22
+ </span>
23
+ {% endcapture %}
24
+
25
+ {{ mention | normalize_whitespace }}
26
+ {% else %}
27
+ {{ include.actor }}
28
+ {% endif %}
@@ -0,0 +1,22 @@
1
+ {%- comment -%}
2
+ Un botón con link, por ejemplo para Support Us. Si el link es externo,
3
+ agregar el parámetro de seguridad noopener.
4
+
5
+ @param :fa [String]
6
+ @param :header [Capture] el contenido del encabezado
7
+ @param :body [Capture] el contenido del cuerpo principal
8
+ @param :footer [Capture] el contenido del footer
9
+ @param :header_class [String] las clases que lleva el encabezado
10
+ @param :body_class [String] las clases que lleva el cuerpo principal
11
+ @param :footer_class [String] las clases que lleva el footer
12
+ @param :content_class [String] las clases que lleva todo el bloque de contenido
13
+ @param :button_class [String] las clases que lleva cada botón
14
+ {%- endcomment -%}
15
+
16
+ <div class="d-inline {{include.button_class}}" data-controller="modal">
17
+ <button class="btn btn-sm" data-action="click->modal#show">
18
+ {%- include_cached fa.html icon=include.fa class="lead" description=include.description -%}
19
+ </button>
20
+
21
+ {% include activity_pub/generic_modal.html header=include.header body=include.body footer=include.footer header_class=include.header_class body_class=include.body_class footer_class=include.footer_class content_class=include.content_class %}
22
+ </div>
@@ -0,0 +1,16 @@
1
+ {%- comment -%}
2
+ Botonera para botones de íconos.
3
+
4
+ @param :uri [String] La URL sobre la que se interactua
5
+ @param :profile [ActivityDrop] Actor
6
+ {%- endcomment -%}
7
+
8
+ {% assign uri = include.uri | default: include.url | default: 'YOU FORGOT THIS PARAM' | strip_html %}
9
+ {% assign actions = site.data.actions.actions %}
10
+
11
+ <div class="d-flex">
12
+ {% for action in actions %}
13
+ {% assign fa = action.icon %}
14
+ {% include activity_pub/login_modal.html action=action fa=fa uri=uri profile=include.profile description=action.title %}
15
+ {% endfor %}
16
+ </div>
@@ -0,0 +1,28 @@
1
+ {%- comment -%}
2
+ Nested cards
3
+
4
+ @param :profile [ActivityDrop] Actor
5
+ @param :activity [ActivityDrop] Note
6
+ @param :replies [ActivityDrop] Collection
7
+ {%- endcomment -%}
8
+
9
+ {%
10
+ include activity_pub/toot_card.html
11
+ profile=include.profile
12
+ activity=include.activity
13
+ component_class="my-3"
14
+ %}
15
+
16
+ {% if include.replies.available %}
17
+ {% assign replies = include.replies.all_items | sort: 'published' %}
18
+ {% for reply in replies %}
19
+ <blockquote class="border-left border-gray-light border-width-3 pl-3">
20
+ {%
21
+ include activity_pub/cards.html
22
+ profile=reply.attributedTo
23
+ activity=reply
24
+ replies=reply.replies
25
+ %}
26
+ </blockquote>
27
+ {% endfor %}
28
+ {% endif %}
@@ -0,0 +1,2 @@
1
+ {% assign extra = 'data-action="tabs#toggle" data-tabs-target="value"' %}
2
+ {% include_cached bootstrap/custom_select.html extra=extra options=site.i18n.fediverse_interactions %}
@@ -0,0 +1,55 @@
1
+ {%- comment -%}
2
+ Modal preparado para recibir contenido + header y footer
3
+
4
+ @param :header [Capture] contenido del header
5
+ @param :body [Capture] contenido del modal
6
+ @param :footer [Capture] contenido del footer
7
+ @param :header_class [String] clases del header
8
+ @param :body_class [String] clases del cuerpo principal
9
+ @param :footer_class [String] clases del header
10
+ @param :content_class [String] clases todo el bloque
11
+ {%- endcomment -%}
12
+
13
+ {% assign header = include.header %}
14
+ {% assign header_class = include.header_class %}
15
+ {% assign body = include.body %}
16
+ {% assign body_class = include.body_class %}
17
+ {% assign footer = include.footer %}
18
+ {% assign footer_class = include.footer_class %}
19
+ {% assign content_class = include.content_class %}
20
+
21
+ <div
22
+ class="modal fade mw-100vw"
23
+ tabindex="-1"
24
+ aria-hidden="true"
25
+ data-modal-target="modal"
26
+ data-action="keydown->modal#hideWithEscape"
27
+ >
28
+ <div class="modal-backdrop fade zindex-backdrop" data-modal-target="backdrop" data-action="click->modal#hide"></div>
29
+ <div class="modal-dialog modal-dialog-scrollable modal-dialog-centered modal-lg zindex-modal" role="document">
30
+ <div class="modal-content {{content_class}}">
31
+ {% if header %}
32
+ <div class="modal-header {{header_class}}">
33
+ {{ header }}
34
+ </div>
35
+ {% else %}
36
+ <div class="modal-header justify-content-end border-bottom-0 p-0 {{header_class}}">
37
+ <span class="px-3 py-2 m-0 h1 font-weight-bold" type="button" data-action="click->modal#hide">&times</span>
38
+ <span class="sr-only">{{ site.i18n.close }}</span>
39
+ </div>
40
+ {% endif %}
41
+
42
+ <div class="modal-body {{body_class}}">
43
+ {{ body }}
44
+ </div>
45
+
46
+ <div class="modal-footer flex-nowrap {{footer_class}}">
47
+ {% if footer %}
48
+ {{ footer }}
49
+ {% else %}
50
+ <button class="btn btn-secondary m-0" type="button" data-action="modal#hide">{{ site.i18n.close }}</button>
51
+ {% endif %}
52
+ </div>
53
+ </div>
54
+ </div>
55
+ </div>
@@ -0,0 +1,27 @@
1
+ {%- comment -%}
2
+ Modal con imagen
3
+
4
+ @param :image [Image] la imagen que queremos en el modal, contiene url y alt text
5
+ {%- endcomment -%}
6
+
7
+ {% assign alt = include.image.name | strip_html | escape %}
8
+ {% assign src = include.image.url | strip_html | uri_escape %}
9
+ {% assign extra = 'data-action="click->modal#show"' %}
10
+
11
+ {% capture body %}
12
+ <img class="background-white mw-100" title="{{ alt }}" alt="{{ alt }}" src="{{ src }}">
13
+ {% endcapture %}
14
+
15
+ <div class="{{ include.extra }} px-1" data-controller="modal">
16
+ {%
17
+ include embed_responsive.html
18
+ x=16
19
+ y=9
20
+ src=src
21
+ alt=alt
22
+ extra=extra
23
+ width=300
24
+ img_class="cursor-pointer min-w-100px w-100 object-fit-cover"
25
+ %}
26
+ {% include activity_pub/generic_modal.html header_class="text-white" body=body body_class="d-flex justify-content-center" footer_class="d-none" content_class="background-transparent border-0" %}
27
+ </div>
@@ -0,0 +1,78 @@
1
+ {% comment %}
2
+ @param activity [ActivityDrop]
3
+ {% endcomment %}
4
+
5
+ {% assign items = site.i18n.fediverse_interactions %}
6
+ {% assign reactions = '' | split: ',' %}
7
+ {% assign activities = reactions %}
8
+
9
+ {% if page.activity.replies.available %}
10
+ {% assign activities = page.activity.replies.all_items | sort: 'published' %}
11
+ {% endif %}
12
+
13
+ {% if include.activity.likes.available %}
14
+ {% assign reactions = reactions | concat: include.activity.likes.all_items %}
15
+ {% endif %}
16
+
17
+ {% if include.activity.shares.available %}
18
+ {% assign reactions = reactions | concat: include.activity.shares.all_items %}
19
+ {% endif %}
20
+
21
+ {% assign reactions = reactions | sort: 'published' %}
22
+
23
+ {% assign all_interactions = activities | concat: reactions | sort: 'published' %}
24
+
25
+ <div class="w-100" data-controller="tabs" data-tabs-hide-class="hide" data-tabs-show-class="show">
26
+ {% include_cached activity_pub/button_bar.html uri=include.activity.id profile=include.profile %}
27
+
28
+ <hr>
29
+
30
+ <h3 class="text-uppercase">{{ site.i18n.ver_interacciones }}</h3>
31
+
32
+ <div class="d-flex flex-row align-items-center mt-2 mb-5">
33
+ {% include_cached activity_pub/fediverse_interactions.html %}
34
+
35
+ {% assign text = site.i18n.help | markdownify | replace: '<a ', "<a target='_blank' rel='noopener' " %}
36
+ {% include_cached activity_pub/text_modal.html text=text fa="question-circle-o" %}
37
+ </div>
38
+
39
+ <div class="w-100 d-none fade hide" data-tabs-target="tab" id="conversation">
40
+ {% unless activities == empty %}
41
+ {% for activity in activities %}
42
+ {% include_cached activity_pub/cards.html activity=activity profile=activity.attributedTo replies=activity.replies %}
43
+ {% endfor %}
44
+ {% else %}
45
+ <p class="h1">
46
+ {{ site.i18n.no_interactions_yet.conversation }}
47
+ <p>
48
+ {% endunless %}
49
+ </div>
50
+
51
+ <div class="w-100 d-none fade hide" data-tabs-target="tab" id="reactions">
52
+ {% unless reactions == empty %}
53
+ {% include_cached activity_pub/reactions.html reactions=reactions %}
54
+ {% else %}
55
+ <p class="h1">
56
+ {{ site.i18n.no_interactions_yet.reactions }}
57
+ <p>
58
+ {% endunless %}
59
+ </div>
60
+
61
+ <div class="w-100 fade show" data-tabs-target="tab" id="both">
62
+ {% unless all_interactions == empty %}
63
+ {% for interaction in all_interactions %}
64
+ {% assign minus = forloop.index0 | minus: 1 %}
65
+ {% assign previous = all_interactions[minus] %}
66
+ {% if interaction.type == 'Announce' or interaction.type == 'Like' %}
67
+ {% include_cached activity_pub/reaction.html activity=interaction previous=previous %}
68
+ {% else %}
69
+ {% include_cached activity_pub/cards.html activity=interaction profile=interaction.attributedTo replies=interaction.replies %}
70
+ {% endif %}
71
+ {% endfor %}
72
+ {% else %}
73
+ <p class="h1">
74
+ {{ site.i18n.no_interactions_yet.both }}
75
+ <p>
76
+ {% endunless %}
77
+ </div>
78
+ </div>
@@ -0,0 +1,70 @@
1
+ {%- comment -%}
2
+ Modal para loguearse al fediverso
3
+
4
+ @param :action [String] acción que le usuarie quiere realizar desde el fediverso
5
+ @param :fa [String] nombre del ícono que usa fork-awesome
6
+ @param :uri [String] la URL sobre la que se interactúa
7
+ @param :profile [ActivityDrop] Actor
8
+ {%- endcomment -%}
9
+
10
+ {% assign action = include.action %}
11
+ {% assign fa = include.fa %}
12
+ {% capture name %}
13
+ {% include_cached activity_pub/actor.html actor=include.profile %}
14
+ {% endcapture %}
15
+
16
+ {% capture header %}
17
+ <div class="d-flex align-items-center h1 justify-content-center w-100">
18
+ <span class="d-flex responsive-header font-weight-bold text-center">
19
+ <i class="fa fa-{{fa}} text-primary mr-2"></i>
20
+ <span>
21
+ {{ site.i18n.login_modal[action.title].text | replace: "$usuarie", name }}
22
+ </span>
23
+ <div>
24
+ <span class="px-3 py-2 m-0 h1" type="button" data-action="click->modal#hide">&times</span>
25
+ <span class="sr-only">{{ site.i18n.close }}</span>
26
+ </div>
27
+ </span>
28
+ </div>
29
+ {% endcapture %}
30
+
31
+ {% capture body %}
32
+ <p class="mb-2">{{site.i18n.login_modal.top_text | markdownify | replace: "$action", site.i18n.login_modal[action.title].title }}</p>
33
+ <div class="mt-3 mb-2 h5">{{site.i18n.login_modal.question | markdownify}}</div>
34
+ <div class="mb-3">
35
+ <form
36
+ class="needs-validation"
37
+ data-controller="authorize-interaction"
38
+ data-action="authorize-interaction#submit:prevent"
39
+ data-authorize-interaction-uri-value="{{ include.uri | strip_html | absolute_url | uri_escape }}"
40
+ >
41
+ <div class="form-row align-items-center border-lg border-lg-primary py-1">
42
+ <div class="col-12 col-lg mb-1 mb-lg-0">
43
+ <label class="sr-only">{{site.i18n.login_modal.placeholder}}</label>
44
+ <input
45
+ class="form-control border border-primary border-lg-0"
46
+ placeholder="{{site.i18n.login_modal.placeholder}}"
47
+ autocomplete="impp"
48
+ required
49
+ data-authorize-interaction-target="instance"
50
+ data-action="authorize-interaction#revalid"
51
+ type="search"/>
52
+ <div class="invalid-feedback">
53
+ {{- site.i18n.login_modal.authorize_interaction_unsupported -}}
54
+ </div>
55
+ </div>
56
+
57
+ <div class="col-12 col-lg-auto">
58
+ <button class="btn btn-primary btn-block py-btn-padding-y lh-btn-line-height f-16 font-weight-bold" type="submit">{{ site.i18n.take_me_home }}</button>
59
+ </div>
60
+ </div>
61
+ </form>
62
+ </div>
63
+ <small class="d-block mb-2">{{site.i18n.login_modal.small_text}}</small>
64
+ <span>{{site.i18n.login_modal.bottom_text | markdownify}}</span>
65
+ {% endcapture %}
66
+
67
+ {% capture footer %}
68
+ {% endcapture %}
69
+
70
+ {% include activity_pub/button.html header=header body=body footer=footer header_class="justify-content-center border-bottom-0" body_class="justify-content-center" footer_class="border-top-0" content_class="p-2" button_class="mx-1" fa=action.icon description=include.description %}
@@ -0,0 +1,45 @@
1
+ {%- comment -%}
2
+ Reacción
3
+
4
+ @param :activity [String] Reacción de le usuarie
5
+ @param :fa [String] nombre del ícono que usa fork-awesome
6
+ @param :actor [String] Usuarie
7
+ {%- endcomment -%}
8
+
9
+ {% assign published = include.activity.published | strip_html %}
10
+
11
+ <div class="d-flex">
12
+ <div class="d-flex flex-column gray px-2 text-right">
13
+ {% include_cached date.html date=published format=site.i18n.date.format %}
14
+ {% include_cached date.html date=published format=site.i18n.time.format %}
15
+ </div>
16
+
17
+ <div class="flex-column px-2 flex-grow-1">
18
+ {% if include.previous.actor == include.activity.actor %}
19
+ <div class="d-flex">
20
+ <p class="transparent hover-transparent">
21
+ {% include_cached activity_pub/actor.html actor=include.activity.actor %}
22
+ </p>
23
+ </div>
24
+ <div class="d-flex">
25
+ <p class="transparent hover-transparent">
26
+ {% include_cached activity_pub/actor_mention.html actor=include.activity.actor without_link=true %}
27
+ </p>
28
+ </div>
29
+ {% else %}
30
+ <div class="d-flex">
31
+ <p class="">{% include_cached activity_pub/actor.html actor=include.activity.actor %}</p>
32
+ </div>
33
+ <div class="d-flex">
34
+ {% include_cached activity_pub/actor_mention.html actor=include.activity.actor %}
35
+ </div>
36
+ {% endif %}
37
+ </div>
38
+
39
+ <div class="flex-column align-self-center px-2 lead">
40
+ {% assign icon = include.activity.type | equals: 'Announce' | ternary: 'retweet', 'star-o' %}
41
+ {% assign description = site.i18n.activities[include.activity.type] %}
42
+
43
+ {%- include_cached fa.html icon=icon class="lead" description=description -%}
44
+ </div>
45
+ </div>
@@ -0,0 +1,17 @@
1
+ {%- comment -%}
2
+ Reacciones
3
+
4
+ @param :reactions [Array] Reacciones
5
+ @param :actor [String] Usuarie
6
+ {%- endcomment -%}
7
+
8
+ {% for reaction in include.reactions %}
9
+ {% assign minus = forloop.index0 | minus: 1 %}
10
+ {% assign previous = include.reactions[minus] %}
11
+
12
+ {%
13
+ include activity_pub/reaction.html
14
+ activity=reaction
15
+ previous=previous
16
+ %}
17
+ {% endfor %}
@@ -0,0 +1,23 @@
1
+ {%- comment -%}
2
+ Texto + enlace al post/artículo al cual se responde
3
+
4
+ @param :activity [ActivityDrop] Activity
5
+ {%- endcomment -%}
6
+
7
+ {% if include.activity.available %}
8
+ {%- capture uri -%}
9
+ {%- include_cached activity_pub/url.html activity=include.activity -%}
10
+ {%- endcapture -%}
11
+
12
+ {% capture text %}
13
+ {{- include.activity.name | default: include.activity.summary | strip_html | default: site.i18n.reply.link_text -}}
14
+ {% endcapture %}
15
+
16
+ <div class="py-5 pr-5">
17
+ <span class="h2">
18
+ {{- site.i18n.reply.text -}}
19
+ </span>
20
+
21
+ {% include_cached external_link.html href=uri class="h2" text=text %}
22
+ </div>
23
+ {% endif %}
@@ -0,0 +1,16 @@
1
+ {%- comment -%}
2
+ Modal para mostrar texto
3
+
4
+ @param :text [String] contenido del modal
5
+ @param :fa [String] nombre del ícono que usa fork-awesome
6
+ {%- endcomment -%}
7
+
8
+ {% capture body %}
9
+ {{ include.text }}
10
+ {% endcapture %}
11
+
12
+ {% capture footer %}
13
+ {% endcapture %}
14
+
15
+ {% assign fa = include.fa %}
16
+ {% include activity_pub/button.html body=body footer=footer body_class="justify-content-center" footer_class="border-top-0 d-none" content_class="p-2" fa=fa %}