mirror of
https://git.coop/cotech/website.git
synced 2026-08-11 12:40:18 +00:00
Compare commits
1
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
023d66d0d4 |
+1
-3
@@ -1,4 +1,2 @@
|
||||
_site
|
||||
.idea
|
||||
vendor
|
||||
*.swp
|
||||
|
||||
+22
-44
@@ -1,70 +1,48 @@
|
||||
---
|
||||
image: ruby:3.4.4
|
||||
|
||||
stages:
|
||||
- test
|
||||
- staging
|
||||
- production
|
||||
image: ruby:2.5.3
|
||||
|
||||
variables:
|
||||
JEKYLL_ENV: production
|
||||
LC_ALL: C.UTF-8
|
||||
|
||||
cache:
|
||||
key: gems
|
||||
paths:
|
||||
- vendor
|
||||
|
||||
before_script:
|
||||
- 'which rsync || ( apt-get update -qq && apt-get install rsync -yqq )'
|
||||
- eval $(ssh-agent -s)
|
||||
- echo "$SSH_PRIVATE_KEY" | tr -d '\r' | ssh-add - > /dev/null
|
||||
- mkdir -p ~/.ssh
|
||||
- chmod 700 ~/.ssh
|
||||
- ssh-keyscan www.cotech.coop > ~/.ssh/known_hosts
|
||||
- ssh-keyscan 81.95.52.13 >> ~/.ssh/known_hosts
|
||||
- echo "$SSH_KNOWN_HOSTS" > ~/.ssh/known_hosts
|
||||
- chmod 644 ~/.ssh/known_hosts
|
||||
- bundle install --path vendor
|
||||
- bundle install
|
||||
|
||||
test:
|
||||
stage: test
|
||||
script:
|
||||
- bundle exec jekyll build -d test
|
||||
- bundle exec jekyll build -d test
|
||||
artifacts:
|
||||
paths:
|
||||
- test
|
||||
- test
|
||||
except:
|
||||
- master
|
||||
|
||||
deploy:dev:
|
||||
stage: staging
|
||||
script:
|
||||
- bundle exec jekyll build -d public
|
||||
- rsync -aqz --delete-after public/ cotech@www.cotech.coop:sites/dev/
|
||||
artifacts:
|
||||
paths:
|
||||
- public
|
||||
environment:
|
||||
name: dev
|
||||
url: https://dev.cotech.coop
|
||||
only:
|
||||
- master
|
||||
- master
|
||||
|
||||
deploy:production:
|
||||
stage: production
|
||||
stage: deploy
|
||||
script:
|
||||
- bundle exec jekyll build -d public
|
||||
- rsync -aqz --delete-after public/ cotech@www.cotech.coop:sites/default/
|
||||
- bundle exec jekyll build -d public
|
||||
- rsync -aqz public/ cotech@webarch2.co.uk:sites/default/
|
||||
artifacts:
|
||||
paths:
|
||||
- public
|
||||
environment:
|
||||
name: production
|
||||
url: https://www.cotech.coop
|
||||
- public
|
||||
only:
|
||||
- master
|
||||
when: manual
|
||||
- master
|
||||
|
||||
after_script:
|
||||
- rm -rf /root/.ssh/
|
||||
...
|
||||
|
||||
deploy:dev:
|
||||
stage: deploy
|
||||
script:
|
||||
- bundle exec jekyll build -d public
|
||||
- rsync -aqz public/ cotech@webarch2.co.uk:sites/dev/
|
||||
artifacts:
|
||||
paths:
|
||||
- public
|
||||
only:
|
||||
- dev
|
||||
@@ -1,48 +0,0 @@
|
||||
# Serve .html files without extensions and allow directory listings
|
||||
Options +MultiViews +Indexes
|
||||
# If a SVG and a PNG exists the prefer the SVG
|
||||
AddType image/svg+xml;qs=0.9 svg sgvz
|
||||
AddType image/png;qs=0.8 png
|
||||
# Work around Apache bug from 2002
|
||||
# https://bz.apache.org/bugzilla/show_bug.cgi?id=53595
|
||||
# https://kevinlocke.name/bits/2012/07/20/serving-xhtml-with-apache-multiviews/
|
||||
Header always edit "Content-Type" ";\s*qs=[0-9]*(?:\.[0-9]+)?\s*" ""
|
||||
# Gzip these file types
|
||||
AddOutputFilter DEFLATE html
|
||||
AddOutputFilter DEFLATE svg
|
||||
AddOutputFilter DEFLATE css
|
||||
AddOutputFilter DEFLATE js
|
||||
# URL's that changed
|
||||
Redirect /coops/ https://www.cotech.coop/co-op/
|
||||
Redirect /technology/gnu-bash https://www.cotech.coop/technology/bash
|
||||
Redirect /co-op/graphics-coop https://www.cotech.coop/co-op/form-and-function
|
||||
# Canonical URLs redirect to the domain with a www
|
||||
<IfModule mod_rewrite.c>
|
||||
RewriteEngine on
|
||||
RewriteCond %{HTTP_HOST} ^coops\.tech$
|
||||
RewriteCond %{HTTP_HOST} ^www\.coops\.tech$
|
||||
RewriteCond %{HTTP_HOST} ^static\.coops\.tech$
|
||||
RewriteCond %{HTTP_HOST} ^www\.static\.coops\.tech$
|
||||
RewriteCond %{HTTP_HOST} ^cotech\.uk$
|
||||
RewriteCond %{HTTP_HOST} ^cotech\.office\.workers\.coop$
|
||||
RewriteCond %{HTTP_HOST} ^cotech\.coop$
|
||||
RewriteRule ^/?(.*) https://www.cotech.coop/$1 [R,L]
|
||||
</IfModule>
|
||||
# Redirect HTTP to HTTPS
|
||||
# https://wiki.apache.org/httpd/RewriteHTTPToHTTPS
|
||||
<IfModule mod_rewrite.c>
|
||||
RewriteEngine on
|
||||
RewriteCond %{HTTPS} !=on
|
||||
RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L]
|
||||
</IfModule>
|
||||
# Strict Transport Security Header, this prevents clients
|
||||
# with STS support from accessing the site using HTTP
|
||||
# https://stackoverflow.com/questions/24144552/how-to-set-hsts-header-from-htaccess-only-on-https
|
||||
Header set Strict-Transport-Security "max-age=31536000" env=HTTPS
|
||||
# Directory Listings
|
||||
# The following two files don't exist
|
||||
# HeaderName /top.html
|
||||
# ReadmeName /bot.html
|
||||
IndexOptions FancyIndexing VersionSort HTMLTable NameWidth=* DescriptionWidth=*
|
||||
IndexOptions Charset=UTF-8 SuppressHTMLPreamble XHTML TrackModified IconsAreLinks
|
||||
IndexOptions SuppressDescription
|
||||
+1
-1
@@ -1 +1 @@
|
||||
3.4.4
|
||||
2.5.3
|
||||
@@ -1,3 +1,6 @@
|
||||
source 'https://rubygems.org'
|
||||
|
||||
gem 'jekyll'
|
||||
|
||||
# Fixes deprecation warning - see https://github.com/jekyll/jekyll-sass-converter/pull/75
|
||||
gem 'jekyll-sass-converter', git: 'https://github.com/jekyll/jekyll-sass-converter.git', branch: 'sassc'
|
||||
|
||||
+43
-135
@@ -1,161 +1,69 @@
|
||||
GIT
|
||||
remote: https://github.com/jekyll/jekyll-sass-converter.git
|
||||
revision: c4d4e3e5b1a2222bb94895f9a6ab7e0216236ab8
|
||||
branch: sassc
|
||||
specs:
|
||||
jekyll-sass-converter (1.5.2)
|
||||
sassc (~> 2.0)
|
||||
|
||||
GEM
|
||||
remote: https://rubygems.org/
|
||||
specs:
|
||||
addressable (2.8.7)
|
||||
public_suffix (>= 2.0.2, < 7.0)
|
||||
base64 (0.3.0)
|
||||
bigdecimal (3.2.2)
|
||||
addressable (2.5.2)
|
||||
public_suffix (>= 2.0.2, < 4.0)
|
||||
colorator (1.1.0)
|
||||
concurrent-ruby (1.3.5)
|
||||
csv (3.3.5)
|
||||
em-websocket (0.5.3)
|
||||
concurrent-ruby (1.1.1)
|
||||
em-websocket (0.5.1)
|
||||
eventmachine (>= 0.12.9)
|
||||
http_parser.rb (~> 0)
|
||||
http_parser.rb (~> 0.6.0)
|
||||
eventmachine (1.2.7)
|
||||
ffi (1.17.2)
|
||||
ffi (1.17.2-aarch64-linux-gnu)
|
||||
ffi (1.17.2-aarch64-linux-musl)
|
||||
ffi (1.17.2-arm-linux-gnu)
|
||||
ffi (1.17.2-arm-linux-musl)
|
||||
ffi (1.17.2-arm64-darwin)
|
||||
ffi (1.17.2-x86-linux-gnu)
|
||||
ffi (1.17.2-x86-linux-musl)
|
||||
ffi (1.17.2-x86_64-darwin)
|
||||
ffi (1.17.2-x86_64-linux-gnu)
|
||||
ffi (1.17.2-x86_64-linux-musl)
|
||||
ffi (1.9.25)
|
||||
forwardable-extended (2.6.0)
|
||||
google-protobuf (4.31.1)
|
||||
bigdecimal
|
||||
rake (>= 13)
|
||||
google-protobuf (4.31.1-aarch64-linux-gnu)
|
||||
bigdecimal
|
||||
rake (>= 13)
|
||||
google-protobuf (4.31.1-aarch64-linux-musl)
|
||||
bigdecimal
|
||||
rake (>= 13)
|
||||
google-protobuf (4.31.1-arm64-darwin)
|
||||
bigdecimal
|
||||
rake (>= 13)
|
||||
google-protobuf (4.31.1-x86-linux-gnu)
|
||||
bigdecimal
|
||||
rake (>= 13)
|
||||
google-protobuf (4.31.1-x86-linux-musl)
|
||||
bigdecimal
|
||||
rake (>= 13)
|
||||
google-protobuf (4.31.1-x86_64-darwin)
|
||||
bigdecimal
|
||||
rake (>= 13)
|
||||
google-protobuf (4.31.1-x86_64-linux-gnu)
|
||||
bigdecimal
|
||||
rake (>= 13)
|
||||
google-protobuf (4.31.1-x86_64-linux-musl)
|
||||
bigdecimal
|
||||
rake (>= 13)
|
||||
http_parser.rb (0.8.0)
|
||||
i18n (1.14.7)
|
||||
http_parser.rb (0.6.0)
|
||||
i18n (0.9.5)
|
||||
concurrent-ruby (~> 1.0)
|
||||
jekyll (4.4.1)
|
||||
jekyll (3.7.4)
|
||||
addressable (~> 2.4)
|
||||
base64 (~> 0.2)
|
||||
colorator (~> 1.0)
|
||||
csv (~> 3.0)
|
||||
em-websocket (~> 0.5)
|
||||
i18n (~> 1.0)
|
||||
jekyll-sass-converter (>= 2.0, < 4.0)
|
||||
i18n (~> 0.7)
|
||||
jekyll-sass-converter (~> 1.0)
|
||||
jekyll-watch (~> 2.0)
|
||||
json (~> 2.6)
|
||||
kramdown (~> 2.3, >= 2.3.1)
|
||||
kramdown-parser-gfm (~> 1.0)
|
||||
kramdown (~> 1.14)
|
||||
liquid (~> 4.0)
|
||||
mercenary (~> 0.3, >= 0.3.6)
|
||||
mercenary (~> 0.3.3)
|
||||
pathutil (~> 0.9)
|
||||
rouge (>= 3.0, < 5.0)
|
||||
rouge (>= 1.7, < 4)
|
||||
safe_yaml (~> 1.0)
|
||||
terminal-table (>= 1.8, < 4.0)
|
||||
webrick (~> 1.7)
|
||||
jekyll-sass-converter (3.1.0)
|
||||
sass-embedded (~> 1.75)
|
||||
jekyll-watch (2.2.1)
|
||||
jekyll-watch (2.1.2)
|
||||
listen (~> 3.0)
|
||||
json (2.12.2)
|
||||
kramdown (2.5.1)
|
||||
rexml (>= 3.3.9)
|
||||
kramdown-parser-gfm (1.1.0)
|
||||
kramdown (~> 2.0)
|
||||
liquid (4.0.4)
|
||||
listen (3.9.0)
|
||||
rb-fsevent (~> 0.10, >= 0.10.3)
|
||||
rb-inotify (~> 0.9, >= 0.9.10)
|
||||
mercenary (0.4.0)
|
||||
kramdown (1.17.0)
|
||||
liquid (4.0.0)
|
||||
listen (3.1.5)
|
||||
rb-fsevent (~> 0.9, >= 0.9.4)
|
||||
rb-inotify (~> 0.9, >= 0.9.7)
|
||||
ruby_dep (~> 1.2)
|
||||
mercenary (0.3.6)
|
||||
pathutil (0.16.2)
|
||||
forwardable-extended (~> 2.6)
|
||||
public_suffix (6.0.2)
|
||||
rake (13.3.0)
|
||||
rb-fsevent (0.11.2)
|
||||
rb-inotify (0.11.1)
|
||||
ffi (~> 1.0)
|
||||
rexml (3.4.1)
|
||||
rouge (4.5.2)
|
||||
safe_yaml (1.0.5)
|
||||
sass-embedded (1.89.2)
|
||||
google-protobuf (~> 4.31)
|
||||
rake (>= 13)
|
||||
sass-embedded (1.89.2-aarch64-linux-android)
|
||||
google-protobuf (~> 4.31)
|
||||
sass-embedded (1.89.2-aarch64-linux-gnu)
|
||||
google-protobuf (~> 4.31)
|
||||
sass-embedded (1.89.2-aarch64-linux-musl)
|
||||
google-protobuf (~> 4.31)
|
||||
sass-embedded (1.89.2-arm-linux-androideabi)
|
||||
google-protobuf (~> 4.31)
|
||||
sass-embedded (1.89.2-arm-linux-gnueabihf)
|
||||
google-protobuf (~> 4.31)
|
||||
sass-embedded (1.89.2-arm-linux-musleabihf)
|
||||
google-protobuf (~> 4.31)
|
||||
sass-embedded (1.89.2-arm64-darwin)
|
||||
google-protobuf (~> 4.31)
|
||||
sass-embedded (1.89.2-riscv64-linux-android)
|
||||
google-protobuf (~> 4.31)
|
||||
sass-embedded (1.89.2-riscv64-linux-gnu)
|
||||
google-protobuf (~> 4.31)
|
||||
sass-embedded (1.89.2-riscv64-linux-musl)
|
||||
google-protobuf (~> 4.31)
|
||||
sass-embedded (1.89.2-x86_64-darwin)
|
||||
google-protobuf (~> 4.31)
|
||||
sass-embedded (1.89.2-x86_64-linux-android)
|
||||
google-protobuf (~> 4.31)
|
||||
sass-embedded (1.89.2-x86_64-linux-gnu)
|
||||
google-protobuf (~> 4.31)
|
||||
sass-embedded (1.89.2-x86_64-linux-musl)
|
||||
google-protobuf (~> 4.31)
|
||||
terminal-table (3.0.2)
|
||||
unicode-display_width (>= 1.1.1, < 3)
|
||||
unicode-display_width (2.6.0)
|
||||
webrick (1.9.1)
|
||||
public_suffix (2.0.5)
|
||||
rake (12.3.1)
|
||||
rb-fsevent (0.10.3)
|
||||
rb-inotify (0.9.10)
|
||||
ffi (>= 0.5.0, < 2)
|
||||
rouge (2.2.1)
|
||||
ruby_dep (1.5.0)
|
||||
safe_yaml (1.0.4)
|
||||
sassc (2.0.0)
|
||||
ffi (~> 1.9.6)
|
||||
rake
|
||||
|
||||
PLATFORMS
|
||||
aarch64-linux-android
|
||||
aarch64-linux-gnu
|
||||
aarch64-linux-musl
|
||||
arm-linux-androideabi
|
||||
arm-linux-gnu
|
||||
arm-linux-gnueabihf
|
||||
arm-linux-musl
|
||||
arm-linux-musleabihf
|
||||
arm64-darwin
|
||||
riscv64-linux-android
|
||||
riscv64-linux-gnu
|
||||
riscv64-linux-musl
|
||||
ruby
|
||||
x86-linux-gnu
|
||||
x86-linux-musl
|
||||
x86_64-darwin
|
||||
x86_64-linux-android
|
||||
x86_64-linux-gnu
|
||||
x86_64-linux-musl
|
||||
|
||||
DEPENDENCIES
|
||||
jekyll
|
||||
jekyll-sass-converter!
|
||||
|
||||
BUNDLED WITH
|
||||
2.6.7
|
||||
1.17.1
|
||||
|
||||
@@ -1,93 +1,17 @@
|
||||
# CoTech Website
|
||||
|
||||
This repo is [hosted at git.coop](https://git.coop/cotech/website) and [push mirrored to GitHub](https://github.com/cotech/jekyll-website).
|
||||
|
||||
If you would like to contribute to this repo you have two options:
|
||||
|
||||
1. [Join Webarchitects](https://webarch.coop/join) to [create an account at git.coop](https://webarch.coop/git#free) and then request access to the [CoTech group](https://git.coop/cotech) and when that has been granted you can update this repo directly.
|
||||
2. Use a GitHub account to create a [pull request](https://github.com/cotech/jekyll-website/pulls) at GitHub and then ask someone who is a member of [Webarchitects](https://www.webarchitects.coop/) to [patch the repo for you](https://community.coops.tech/t/cotech-website-repo-mirroring-to-github/2818).
|
||||
|
||||
## Introduction
|
||||
|
||||
This is a port of the old WordPress version of the CoTech website to a statically-generated site using Jekyll. The site consists of a bunch of markdown files and images stored in git.coop. The Jekyll build process is automated so that there is no need to have Jekyll installed and running to make changes to the site.
|
||||
|
||||
* Live site: https://coops.tech/
|
||||
* Dev site: https://dev.coops.tech/
|
||||
|
||||
## Updating the site
|
||||
|
||||
It is possible to edit markdown files and upload images through the [GitLab Web IDE](https://docs.gitlab.com/ce/user/project/web_ide/). To use this, got to the [GitLab website page](https://git.coop/cotech/website) and click the Web IDE button to the left below the toolbar.
|
||||
|
||||
Each page type lives in it's own folder.
|
||||
|
||||
* _clients contains client pages
|
||||
* _coops contains coop pages
|
||||
* _services contains service pages
|
||||
* _technologies contains technology pages
|
||||
|
||||
To change a coop page, edit the relevant coop file in the _coops directory. Each file contains a metadata block at the top of the file, followed by the main text describing the coop. The metadata block contains the coop details and lists of clients, services and technologies associated with the coop.
|
||||
|
||||
If using GitLab Web IDE, make your changes to the relevant files and then commit your changes by clicking the commit button in the bottom-left corner. Add a brief description of the changes you have made as a the commit message and then click 'Stage & Commit'. It is okay to commit to the master git branch if you are simply updating your coop details, but if you are making extensive changes to many coop pages it is better to create a new branch and merge request and ask someone else to review your changes before they merge your changes in the master branch.
|
||||
|
||||
Once your changes have been committed to the master branch an automatic build of the dev site is triggered. This will take a few minutes to run and you can check the status of the build here: https://git.coop/cotech/website/pipelines. Once the build has completed you will be able to see your changes on the dev site: https://dev.coops.tech/.
|
||||
|
||||
If you're happy with they changes on the dev site, then you can deploy them to the live site. See the Deployment section below on how to do this.
|
||||
|
||||
### Adding new clients, services and technologies
|
||||
|
||||
You will need to add a new markdown file in the relevant directory for the new item. The file only needs to contain a metadata block with the details describing the new item, this is typically just a title and name (which are usually the same), but look at other items for examples.
|
||||
|
||||
Along with the new file you will also need to upload a logo or image for the new item. Images live in a sub-directory of the images directory and should be named the same as the markdown file, but with a .png extension. Images should be formatted as a PNG and optimized for the web.
|
||||
|
||||
Once the new file and image have been created then you can add the new client, service or technology as a list item in the metadata section of the relevant coop file.
|
||||
This is a port of the current Wordpress version of the [CoTech Website][] to a statically-generated site using [Jekyll][].
|
||||
|
||||
## Run the site locally
|
||||
|
||||
You can run the site on your computer as if it were live online using Jekyll. You will need `git` and `ruby` installed on your machine to do this. Then clone the repository
|
||||
|
||||
### ... using docker
|
||||
|
||||
Make sure you have [docker](https://docs.docker.com/install/) (CE is fine) installed and running,
|
||||
and [docker-compose](https://docs.docker.com/compose/install/) installed,
|
||||
then:
|
||||
|
||||
git clone git@git.coop:cotech/website.git
|
||||
cd website
|
||||
docker-compose up -d
|
||||
|
||||
And visit [localhost:4000](http://localhost:4000) to view the site.
|
||||
|
||||
There are two docker volumes used here:
|
||||
* `vendor` - caches the ruby gems even if you recreate the containers
|
||||
* `site` - holds the built site files to share them with httpd (and not clutter your local filesystem)
|
||||
|
||||
A few useful things you might want to do:
|
||||
|
||||
# check the status of the containers
|
||||
docker-compose ps
|
||||
|
||||
# stop all the containers (but don't remove them)
|
||||
docker-compose stop
|
||||
|
||||
# stop and remove the containers (but leave the volumes)
|
||||
docker-compose down
|
||||
|
||||
# remove everything
|
||||
docker-compose down -v
|
||||
|
||||
# bring it back to life from any state you happen to be in
|
||||
docker-compose up -d
|
||||
|
||||
# run some ruby/bundler commands
|
||||
docker-compose run jekyll bundle --version
|
||||
docker-compose run jekyll bundle update
|
||||
docker-compose run jekyll bundle exec jekyll --help
|
||||
|
||||
### ... directly on your machine
|
||||
|
||||
Install the dependencies for the project
|
||||
|
||||
git clone git@git.coop:cotech/website.git
|
||||
cd website
|
||||
gem install bundler
|
||||
bundle install
|
||||
@@ -98,25 +22,9 @@ Run a local web server so that you can view the site
|
||||
|
||||
And visit [localhost:4000](http://localhost:4000) to view the site.
|
||||
|
||||
**Note: not all the images will load as there is no `.htaccess` support locally**
|
||||
## Deploy CI
|
||||
|
||||
## Deployment
|
||||
|
||||
### Dev/Staging
|
||||
|
||||
When changes are committed to the `master` branch the `.gitlab-ci.yml` file triggers the building of the site and then the copying of the results to [dev.coops.tech](https://dev.coops.tech).
|
||||
|
||||
### Production
|
||||
|
||||
You need to manually deploy the changes from dev to production.
|
||||
|
||||
1. View the changes on [dev.coops.tech](https://dev.coops.tech) and ensure you're happy for them to be pushed to production.
|
||||
|
||||
2. Visit [GitLab environments](https://git.coop/cotech/website/environments). __NOTE.__ If you don't have access to the environments page then post a message in the [Website category of the CoTech forum](https://community.coops.tech/c/cotech/website) to ask someone to do it for you.
|
||||
|
||||
3. Click the "Play" icon on the right of the screen in the row for the "dev" environment and choose "deploy:production".
|
||||
|
||||
4. Your changes will be visible in production when the commit listed in the "production" environment row matches the commit listed in the "dev" environment row.
|
||||
When changes are committed to the `master` branch the `.gitlab-ci.yml` file triggers the building of the site and then the copying of the results to https://static.coops.tech/ and when changes are committed to the `dev` branch the site at https://dev.static.coops.tech/ is updated.
|
||||
|
||||
## Contributing
|
||||
|
||||
|
||||
@@ -1,14 +0,0 @@
|
||||
---
|
||||
client_name: Central Coop
|
||||
project_name: World Builders Board Game
|
||||
coops:
|
||||
- Creative Coop
|
||||
services:
|
||||
- Branding & Creative Content
|
||||
- Game Design
|
||||
links:
|
||||
- https://www.creative.coop/work/world-builders
|
||||
logo: CreativeCoop-CentralCoop.png
|
||||
---
|
||||
|
||||
We created World Builders with Central Co-op: a classroom board game that teaches the UN Global Goals through play. We led mechanics, identity and all printed assets, working with educators to keep it accessible for primary pupils. The game sparks discussion and turns complex ideas into memorable, practical actions.
|
||||
@@ -1,20 +0,0 @@
|
||||
---
|
||||
client_name: Fuel Poverty Action
|
||||
project_name: Comms consultancy and web bulid
|
||||
coops:
|
||||
- Data Content Reach
|
||||
services:
|
||||
- Web Development
|
||||
- Discovery & Design Sprint
|
||||
- UX Research & Design
|
||||
- Branding & Creative Content
|
||||
- Digital Marketing & SEO
|
||||
- Analytics & Performance Insights
|
||||
- Co-op & Organisational Development
|
||||
- Content Strategy
|
||||
links:
|
||||
- https://www.fuelpovertyaction.org.uk/
|
||||
logo: DataContentReach-FuelPovertyAction.png
|
||||
---
|
||||
|
||||
As lead technical partner for LocalGov Drupal, the UK local government publishing platform created by councils for councils, we have worked since 2020 with an expanding network of councils and agencies to deliver a collaborative, code-sharing approach that accelerates development, improves quality, and reduces costs across local government website projects.
|
||||
@@ -1,19 +0,0 @@
|
||||
---
|
||||
client_name: Open Digital Cooperative
|
||||
project_name: LocalGov Drupal
|
||||
coops:
|
||||
- Agile Collective
|
||||
services:
|
||||
- Web Development
|
||||
- Discovery & Design Sprint
|
||||
- UX Research & Design
|
||||
- Branding & Creative Content
|
||||
- Digital Marketing & SEO
|
||||
- Analytics & Performance Insights
|
||||
- Co-op & Organisational Development
|
||||
links:
|
||||
- https://localgovdrupal.org/
|
||||
logo: AgileCollective-ODC.png
|
||||
---
|
||||
|
||||
As lead technical partner for LocalGov Drupal, the UK local government publishing platform created by councils for councils, we have worked since 2020 with an expanding network of councils and agencies to deliver a collaborative, code-sharing approach that accelerates development, improves quality, and reduces costs across local government website projects.
|
||||
@@ -1,15 +0,0 @@
|
||||
---
|
||||
client_name: Mapped
|
||||
project_name: Mapped
|
||||
coops:
|
||||
- Common Knowledge
|
||||
services:
|
||||
- App Development
|
||||
- Complex Data Integration
|
||||
- UX Research & Design
|
||||
links:
|
||||
- https://mapped.tools/
|
||||
logo: CommonKnowledge-Mapped.png
|
||||
---
|
||||
|
||||
When your membership data lives in a spreadsheet, it’s hard to see where your power really is. Who’s close enough to turn out for an action? Where are your strongest areas — and where do you need to grow? That’s why we built Mapped — a digital platform made by and for grassroots organisers. Mapped turns static membership lists into live, shared maps that help you see where your people are, plan strategically and take collective action. You don’t need to be a tech expert — just connect your existing membership database or upload a spreadsheet. Mapped instantly visualises your data on an interactive map.
|
||||
@@ -1,17 +0,0 @@
|
||||
---
|
||||
client_name: The Energy Saving Trust
|
||||
project_name: Nook
|
||||
coops:
|
||||
- Outlandish
|
||||
services:
|
||||
- Web Development
|
||||
- Discovery & Design Sprint
|
||||
- CRM Solution
|
||||
- UX Research & Design
|
||||
links:
|
||||
- https://nookcrm.com/
|
||||
- https://outlandish.com/project/nook-crm/
|
||||
logo: Outlandish-Nook.png
|
||||
---
|
||||
|
||||
Nook is a case management tool for the community energy sector. Co-designed with energy advisors themselves, it helps teams to manage client information, organise their case workflow and speed up their reporting. Nook is built on top of CiviCRM, a popular open-source solution.
|
||||
@@ -0,0 +1,3 @@
|
||||
---
|
||||
title: 360 Giving
|
||||
---
|
||||
@@ -0,0 +1,3 @@
|
||||
---
|
||||
title: Ace Hotel
|
||||
---
|
||||
@@ -0,0 +1,3 @@
|
||||
---
|
||||
title: Act Now!
|
||||
---
|
||||
@@ -0,0 +1,3 @@
|
||||
---
|
||||
title: Alitura Landscape and Garden Design
|
||||
---
|
||||
@@ -0,0 +1,3 @@
|
||||
---
|
||||
title: Alzheimers
|
||||
---
|
||||
@@ -0,0 +1,3 @@
|
||||
---
|
||||
title: Association for Progressive Communications
|
||||
---
|
||||
@@ -0,0 +1,3 @@
|
||||
---
|
||||
title: Aston Villa FC
|
||||
---
|
||||
@@ -0,0 +1,3 @@
|
||||
---
|
||||
title: Atmoterra
|
||||
---
|
||||
@@ -0,0 +1,3 @@
|
||||
---
|
||||
title: Authors’ Licensing and Collecting Society
|
||||
---
|
||||
@@ -0,0 +1,3 @@
|
||||
---
|
||||
title: Badge Wiki
|
||||
---
|
||||
@@ -0,0 +1,3 @@
|
||||
---
|
||||
title: Banksy
|
||||
---
|
||||
@@ -0,0 +1,3 @@
|
||||
---
|
||||
title: Basildon Council
|
||||
---
|
||||
@@ -0,0 +1,3 @@
|
||||
---
|
||||
title: Bates Wells Braithwaite LLP
|
||||
---
|
||||
@@ -0,0 +1,3 @@
|
||||
---
|
||||
title: BBC
|
||||
---
|
||||
@@ -0,0 +1,3 @@
|
||||
---
|
||||
title: Big Lottery Fund
|
||||
---
|
||||
@@ -0,0 +1,3 @@
|
||||
---
|
||||
title: Birmingham Bike Foundry
|
||||
---
|
||||
@@ -0,0 +1,3 @@
|
||||
---
|
||||
title: BluQube
|
||||
---
|
||||
@@ -0,0 +1,3 @@
|
||||
---
|
||||
title: BNP Paribas
|
||||
---
|
||||
@@ -0,0 +1,3 @@
|
||||
---
|
||||
title: Bond
|
||||
---
|
||||
@@ -0,0 +1,3 @@
|
||||
---
|
||||
title: Booth Centre
|
||||
---
|
||||
@@ -0,0 +1,3 @@
|
||||
---
|
||||
title: Brighton & Hove City Council
|
||||
---
|
||||
@@ -0,0 +1,3 @@
|
||||
---
|
||||
title: British Museum
|
||||
---
|
||||
@@ -0,0 +1,3 @@
|
||||
---
|
||||
title: Burngreave Messenger
|
||||
---
|
||||
@@ -0,0 +1,3 @@
|
||||
---
|
||||
title: Cairn Housing Association
|
||||
---
|
||||
@@ -0,0 +1,3 @@
|
||||
---
|
||||
title: Camden New Journal
|
||||
---
|
||||
@@ -0,0 +1,3 @@
|
||||
---
|
||||
title: Campaign for Press and Broadcasting Freedom
|
||||
---
|
||||
@@ -0,0 +1,3 @@
|
||||
---
|
||||
title: Carbon Co-op
|
||||
---
|
||||
@@ -0,0 +1,3 @@
|
||||
---
|
||||
title: Carbon3IT Ltd
|
||||
---
|
||||
@@ -0,0 +1,3 @@
|
||||
---
|
||||
title: Careskills Academy
|
||||
---
|
||||
@@ -0,0 +1,3 @@
|
||||
---
|
||||
title: CAST
|
||||
---
|
||||
@@ -0,0 +1,3 @@
|
||||
---
|
||||
title: CDS Co-operatives
|
||||
---
|
||||
@@ -0,0 +1,3 @@
|
||||
---
|
||||
title: Ceasefire Magazine
|
||||
---
|
||||
@@ -0,0 +1,3 @@
|
||||
---
|
||||
title: Channel4
|
||||
---
|
||||
@@ -0,0 +1,3 @@
|
||||
---
|
||||
title: Chartist
|
||||
---
|
||||
@@ -0,0 +1,3 @@
|
||||
---
|
||||
title: Child Accident Prevention Trust
|
||||
---
|
||||
@@ -0,0 +1,3 @@
|
||||
---
|
||||
title: Child Poverty Action Group
|
||||
---
|
||||
@@ -0,0 +1,3 @@
|
||||
---
|
||||
title: Children’s Health Scotland
|
||||
---
|
||||
@@ -0,0 +1,3 @@
|
||||
---
|
||||
title: Christopher Kane
|
||||
---
|
||||
@@ -0,0 +1,3 @@
|
||||
---
|
||||
title: City of Sanctuary
|
||||
---
|
||||
@@ -0,0 +1,3 @@
|
||||
---
|
||||
title: City to Sea
|
||||
---
|
||||
@@ -0,0 +1,3 @@
|
||||
---
|
||||
title: Co-operative Assistance Network
|
||||
---
|
||||
@@ -0,0 +1,3 @@
|
||||
---
|
||||
title: Co-operative Press Limited
|
||||
---
|
||||
@@ -0,0 +1,3 @@
|
||||
---
|
||||
title: Co-operatives London
|
||||
---
|
||||
@@ -0,0 +1,3 @@
|
||||
---
|
||||
title: Co-operatives UK
|
||||
---
|
||||
@@ -0,0 +1,3 @@
|
||||
---
|
||||
title: Coal Action Network
|
||||
---
|
||||
@@ -0,0 +1,3 @@
|
||||
---
|
||||
title: Colombia Solidarity Campaign
|
||||
---
|
||||
@@ -0,0 +1,3 @@
|
||||
---
|
||||
title: Common Futures
|
||||
---
|
||||
@@ -0,0 +1,3 @@
|
||||
---
|
||||
title: Community Shares Scotland
|
||||
---
|
||||
@@ -0,0 +1,3 @@
|
||||
---
|
||||
title: Compassionate Revolution
|
||||
---
|
||||
@@ -0,0 +1,3 @@
|
||||
---
|
||||
title: Creating Freedom
|
||||
---
|
||||
@@ -0,0 +1,3 @@
|
||||
---
|
||||
title: Creative Commons
|
||||
---
|
||||
@@ -0,0 +1,3 @@
|
||||
---
|
||||
title: CRIN
|
||||
---
|
||||
@@ -0,0 +1,3 @@
|
||||
---
|
||||
title: Crown
|
||||
---
|
||||
@@ -0,0 +1,3 @@
|
||||
---
|
||||
title: Crystal Interactive
|
||||
---
|
||||
@@ -0,0 +1,3 @@
|
||||
---
|
||||
title: Daily Life Ltd.
|
||||
---
|
||||
@@ -0,0 +1,3 @@
|
||||
---
|
||||
title: data.gouv.fr
|
||||
---
|
||||
@@ -0,0 +1,3 @@
|
||||
---
|
||||
title: Department for International Development
|
||||
---
|
||||
@@ -0,0 +1,3 @@
|
||||
---
|
||||
title: Development Trust Northern Ireland
|
||||
---
|
||||
@@ -0,0 +1,3 @@
|
||||
---
|
||||
title: Disability Snowsports UK
|
||||
---
|
||||
@@ -0,0 +1,3 @@
|
||||
---
|
||||
title: Doteveryone
|
||||
---
|
||||
@@ -0,0 +1,3 @@
|
||||
---
|
||||
title: Dublin Food Co-op
|
||||
---
|
||||
@@ -0,0 +1,3 @@
|
||||
---
|
||||
title: E-immigrate
|
||||
---
|
||||
@@ -0,0 +1,3 @@
|
||||
---
|
||||
title: Earth First!
|
||||
---
|
||||
@@ -0,0 +1,3 @@
|
||||
---
|
||||
title: East End Trades Guild
|
||||
---
|
||||
@@ -0,0 +1,3 @@
|
||||
---
|
||||
title: Economy for the Common Good
|
||||
---
|
||||
@@ -0,0 +1,3 @@
|
||||
---
|
||||
title: eisf
|
||||
---
|
||||
@@ -0,0 +1,3 @@
|
||||
---
|
||||
title: Elli
|
||||
---
|
||||
@@ -0,0 +1,3 @@
|
||||
---
|
||||
title: Emergent Works
|
||||
---
|
||||
@@ -0,0 +1,3 @@
|
||||
---
|
||||
title: Enrol Yourself
|
||||
---
|
||||
@@ -0,0 +1,3 @@
|
||||
---
|
||||
title: Essex County Council
|
||||
---
|
||||
@@ -0,0 +1,3 @@
|
||||
---
|
||||
title: Essex Cultural Diversity Project
|
||||
---
|
||||
@@ -0,0 +1,3 @@
|
||||
---
|
||||
title: European Services Strategy Unit
|
||||
---
|
||||
@@ -0,0 +1,3 @@
|
||||
---
|
||||
title: European Union
|
||||
---
|
||||
@@ -0,0 +1,3 @@
|
||||
---
|
||||
title: Everyone Everyday
|
||||
---
|
||||
@@ -0,0 +1,3 @@
|
||||
---
|
||||
title: FanFinders
|
||||
---
|
||||
@@ -0,0 +1,3 @@
|
||||
---
|
||||
title: FAVOR
|
||||
---
|
||||
@@ -0,0 +1,3 @@
|
||||
---
|
||||
title: FCA
|
||||
---
|
||||
@@ -0,0 +1,3 @@
|
||||
---
|
||||
title: Feilden Clegg Bradley Studios
|
||||
---
|
||||
@@ -0,0 +1,3 @@
|
||||
---
|
||||
title: FirstSite
|
||||
---
|
||||
@@ -0,0 +1,3 @@
|
||||
---
|
||||
title: FMC
|
||||
---
|
||||
@@ -0,0 +1,3 @@
|
||||
---
|
||||
title: Forest Recycling Project
|
||||
---
|
||||
@@ -0,0 +1,3 @@
|
||||
---
|
||||
title: Frack Off
|
||||
---
|
||||
@@ -0,0 +1,3 @@
|
||||
---
|
||||
title: Friends of the Earth
|
||||
---
|
||||
@@ -0,0 +1,3 @@
|
||||
---
|
||||
title: FutureLearn
|
||||
---
|
||||
@@ -0,0 +1,3 @@
|
||||
---
|
||||
title: Gender Action for Peace and Security
|
||||
---
|
||||
@@ -0,0 +1,3 @@
|
||||
---
|
||||
title: Girl Guiding
|
||||
---
|
||||
@@ -0,0 +1,3 @@
|
||||
---
|
||||
title: GivePenny
|
||||
---
|
||||
@@ -0,0 +1,3 @@
|
||||
---
|
||||
title: Global Canopy Programme
|
||||
---
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user