jekyll-theme-chaos 0.1.0 → 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 4c3dc350756d03d03b08fd0e81636bec777926a8c1881e513ee8a2852e6ce052
4
- data.tar.gz: 5d1513eb757ad2ffa6d38e8572f4308363372cee9c1e8ebd3aff4f84840f9df9
3
+ metadata.gz: 3fc06ba02b6cc1ba40b1c828766a1c0ca5b3722acee54f054d764478d91a11be
4
+ data.tar.gz: 80d6637137b35337f37230a699255d92cdce73c658b7f675674c2faf10b4b617
5
5
  SHA512:
6
- metadata.gz: 3dc8139d42f57853b22a676420260db83fbe82ee76c2c2026fcf8cb7df2e5e99964cc3989a1a84653eda8e9d7e0cab659598d63ca03863611f7f6bd59297f6ad
7
- data.tar.gz: 5d8963bb496420dfdf93da63cd57c273fed37858a09657cade97a961e931374ad2fc244102e2eaa62333a60ed9d00442c4789276afc5060bf578bc32bea6d36e
6
+ metadata.gz: 8505de2f2b33ad13a6e3e7621331a800ebb1de2b86b1ad7ff8d32c6c8845fd7e913c5a8cc7a15f9bc40304e53e9d7763f530e8e8a03ddf38f4bd7312ef1c2854
7
+ data.tar.gz: ea5df5c60544cd097f9b12d0f4daf53db0fdde9fc90f9c4a2caba5d72d10c7dc8ab04db782c82e4bf9c11365edf44dbcba71ca33f22e867f100463a2f1435459
data/README.md CHANGED
@@ -1,10 +1,8 @@
1
1
  # jekyll-theme-chaos
2
2
 
3
- Welcome to your new Jekyll theme! In this directory, you'll find the files you need to be able to package up your theme into a gem. Put your layouts in `_layouts`, your includes in `_includes`, your sass files in `_sass` and any other assets in `assets`.
4
-
5
- To experiment with this code, add some sample content and run `bundle exec jekyll serve` – this directory is setup just like a Jekyll site!
6
-
7
- TODO: Delete this and the text above, and describe your gem
3
+ This theme is a development on the
4
+ [jekyll-rebellion](https://github.com/davidgundry/jekyll-rebellion) theme,
5
+ with lots of added stuff to suit a general day of action type site.
8
6
 
9
7
 
10
8
  ## Installation
@@ -31,7 +29,21 @@ Or install it yourself as:
31
29
 
32
30
  ## Usage
33
31
 
34
- TODO: Write usage instructions here. Describe your available layouts, includes, sass and/or assets.
32
+ This theme was designed with use of Airtable and Forestry.io as content management
33
+ systems.
34
+
35
+ To start with an example website check out the
36
+ [example day of action website](https://github.com/tippingpointuk/dayofactionwebsite)
37
+ or just deploy straight to Netlify:
38
+
39
+ [ ![Deploy to Netlify](https://www.netlify.com/img/deploy/button.svg) ](https://app.netlify.com/start/deploy?repository=https://github.com/tippingpointuk/dayofactionwebsite)
40
+
41
+
42
+ Checkout the [`jekyll-airtable-import` plugin](https://github.com/tippingpointuk/jekyll-airtable-import)
43
+ for setting up your import.
44
+
45
+ And got to [foresty.io](https://foresty.io/) and follow the steps to add that
46
+ GIT based CMS to your site.
35
47
 
36
48
  ## Contributing
37
49
 
@@ -0,0 +1,49 @@
1
+ <script src="{{ '/assets/js/osdi.js' | relative_url }}" charset="utf-8"></script>
2
+ <noscript>
3
+ <p>It looks like you have Javascript disabled. You won't be able to submit the form below without it.</p>
4
+ </noscript>
5
+ <form id="action-network-blind-post" class="Chaos-Form" action="{{ include.petition }}signatures" method="post">
6
+ <fieldset class="pair">
7
+ <div class="input text">
8
+ <input for="action-network-form-first-label" type="text" name="given_name" value="" id="action-network-form-first" required>
9
+ <label id="action-network-form-first-label">First Name</label>
10
+ </div>
11
+ <div class="input text">
12
+ <input for="action-network-form-last-label" type="text" name="family_name" value="" id="action-network-form-last">
13
+ <label id="action-network-form-last-label">Last Name</label>
14
+ </div>
15
+ </fieldset>
16
+ <fieldset class="pair">
17
+ <div class="input text">
18
+ <input type="email" name="email_address" id="action-network-form-email" for="action-network-form-email-label" required/>
19
+ <label id="action-network-form-email-label">Email Address</label>
20
+ </div>
21
+ <div class="input text">
22
+ <input for="action-network-form-organisation-label" type="text" name="custom[organisation]" id="action-network-form-organisation">
23
+ <label id="action-network-form-organisation-label">Organisation</label>
24
+ </div>
25
+ </fieldset>
26
+ <div class="Chaos-Flex-Line">
27
+ <button type="submit" id="simple_submit" value="Submit" class="Chaos-Button">Submit</button>
28
+ </div>
29
+ <div id="action-network-blind-post-success"></div>
30
+ </form>
31
+ <script type="text/javascript">
32
+ $(document).ready(function() {
33
+ $('#action-network-blind-post').osdi({
34
+ done: function(data, textStatus, jqXHR) {
35
+ console.log('done');
36
+ $(':input','#action-network-blind-post')
37
+ .not(':button, :submit, :reset, :hidden')
38
+ .val('')
39
+ .prop('checked', false)
40
+ .prop('selected', false);
41
+ $('#action-network-blind-post-success').html('<p><strong>Thanks!</strong></p>');
42
+ },
43
+ fail: function(jqXHR, textStatus, errorThrown) {
44
+ console.log('fail');
45
+ $('#action-network-blind-post-success').html('<p>Looks like that didn\'t work!</p>');
46
+ },
47
+ });
48
+ });
49
+ </script>
File without changes
@@ -1,11 +1,13 @@
1
- <div class="Chaos-Flex-Line">
1
+ <ul class="Chaos-Demand-List">
2
2
  {% for demand in include.demands %}
3
- <div class="Chaos-Demand">
4
- <div class="Chaos-Flex-Line"><h2>{{ demand.heading }}</h2></div>
5
- <p>{{ demand.text }}</p>
6
- {% if demand.button %}
7
- <div class="Chaos-Flex-Line"><a href="{{ demand.button.target | liquify | relative_url }}"><span class="Chaos-Button">{{demand.button.text | liquify}}</span></a></div>
3
+ <li class="no-invert Chaos-Demand">
4
+ <h3 class="type {{ demand.type | slugify }}" >{{ demand.type }}</h3>
5
+ {{ demand.title }}
6
+ {% if demand.faq_title[0] %}
7
+ <div class="Chaos-Flex-Line">
8
+ <a href="#{{ demand.faq_title[0] | slugify }}"><span class="no-invert Chaos-Button" >More</span></a>
9
+ </div>
8
10
  {% endif %}
9
- </div>
11
+ </li>
10
12
  {% endfor %}
11
- </div>
13
+ </ul>
@@ -10,7 +10,7 @@
10
10
  {% endfor %}
11
11
 
12
12
  <div class="social-links-padding"></div>
13
- {% include social-links.html %}
13
+ {% include share-links.html page=site %}
14
14
 
15
15
  {% if site.donate %}
16
16
  <div class="withinPadding"></div>
@@ -31,8 +31,7 @@
31
31
  <div class="">
32
32
  </div>
33
33
  <p>
34
- This site was created by <a href="https://tippingpointuk.org">Tipping Point UK</a>,
35
- for the Defund Climate Chaos UK Coalition.
34
+ This site uses the <a href="https://github.com/tippingpointuk/jekyll-theme-chaos ">Chaos Theme for Jekyll</a>.
36
35
  {% if site.copyright_notice %}
37
36
  {{ site.copyright_notice | liquify | markdownify }}
38
37
  {% endif %}
data/_includes/head.html CHANGED
@@ -2,19 +2,6 @@
2
2
  <meta charset="utf-8">
3
3
  <meta name="viewport" content="width=device-width, initial-scale=1">
4
4
  <link href="https://fonts.googleapis.com/css?family=Crimson+Text:400,700&display=swap" rel="stylesheet">
5
-
6
- <!-- Leaflet Mapping -->
7
- <link rel="stylesheet" href="{{ "/assets/css/MarkerCluster.Default.css" | relative_url }}">
8
- <link rel="stylesheet" href="{{ "/assets/css/MarkerCluster.css" | relative_url }}">
9
- <link rel="stylesheet" href="https://unpkg.com/leaflet@1.7.1/dist/leaflet.css"
10
- integrity="sha512-xodZBNTC5n17Xt2atTPuE1HxjVMSvLVW9ocqUKLsCC5CXdbqCmblAshOMAS6/keqq/sMZMZ19scR4PsZChSR7A=="
11
- crossorigin=""/>
12
- <script src="https://unpkg.com/leaflet@1.7.1/dist/leaflet.js"
13
- integrity="sha512-XQoYMqMTK8LvdxXYG3nZ448hOEQiglfqkJs1NOQV44cWnUrBc8PkAOcXy20w0vlaXaVUearIOBhiXZ5V3ynxwA=="
14
- crossorigin=""></script>
15
- <script src="/assets/js/leaflet.markercluster-src.js"></script>
16
-
17
-
18
5
  <script type="text/javascript" src="{{ '/assets/js/jquery.js' | relative_url }}"></script>
19
6
  {%- seo -%}
20
7
  <link rel="stylesheet" href="{{ "/assets/css/chaos-style.css" | relative_url }}">
@@ -24,7 +11,6 @@
24
11
  {%- include google-analytics.html -%}
25
12
  {%- endif -%}
26
13
  <!-- ODSI Library -->
27
- <script type="text/javascript">
28
- !function(a,b,c,d){"use strict";function h(b,c){this.$element=a(b),this.settings=a.extend({},f,c),this._defaults=f,this._name=e,this.init(this.$element),this.submit=function(){this.form_submit(this.$element,this)}}var e="osdi",f={autoresponse:!0,done:function(){},fail:function(){},always:function(){},status:"subscribed",immediate:!1,ajax_options:{type:"POST",dataType:"json",contentType:"application/json"}};a.extend(h.prototype,{init:function(a){this.validate_form(a)&&this.form_submit(a,this)},validate_form:function(a){return!!a.is("form")||(console.log("JQUERY OSDI ERROR: The DOM element passed to the jQuery OSDI plugin is not a form. The jQuery OSDI plugin only supports form elements."),!1)},form_submit:function(a,b){b.settings.immediate?b.submit_handler(a,b):a.on("submit",function(){return b.submit_handler(a,b),!1})},submit_handler:function(b,c){if(c.validate_submit(b)){var d,e,f,g,h,i;d=c.create_body(b),e=c.settings.endpoint&&""!=c.settings.endpoint?"function"==typeof c.settings.endpoint?c.settings.endpoint():c.settings.endpoint:b.attr("action"),f={url:e,data:JSON.stringify(d)},f="function"==typeof c.settings.ajax_options?a.extend(f,c.settings.ajax_options()):a.extend(f,c.settings.ajax_options),g=c.settings.done,h=c.settings.fail,i=c.settings.always,c.perform_ajax(f,g,h,i)}},validate_submit:function(a){return!(!this.validate_endpoint(a)||!this.validate_add_tags())},validate_endpoint:function(a){return!(!this.settings.endpoint&&!a.attr("action"))||(console.log("JQUERY OSDI ERROR: An endpoint is required. Either set the endpoint option with a string when calling the jQuery OSDI plugin, or give your form an action attribute with the endpoint as its value."),!1)},validate_add_tags:function(){return!this.settings.add_tags||("function"==typeof this.settings.add_tags?!(!a.isArray(this.settings.add_tags())||!this.settings.add_tags().length>0)||(console.log("JQUERY OSDI ERROR: The add_tags option is not a valid array of at least one element. You must pass an array with at least one element to the jQuery OSDI plugin to add tags."),!1):!(!a.isArray(this.settings.add_tags)||!this.settings.add_tags.length>0)||(console.log("JQUERY OSDI ERROR: The add_tags option is not a valid array of at least one element. You must pass an array with at least one element to the jQuery OSDI plugin to add tags."),!1))},create_body:function(b){var c,d,e,f,g,h,i,j;if(this.settings.body)c="function"==typeof this.settings.body?this.settings.body():this.settings.body;else{if(c={person:{}},"function"==typeof this.settings.autoresponse?this.settings.autoresponse()===!0&&(d={triggers:{autoresponse:{enabled:!0}}}):this.settings.autoresponse&&this.settings.autoresponse===!0&&(d={triggers:{autoresponse:{enabled:!0}}}),a.extend(c,d),this.settings.add_tags&&(j="function"==typeof this.settings.add_tags?{add_tags:this.settings.add_tags()}:{add_tags:this.settings.add_tags},a.extend(c,j)),b.find(':input[name="family_name"]').length&&b.find(':input[name="family_name"]').val()&&(c.person.family_name=a.isArray(b.find(':input[name="family_name"]').val())?b.find(':input[name="family_name"]').val().pop():b.find(':input[name="family_name"]').val()),b.find(':input[name="given_name"]').length&&b.find(':input[name="given_name"]').val()&&(c.person.given_name=a.isArray(b.find(':input[name="given_name"]').val())?b.find(':input[name="given_name"]').val().pop():b.find(':input[name="given_name"]').val()),b.find(':input[name="email_address"]').length&&b.find(':input[name="email_address"]').val()){var k=a.isArray(b.find(':input[name="email_address"]').val())?b.find(':input[name="email_address"]').val().pop():b.find(':input[name="email_address"]').val();e={email_addresses:[{address:k}]},a.extend(c.person,e),"function"==typeof this.settings.status?this.settings.status()!==!1&&(c.person.email_addresses[0].status=this.settings.status()):this.settings.status!==!1&&(c.person.email_addresses[0].status=this.settings.status)}if((b.find(':input[name="street"]').length&&b.find(':input[name="street"]').val()||b.find(':input[name="locality"]').length&&b.find(':input[name="locality"]').val()||b.find(':input[name="region"]').length&&b.find(':input[name="region"]').val()||b.find(':input[name="postal_code"]').length&&b.find(':input[name="postal_code"]').val()||b.find(':input[name="country"]').length&&b.find(':input[name="country"]').val())&&(f={},b.find(':input[name="street"]').length&&b.find(':input[name="street"]').val()&&(f.address_lines=[a.isArray(b.find(':input[name="street"]').val())?b.find(':input[name="street"]').val().pop():b.find(':input[name="street"]').val()]),b.find(':input[name="locality"]').length&&b.find(':input[name="locality"]').val()&&(f.locality=a.isArray(b.find(':input[name="locality"]').val())?b.find(':input[name="locality"]').val().pop():b.find(':input[name="locality"]').val()),b.find(':input[name="region"]').length&&b.find(':input[name="region"]').val()&&(f.region=a.isArray(b.find(':input[name="region"]').val())?b.find(':input[name="region"]').val().pop():b.find(':input[name="region"]').val()),b.find(':input[name="postal_code"]').length&&b.find(':input[name="postal_code"]').val()&&(f.postal_code=a.isArray(b.find(':input[name="postal_code"]').val())?b.find(':input[name="postal_code"]').val().pop():b.find(':input[name="postal_code"]').val()),b.find(':input[name="country"]').length&&b.find(':input[name="country"]').val()&&(f.country=a.isArray(b.find(':input[name="country"]').val())?b.find(':input[name="country"]').val().pop():b.find(':input[name="country"]').val()),g={postal_addresses:[f]},a.extend(c.person,g)),b.find(':input[name="phone_number"]').length&&b.find(':input[name="phone_number"]').val()){var l=a.isArray(b.find(':input[name="phone_number"]').val())?b.find(':input[name="phone_number"]').val().pop():b.find(':input[name="phone_number"]').val();h={phone_numbers:[{number:l}]},a.extend(c.person,h)}b.find(':input[name^="custom["]').length&&(i={},a.each(b.find(':input[name^="custom["]').serializeArray(),function(){""!=this.value&&(i[this.name.replace(/^custom\[|\]$/g,"")]=this.value)}),a.isEmptyObject(i)||(c.person.custom_fields=i))}return c},perform_ajax:function(b,c,d,e){a.ajax(b).done(function(a,b,d){c(a,b,d)}).fail(function(a,b,c){d(a,b,c)}).always(function(a,b,c){e(a,b,c)})}}),a.fn[e]=function(b){return this.each(function(){a.data(this,"plugin_"+e)?a.data(this,"plugin_"+e).submit():a.data(this,"plugin_"+e,new h(this,b))})}}(jQuery,window,document);
29
- </script>
14
+ <script src="{{ '/assets/js/jquery-osdi.js' | relative_url }}"></script>
15
+ {% include custom-head.html %}
30
16
  </head>
@@ -0,0 +1,13 @@
1
+ {% assign tags = include.data | map: "tags" | uniq %}
2
+ {% for tag in tags %}
3
+ {% capture accordion_content %}
4
+ {% assign posts = include.data | where: "tags", tag %}
5
+ {% include blog-list.html date=include.date share_buttons=include.share_buttons %}
6
+ {% endcapture %}
7
+ {% if tag.size > 0 %}
8
+ {% assign title = tag %}
9
+ {% else %}
10
+ {% assign title = "Uncategorised" %}
11
+ {% endif %}
12
+ {% include single-accordion.html title=title content=accordion_content %}
13
+ {% endfor %}
@@ -1,14 +1,18 @@
1
1
  <div class="Chaos-Logo-List">
2
2
  {% for org in site.data.partners %}
3
3
  <div class="Chaos-Logo-Item">
4
- <a href="{{ org.url }}" target="_blank">
5
- <img
6
- class="{% if include.background == 'light' %}darken{% else %}lighten{% endif %} {% if org.invert_logo_colour %}invert{% endif %}"
7
- src="{{ org.image }}"
8
- alt="{{ org.title }} Logo"
9
- title="{{ org.title }}"
10
- >
11
- </a>
4
+ {% if org.url %}<a href="{{ org.url }}" target="_blank">{% endif %}
5
+ {% if org.image %}
6
+ <img
7
+ class="{% if include.background == 'light' %}darken{% else %}lighten{% endif %} {% if org.invert_logo_colour %}invert{% endif %}"
8
+ src="{{ org.image }}"
9
+ alt="{{ org.title }} Logo"
10
+ title="{{ org.title }}"
11
+ >
12
+ {% else %}
13
+ <p>{{ org.title }}</p>
14
+ {% endif %}
15
+ {% if org.url %}</a>{% endif %}
12
16
  </div>
13
17
  {% endfor %}
14
18
  </div>
@@ -1,7 +1,7 @@
1
- {% capture text %}{% if page.share.text.size > 0 %}{{page.share.text}}{% elsif include.page.summary.size > 1 %}{{ include.page.summary }}{% elsif include.page.description.size > 1 %}{{ include.page.description | strip_html | truncate_words: 25 }}{% endif %}{% endcapture %}
1
+ {% capture text %}{% if include.page.share.text.size > 0 %}{{page.share.text}}{% elsif include.page.summary.size > 1 %}{{ include.page.summary }}{% elsif include.page.description.size > 1 %}{{ include.page.description | strip_html | truncate_words: 25 }}{% endif %}{% endcapture %}
2
2
  {% capture url %}{% unless include.page.url contains "://" %}{{ site.url }}{{ include.page.url | relative_url}}{% else %}{{ include.page.url }}{% endunless %}{% endcapture %}
3
3
  {% capture title %}{{ include.page.title }}{% endcapture %}
4
- {% capture whatsapp %}{% if page.share.whatsapp.size > 0 %}{{ page.share.whatsapp }}{% else %}*{{ title }}*
4
+ {% capture whatsapp %}{% if include.page.share.whatsapp.size > 0 %}{{ include.page.share.whatsapp }}{% else %}*{{ title }}*
5
5
 
6
6
  {% if text.size > 1 %}{{ text }}
7
7
 
@@ -11,7 +11,7 @@
11
11
  <a class="link" href="https://www.facebook.com/sharer/sharer.php?u={{ url| url_encode }}" title="Facebook">
12
12
  {% include logo-facebook %}
13
13
  </a>
14
- <a class="link" href="https://twitter.com/intent/tweet?text={% if page.share.tweet.size > 0 %}{{ page.share.tweet | url_encode }}{% else %}{{ text | url_encode }}{% endif %}&url={{ url | url_encode }}{% if site.twitter contains 'http' %}&via={{ site.twitter | url_encode }}{% endif %}" title="Twitter">
14
+ <a class="link" href="https://twitter.com/intent/tweet?text={% if include.page.share.tweet.size > 0 %}{{ include.page.share.tweet | url_encode }}{% else %}{{ text | url_encode }}{% endif %}&url={{ url | url_encode }}{% if site.twitter contains 'http' %}&via={{ site.twitter | url_encode }}{% endif %}" title="Twitter">
15
15
  {% include logo-twitter %}
16
16
  </a>
17
17
  <a class="link " href="https://wa.me/?text={{ whatsapp | url_encode }}">
@@ -45,6 +45,12 @@ layout: page
45
45
  <p><a target="_blank" href="https://www.google.com/maps/dir/?api=1&destination={{ page.location.location.latitude }}%2C{{ page.location.location.longitude }}">Get directions...</a></p>
46
46
  {% endcapture %}
47
47
  {% capture map %}
48
+ <link rel="stylesheet" href="https://unpkg.com/leaflet@1.7.1/dist/leaflet.css"
49
+ integrity="sha512-xodZBNTC5n17Xt2atTPuE1HxjVMSvLVW9ocqUKLsCC5CXdbqCmblAshOMAS6/keqq/sMZMZ19scR4PsZChSR7A=="
50
+ crossorigin=""/>
51
+ <script src="https://unpkg.com/leaflet@1.7.1/dist/leaflet.js"
52
+ integrity="sha512-XQoYMqMTK8LvdxXYG3nZ448hOEQiglfqkJs1NOQV44cWnUrBc8PkAOcXy20w0vlaXaVUearIOBhiXZ5V3ynxwA=="
53
+ crossorigin=""></script>
48
54
  <div id="Single-Action-Map" map_location="{{ page.location | jsonify | url_encode | replace: "+", "%20" }}"></div>
49
55
  <script type="text/javascript" src="/assets/js/an-event-page.js"> </script>
50
56
  {% endcapture %}
@@ -9,6 +9,7 @@
9
9
  </div>
10
10
  {% endfor %}
11
11
  {% endcapture %}
12
+ {% capture partners %}{% for p in site.data.partners limit:7 %}{% if p.url %}<a href="{{p.url}}" title="{{ p.summary }}"><strong>{{ p.title }}</strong></a>{% else %}<strong>{{ p.title }}</strong>{% endif %}{% unless forloop.last %}, {% endunless %}{% endfor %}{% endcapture %}
12
13
  <!DOCTYPE html>
13
14
  {% include head.html %}
14
15
  <body>
@@ -32,8 +33,11 @@
32
33
 
33
34
  {% if page.header %}
34
35
  <div
35
- class="Chaos-Big-Header {% if page.header.border_bottom.reflect %}shift{% endif %} {% if page.header.full %}full{% endif %}"
36
- style="background-image: url('{{ page.header.image.link }}');background-position-x: {{ page.header.image.location }};"
36
+ class="Chaos-Big-Header
37
+ {% if page.header.border_bottom.reflect and page.header.border_bottom.image.size > 0 %}shift{% endif %}
38
+ {% if page.header.full %}full{% endif %}
39
+ {% if page.header.background_image %}background-image{% endif %}"
40
+ style="background-image: {% if page.header.background_image %}url('{{ page.header.background_image }}'){% else %}url('{{ page.header.image.link }}');background-position-x: {{ page.header.image.location }}{% endif %};"
37
41
  >
38
42
  <div class="Chaos-Section">
39
43
  <div class="Chaos-Wrapper-Wide">
@@ -45,7 +49,7 @@
45
49
  {% endfor %}
46
50
  </div>
47
51
  </div>
48
- {% if page.header.border_bottom.image %}
52
+ {% if page.header.border_bottom.image.size > 0 %}
49
53
  <div class="border-bottom-container">
50
54
  <div class="border-bottom" style="background-image:url('{{ page.header.border_bottom.image | relative_url }}')"></div>
51
55
  {% if page.header.border_bottom.reflect %}
data/_sass/an-form.scss CHANGED
@@ -1,8 +1,12 @@
1
1
  #can_embed_form{
2
+ .discussion-board{
3
+ display: none;
4
+ }
2
5
  #can_embed_form_inner{
3
6
  > *:not(form){
4
7
  display: none;
5
8
  }
9
+
6
10
  #action_welcome_message{
7
11
  #action_welcome_message_inner{
8
12
  border: 2px solid $brand-color;
@@ -49,6 +49,9 @@ h1 {
49
49
  margin: 1em 0 0.4em 0;
50
50
  font-size: 3.7em;
51
51
  @media screen and (max-width: $on-small){
52
+ font-size: 2.1em;
53
+ }
54
+ @media screen and (max-width: $on-medium) and (min-width: $on-small){
52
55
  font-size: 3em;
53
56
  }
54
57
  }
@@ -56,16 +56,34 @@
56
56
  color: $brand-color;
57
57
  }
58
58
  &.Chaos-Wrapper{
59
+
60
+ #can_embed_form{
61
+ #action_welcome_message_inner{
62
+ div, small{
63
+ color: $text-color;
64
+ a{
65
+ color: $brand-color;
66
+ }
67
+ }
68
+ }
69
+ :not(.floatlabel-wrapper):not(.can_select){
70
+
71
+ color: $brand-text-color;
72
+ // p,h1,h2,h3,h4,h5,h6{
73
+ // color: $brand-text-color;
74
+ // }
75
+ }
76
+ }
59
77
  > p,> h1,> h2,> h3,> h4,> h5,> h6,> a{
60
78
  color: $brand-text-color;
61
- > a{
79
+ a{
62
80
  color: $brand-text-color;
63
81
  }
64
82
  }
65
83
  }
66
84
  }
67
85
  }
68
- img{
86
+ img:not(.no-shadow){
69
87
  box-shadow: $spacing-unit $spacing-unit $brand-color;
70
88
  }
71
89
  .Chaos-Wrapper {
@@ -106,31 +106,45 @@
106
106
  flex-wrap: wrap;
107
107
  justify-content: space-evenly;
108
108
  }
109
+ .Chaos-Demand-List{
110
+ display: flex;
111
+ flex-wrap: wrap;
112
+ gap: $spacing-unit;
113
+ li::before{
114
+ content: none;
115
+ }
116
+ }
109
117
  .Chaos-Demand{
110
118
  background-color: $background-color;
111
119
  box-shadow: 0 5px 10px $shadow-color;
112
120
  padding: $spacing-unit;
113
121
  padding-bottom: $spacing-unit /2;
114
- margin: $spacing-unit;
115
- max-width: 280px;
116
- width: 90%;
122
+ // margin: $spacing-unit;
123
+ text-align: center;
124
+ flex: 1 0 40%;
125
+ display: flex;
126
+ justify-content: space-around;
127
+ flex-direction: column;
128
+ .type{
129
+ display: flex;
130
+ flex-direction: column;
131
+ &.stop{
132
+ color: red;
133
+ &:after{
134
+ content: '\2913';
135
+ }
136
+ }
137
+ &.start, &.start-to{
138
+ color: green;
139
+ &:after{
140
+ content: '\261F';
141
+ }
142
+ }
143
+ }
117
144
  }
118
145
  .Chaos-Background-Filter{
119
146
  background-color: rgba($background-color,0.5);
120
147
  }
121
- @mixin big-header {
122
- margin-top: $spacing-unit * 3;
123
- // font-size: calc(max(55px,min(min( 80pt, 15vw),10vh)));
124
- font-size: 3.5em;
125
- text-transform: uppercase;
126
- // font-family: 'Druk Text';
127
- letter-spacing: -0.02em;
128
- strong,b,.bold{
129
- // border-bottom-color: $brand-text-color-invert;
130
- // border-bottom-width: 1em;
131
- text-decoration: underline;
132
- }
133
- }
134
148
  @mixin header-images {
135
149
  @media screen and (max-width: $content-width-wide * 1.75){
136
150
  background-size:0;
@@ -153,12 +167,34 @@ $border-width: $spacing-unit * 7;
153
167
  &.shift{
154
168
  position: relative;
155
169
  top: $border-width;
170
+ .Chaos-Section{
171
+ padding: 0;
172
+ }
156
173
  }
157
174
 
158
175
  display: flex;
159
176
  flex-direction: column;
160
177
  justify-content: space-between;
161
- background-position: right;
178
+ &.background-image{
179
+ background: $background-color no-repeat center center;
180
+ background-size: cover;
181
+ .Chaos-Section{
182
+ background-color: rgba($background-color,0.9);
183
+ .Chaos-Wrapper-Wide{
184
+ background-color: rgba($background-color, 0.7);
185
+ box-shadow: 0 0 1000px $background-color;
186
+ border-radius: 20%;
187
+ }
188
+ }
189
+ &.invert{
190
+ .Chaos-Section{
191
+ background-color: rgba($brand-color,0.9);
192
+ }
193
+ }
194
+ }
195
+ &:not(.background-image){
196
+ background-position: right;
197
+ }
162
198
  @include header-images;
163
199
  .border-bottom{
164
200
  position: relative;
@@ -181,7 +217,7 @@ $border-width: $spacing-unit * 7;
181
217
  .Chaos-Section{
182
218
  flex-grow: 1;
183
219
  height: 100%;
184
- padding: 0;
220
+ // padding: 0;
185
221
  // background-image: url('/assets/images/money-faucet.png');
186
222
  background-position: left;
187
223
  @include header-images;
@@ -193,10 +229,12 @@ $border-width: $spacing-unit * 7;
193
229
  justify-content: space-around;
194
230
  }
195
231
  h1{
232
+ text-transform: uppercase;
233
+ letter-spacing: -0.02em;
196
234
  strong,b,.bold{
235
+ text-decoration: underline;
197
236
  color: $accent-color;
198
237
  }
199
- @include big-header;
200
238
  }
201
239
  text-align: center;
202
240
  }
@@ -204,8 +242,8 @@ $border-width: $spacing-unit * 7;
204
242
 
205
243
  .Chaos-Button {
206
244
  display: inline-block;
207
- background-color: $brand-color;
208
- color: $brand-text-color;
245
+ background-color: $accent-color;
246
+ color: $accent-text-color;
209
247
  padding: $spacing-unit * 0.2 $spacing-unit $spacing-unit * 0.2 $spacing-unit;
210
248
  margin: $spacing-unit 0;
211
249
  border-radius: $rounding;
@@ -216,7 +254,7 @@ $border-width: $spacing-unit * 7;
216
254
  text-transform: uppercase;
217
255
  &:hover {
218
256
  text-decoration: none;
219
- background-color: $brand-color-dark;
257
+ background-color: $accent-color-dark;
220
258
  }
221
259
  &:visited {
222
260
  color: $accent-text-color;
@@ -460,12 +498,14 @@ $border-width: $spacing-unit * 7;
460
498
  display: flex;
461
499
  justify-content: space-between;
462
500
  flex-wrap: wrap;
501
+ gap: $spacing-unit;
463
502
  .Chaos-Logo-Item{
464
- flex: 1 0 21%;
503
+ flex: 0 0 21%;
465
504
  display: flex;
466
505
  justify-content: center;
467
506
  align-items: center;
468
- img{
507
+
508
+ > a > img{
469
509
  filter: grayscale(50%);
470
510
  &.darken{
471
511
  filter: grayscale(100%);
@@ -476,7 +516,7 @@ $border-width: $spacing-unit * 7;
476
516
  // max-height: $item-width;
477
517
  width: 100%;
478
518
  transition: filter 0.5s;
479
- box-shadow: 0;
519
+ box-shadow: none;
480
520
  &:hover{
481
521
  filter: none;
482
522
  }
@@ -1,5 +1,5 @@
1
1
  .desktop {
2
- background-color: $background-color;
2
+ background-color: $desktop-header-background-color;
3
3
  position: relative;
4
4
  display: flex;
5
5
  flex-direction: row;
@@ -32,7 +32,7 @@
32
32
  }
33
33
 
34
34
  .page-link {
35
- color: $text-color;
35
+ color: $desktop-header-text-color;
36
36
  line-height: $base-line-height;
37
37
  font-family: $header-font-stack;
38
38
  font-size: $base-font-size * 1.5;
@@ -1,5 +1,5 @@
1
1
  .mobile {
2
- background-color: $background-color;
2
+ background-color: $desktop-header-background-color;
3
3
  display: flex;
4
4
  flex-direction: row;
5
5
  flex-wrap: nowrap;
data/_sass/chaos.scss CHANGED
@@ -30,6 +30,7 @@ $block-height: calc(max(min( 50vw, 60vh ), 400px));
30
30
 
31
31
  // Import partials.
32
32
  @import
33
+ "custom",
33
34
  "chaos/base",
34
35
  "chaos/header",
35
36
  "chaos/footer",
@@ -39,5 +40,6 @@ $block-height: calc(max(min( 50vw, 60vh ), 400px));
39
40
  "chaos/block",
40
41
  "chaos/map",
41
42
  "custom",
42
- "an-form"
43
+ "an-form",
44
+ "curator"
43
45
  ;
@@ -0,0 +1,49 @@
1
+ #feed{
2
+ background-color: $background-color;
3
+ .crt-feed{
4
+ .crt-post{
5
+ box-shadow: 0 0 $rounding $shadow-color;
6
+ background-color: $background-color;
7
+ border: 0;
8
+ .crt-post-text a{
9
+ color: $brand-color;
10
+ }
11
+ }
12
+ .crt-post-border{
13
+ border: 0;
14
+ }
15
+ img{
16
+ box-shadow: none;
17
+ }
18
+ }
19
+ .crt-post-max-height-read-more{
20
+ background: rgba(0,0,0,0);
21
+ background: -moz-linear-gradient(top, rgba(0, 0, 0, 0) 0%, #{$background-color} 50%);
22
+ background: -webkit-gradient(left top, left bottom, color-stop(0%, rgba(0, 0, 0, 0)), color-stop(50%, #{$background-color}));
23
+ background: -webkit-linear-gradient(top, rgba(0, 0, 0, 0) 0%, #{$background-color} 50%);
24
+ background: -o-linear-gradient(top, rgba(0, 0, 0, 0) 0%, #{$background-color} 50%);
25
+ background: -ms-linear-gradient(top, rgba(0, 0, 0, 0) 0%, #{$background-color} 50%);
26
+ background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, #{$background-color} 50%);
27
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#000000", endColorstr="#000000", GradientType=0);
28
+
29
+ }
30
+ .crt-load-more, .crt-post-read-more-button{
31
+ background-color: $brand-color;
32
+ border-radius: $rounding;
33
+ font-family: $header-font-stack;
34
+ color: $brand-text-color;
35
+
36
+ padding: $spacing-unit;
37
+ text-transform: uppercase;
38
+ &:hover{
39
+ background-color: $brand-color-dark;
40
+ }
41
+ }
42
+ .crt-post-read-more-button{
43
+ line-height: normal;
44
+ height: auto;
45
+ }
46
+ .crt-load-more{
47
+ font-size: 1.5em;
48
+ }
49
+ }
data/_sass/custom.scss CHANGED
@@ -1 +1,2 @@
1
1
  // Nothing... placeholder for custom styling
2
+ @debug "custom in theme"
@@ -34,6 +34,16 @@ $accent-color-dark: darken($accent-color, 15%) !default;
34
34
  $text-color-light: lighten($text-color, 18%);
35
35
  $background-color: {{ site.background_color | default: "$white-color" }} !default;
36
36
 
37
+ {% if site.brand_color == site.accent_color %}
38
+ $desktop-header-background-color: $background-color;
39
+ $desktop-header-text-color: $text-color;
40
+ $desktop-header-text-color-invert: $brand-color;
41
+ {% else %}
42
+ $desktop-header-background-color: $brand-color;
43
+ $desktop-header-text-color: $brand-text-color;
44
+ $desktop-header-text-color-invert: $brand-text-color-invert;
45
+ {% endif %}
46
+
37
47
  $on-tiny: {{ site.theme_tiny | default: 250 }}px !default;
38
48
  $on-small: {{ site.theme_small | default: 425 }}px !default;
39
49
  $on-medium: {{ site.theme_medium | default: 850 }}px !default;
@@ -166,7 +176,7 @@ $base-font-stack: "Aktiv Grotesk Corp",system-ui, -apple-system, "Segoe UI", Rob
166
176
  $base-font-size: 14pt !default;
167
177
  $base-font-weight: 400 !default;
168
178
  $base-line-height: 1.5 !default;
169
- $header-font-stack: "Druk Text Web","Helvetica Neue",Helvetica,Arial,sans-serif;
179
+ $header-font-stack: "{{ site.heading_font | default: 'Druk Text Web' }}", "Helvetica Neue",Helvetica,Arial,sans-serif;
170
180
  $small-font-size: $base-font-size * 0.875 !default;
171
181
  $smaller-font-size: $base-font-size * 0.7 !default;
172
182
 
@@ -10,6 +10,8 @@ $(document).ready(function(){
10
10
  {% assign actions = site.actions %}
11
11
  {% endif %}
12
12
 
13
+ var now = new Date()
14
+
13
15
  var actionsData = {
14
16
  "events":[
15
17
  {% for a in actions %}
@@ -64,6 +66,11 @@ var markerCluster = L.markerClusterGroup({
64
66
  });
65
67
 
66
68
  for (i in actionsData["events"]){
69
+ startDate = new Date(actionsData["events"][i]["start_date"])
70
+ if (startDate < (now + (60 * 60))){
71
+ actionsData["events"].splice(i,1);
72
+ continue
73
+ }
67
74
  var markerLocation = actionsData["events"][i]["location"]["location"];
68
75
  var newMarker = L.marker([markerLocation["latitude"], markerLocation["longitude"]],{icon: redMarker});
69
76
  newMarker.actionData = actionsData["events"][i]
@@ -0,0 +1 @@
1
+ !function(a,b,c,d){"use strict";function h(b,c){this.$element=a(b),this.settings=a.extend({},f,c),this._defaults=f,this._name=e,this.init(this.$element),this.submit=function(){this.form_submit(this.$element,this)}}var e="osdi",f={autoresponse:!0,done:function(){},fail:function(){},always:function(){},status:"subscribed",immediate:!1,ajax_options:{type:"POST",dataType:"json",contentType:"application/json"}};a.extend(h.prototype,{init:function(a){this.validate_form(a)&&this.form_submit(a,this)},validate_form:function(a){return!!a.is("form")||(console.log("JQUERY OSDI ERROR: The DOM element passed to the jQuery OSDI plugin is not a form. The jQuery OSDI plugin only supports form elements."),!1)},form_submit:function(a,b){b.settings.immediate?b.submit_handler(a,b):a.on("submit",function(){return b.submit_handler(a,b),!1})},submit_handler:function(b,c){if(c.validate_submit(b)){var d,e,f,g,h,i;d=c.create_body(b),e=c.settings.endpoint&&""!=c.settings.endpoint?"function"==typeof c.settings.endpoint?c.settings.endpoint():c.settings.endpoint:b.attr("action"),f={url:e,data:JSON.stringify(d)},f="function"==typeof c.settings.ajax_options?a.extend(f,c.settings.ajax_options()):a.extend(f,c.settings.ajax_options),g=c.settings.done,h=c.settings.fail,i=c.settings.always,c.perform_ajax(f,g,h,i)}},validate_submit:function(a){return!(!this.validate_endpoint(a)||!this.validate_add_tags())},validate_endpoint:function(a){return!(!this.settings.endpoint&&!a.attr("action"))||(console.log("JQUERY OSDI ERROR: An endpoint is required. Either set the endpoint option with a string when calling the jQuery OSDI plugin, or give your form an action attribute with the endpoint as its value."),!1)},validate_add_tags:function(){return!this.settings.add_tags||("function"==typeof this.settings.add_tags?!(!a.isArray(this.settings.add_tags())||!this.settings.add_tags().length>0)||(console.log("JQUERY OSDI ERROR: The add_tags option is not a valid array of at least one element. You must pass an array with at least one element to the jQuery OSDI plugin to add tags."),!1):!(!a.isArray(this.settings.add_tags)||!this.settings.add_tags.length>0)||(console.log("JQUERY OSDI ERROR: The add_tags option is not a valid array of at least one element. You must pass an array with at least one element to the jQuery OSDI plugin to add tags."),!1))},create_body:function(b){var c,d,e,f,g,h,i,j;if(this.settings.body)c="function"==typeof this.settings.body?this.settings.body():this.settings.body;else{if(c={person:{}},"function"==typeof this.settings.autoresponse?this.settings.autoresponse()===!0&&(d={triggers:{autoresponse:{enabled:!0}}}):this.settings.autoresponse&&this.settings.autoresponse===!0&&(d={triggers:{autoresponse:{enabled:!0}}}),a.extend(c,d),this.settings.add_tags&&(j="function"==typeof this.settings.add_tags?{add_tags:this.settings.add_tags()}:{add_tags:this.settings.add_tags},a.extend(c,j)),b.find(':input[name="family_name"]').length&&b.find(':input[name="family_name"]').val()&&(c.person.family_name=a.isArray(b.find(':input[name="family_name"]').val())?b.find(':input[name="family_name"]').val().pop():b.find(':input[name="family_name"]').val()),b.find(':input[name="given_name"]').length&&b.find(':input[name="given_name"]').val()&&(c.person.given_name=a.isArray(b.find(':input[name="given_name"]').val())?b.find(':input[name="given_name"]').val().pop():b.find(':input[name="given_name"]').val()),b.find(':input[name="email_address"]').length&&b.find(':input[name="email_address"]').val()){var k=a.isArray(b.find(':input[name="email_address"]').val())?b.find(':input[name="email_address"]').val().pop():b.find(':input[name="email_address"]').val();e={email_addresses:[{address:k}]},a.extend(c.person,e),"function"==typeof this.settings.status?this.settings.status()!==!1&&(c.person.email_addresses[0].status=this.settings.status()):this.settings.status!==!1&&(c.person.email_addresses[0].status=this.settings.status)}if((b.find(':input[name="street"]').length&&b.find(':input[name="street"]').val()||b.find(':input[name="locality"]').length&&b.find(':input[name="locality"]').val()||b.find(':input[name="region"]').length&&b.find(':input[name="region"]').val()||b.find(':input[name="postal_code"]').length&&b.find(':input[name="postal_code"]').val()||b.find(':input[name="country"]').length&&b.find(':input[name="country"]').val())&&(f={},b.find(':input[name="street"]').length&&b.find(':input[name="street"]').val()&&(f.address_lines=[a.isArray(b.find(':input[name="street"]').val())?b.find(':input[name="street"]').val().pop():b.find(':input[name="street"]').val()]),b.find(':input[name="locality"]').length&&b.find(':input[name="locality"]').val()&&(f.locality=a.isArray(b.find(':input[name="locality"]').val())?b.find(':input[name="locality"]').val().pop():b.find(':input[name="locality"]').val()),b.find(':input[name="region"]').length&&b.find(':input[name="region"]').val()&&(f.region=a.isArray(b.find(':input[name="region"]').val())?b.find(':input[name="region"]').val().pop():b.find(':input[name="region"]').val()),b.find(':input[name="postal_code"]').length&&b.find(':input[name="postal_code"]').val()&&(f.postal_code=a.isArray(b.find(':input[name="postal_code"]').val())?b.find(':input[name="postal_code"]').val().pop():b.find(':input[name="postal_code"]').val()),b.find(':input[name="country"]').length&&b.find(':input[name="country"]').val()&&(f.country=a.isArray(b.find(':input[name="country"]').val())?b.find(':input[name="country"]').val().pop():b.find(':input[name="country"]').val()),g={postal_addresses:[f]},a.extend(c.person,g)),b.find(':input[name="phone_number"]').length&&b.find(':input[name="phone_number"]').val()){var l=a.isArray(b.find(':input[name="phone_number"]').val())?b.find(':input[name="phone_number"]').val().pop():b.find(':input[name="phone_number"]').val();h={phone_numbers:[{number:l}]},a.extend(c.person,h)}b.find(':input[name^="custom["]').length&&(i={},a.each(b.find(':input[name^="custom["]').serializeArray(),function(){""!=this.value&&(i[this.name.replace(/^custom\[|\]$/g,"")]=this.value)}),a.isEmptyObject(i)||(c.person.custom_fields=i))}return c},perform_ajax:function(b,c,d,e){a.ajax(b).done(function(a,b,d){c(a,b,d)}).fail(function(a,b,c){d(a,b,c)}).always(function(a,b,c){e(a,b,c)})}}),a.fn[e]=function(b){return this.each(function(){a.data(this,"plugin_"+e)?a.data(this,"plugin_"+e).submit():a.data(this,"plugin_"+e,new h(this,b))})}}(jQuery,window,document);
Binary file
Binary file
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jekyll-theme-chaos
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - joe-irving
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-10-11 00:00:00.000000000 Z
11
+ date: 2021-11-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: jekyll
@@ -104,9 +104,11 @@ files:
104
104
  - LICENSE.txt
105
105
  - README.md
106
106
  - _includes/accordion.html
107
+ - _includes/an-blind-post.html
107
108
  - _includes/block.html
108
109
  - _includes/blog-list.html
109
110
  - _includes/counter.html
111
+ - _includes/custom-head.html
110
112
  - _includes/demands.html
111
113
  - _includes/desktop-header.html
112
114
  - _includes/events-gallery.html
@@ -122,6 +124,7 @@ files:
122
124
  - _includes/logo-whatsapp.svg
123
125
  - _includes/map.html
124
126
  - _includes/mobile-header.html
127
+ - _includes/nested-blog-list.html
125
128
  - _includes/partner-list.html
126
129
  - _includes/resources.html
127
130
  - _includes/share-links.html
@@ -151,6 +154,7 @@ files:
151
154
  - _sass/chaos/map.scss
152
155
  - _sass/chaos/mobile-header.scss
153
156
  - _sass/chaos/print.scss
157
+ - _sass/curator.scss
154
158
  - _sass/custom.scss
155
159
  - _templates/an-event.md
156
160
  - assets/css/MarkerCluster.Default.css
@@ -200,10 +204,13 @@ files:
200
204
  - assets/js.js
201
205
  - assets/js/actions-map.js
202
206
  - assets/js/an-event-page.js
207
+ - assets/js/jquery-osdi.js
203
208
  - assets/js/jquery.js
204
209
  - assets/js/leaflet.markercluster-src.js
205
210
  - assets/js/mailing-list.js
206
211
  - assets/link.svg
212
+ - assets/marker-icon-red.png
213
+ - assets/marker-shadow.png
207
214
  homepage: https://tippingpointuk.github.io/jekyll-chaos
208
215
  licenses:
209
216
  - MIT