Skip to content

Commit f6f9bd8

Browse files
committed
Add dynamic shortlinks config with moban
Closes #4
1 parent 9ce9079 commit f6f9bd8

File tree

9 files changed

+578
-65
lines changed

9 files changed

+578
-65
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
.secrets
22
*.tmplc
33
rultor_github_secrets.sh
4+
.moban.hashes

.moban.dt/coala.io.conf.jj2

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
{% from "url_builder.jj2" import get_url %}
2+
3+
server {
4+
listen 443 ssl;
5+
server_name coala.io www.coala.io;
6+
7+
location / {
8+
proxy_pass http://192.30.252.153;
9+
proxy_set_header Host coala.io;
10+
proxy_set_header X-Real-IP $remote_addr;
11+
proxy_intercept_errors on;
12+
}
13+
14+
location /links {
15+
root /usr/share/nginx/html;
16+
}
17+
18+
{% for sl in shortlinks %}
19+
location /{{ "%-10s" % sl.name }} { return 301 https://{{ get_url(sl) }}; }
20+
{% endfor %}
21+
}

.moban.dt/links.html.jj2

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
{% from "url_builder.jj2" import get_url %}
2+
3+
<!DOCTYPE html>
4+
<html lang="en">
5+
<head>
6+
<meta charset="utf-8">
7+
<title>coala Shortlinks</title>
8+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
9+
<meta property="og:title" content="coala Shortlinks">
10+
<meta property="og:description" content="List of shortlinks used under coala.io">
11+
<link rel="stylesheet" href="main.css">
12+
</head>
13+
<body>
14+
<div>
15+
<a href="https://coala.io">
16+
<img class="logo" src="https://api.coala.io/en/latest/_static/images/coala_logo.svg" alt="coala">
17+
</a>
18+
<h1>coala Shortlinks</h1>
19+
</div>
20+
<div>
21+
<table>
22+
<tr>
23+
<th>Shortlink</th>
24+
<th>Target</th>
25+
</tr>
26+
{% for sl in shortlinks %}
27+
<tr>
28+
<td><a href="https://coala.io/{{ sl.name }}">{{ sl.name }}</a></td>
29+
<td><a href="https://{{ get_url(sl) }}">{{ get_url(sl) }}</a></td>
30+
</tr>
31+
{% endfor %}
32+
</ul>
33+
</div>
34+
</body>
35+
</html>

.moban.dt/url_builder.jj2

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
{% macro api_doc(doc) -%}
2+
api.coala.io/en/latest/{{ doc }}.html
3+
{%- endmacro %}
4+
5+
{% macro user_doc(doc) -%}
6+
docs.coala.io/en/latest/{{ doc }}.html
7+
{%- endmacro %}
8+
9+
{% macro github_file(org, repo, file, branch="master") -%}
10+
github.com/{{ org }}/{{ repo }}/blob/{{ branch }}/{{ file }}
11+
{%- endmacro %}
12+
13+
{% macro cEP(n) -%}
14+
{{ github_file("coala", "cEPs", "cEP-%04d.md" % n) }}
15+
{%- endmacro %}
16+
17+
{% macro gform(id) -%}
18+
docs.google.com/forms/d/e/{{ id }}/viewform
19+
{%- endmacro %}
20+
21+
{% macro gpresentation(id) -%}
22+
docs.google.com/presentation/d/{{id}}/edit
23+
{%- endmacro %}
24+
25+
{% macro github_issues(q) -%}
26+
github.com/issues?q={{ q | urlencode }}
27+
{%- endmacro %}
28+
29+
{% macro github_pulls(q) -%}
30+
github.com/pulls?q={{ q | urlencode }}
31+
{%- endmacro %}
32+
33+
{% macro github_wiki(org, repo, page) -%}
34+
github.com/{{ org }}/{{ repo }}/wiki/{{ page }}
35+
{%- endmacro %}
36+
37+
{% macro wiki(page) -%}
38+
{{ github_wiki("coala", "repo", page) }}
39+
{%- endmacro %}
40+
41+
{% macro get_url(sl) %}
42+
{% if sl.api_doc is defined -%}
43+
{{ api_doc(sl.api_doc) }}
44+
{%- elif sl.user_doc is defined -%}
45+
{{ user_doc(sl.user_doc) }}
46+
{%- elif sl.cEP is defined -%}
47+
{{ cEP(sl.cEP)}}
48+
{%- elif sl.gform is defined -%}
49+
{{ gform(sl.gform) }}
50+
{%- elif sl.gpresentation is defined -%}
51+
{{ gpresentation(sl.gpresentation) }}
52+
{%- elif sl.github_issues is defined -%}
53+
{{ github_issues(sl.github_issues) }}
54+
{%- elif sl.github_pulls is defined -%}
55+
{{ github_pulls(sl.github_pulls) }}
56+
{%- elif sl.wiki is defined -%}
57+
{{ wiki(sl.wiki) }}
58+
{%- else -%}
59+
{{ sl.url }}
60+
{%- endif %}
61+
{% endmacro %}

.moban.yml

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
configuration:
2+
template_dir:
3+
- .moban.dt/
4+
- ../coala-mobans/templates/
5+
configuration: devops.yml
6+
configuration_dir: ../coala-mobans/
7+
targets:
8+
- "nginx/nginx.conf.d/coala.io.conf": "coala.io.conf.jj2"
9+
- "nginx/webroot/links/index.html": "links.html.jj2"

devops.yml

Lines changed: 116 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,116 @@
1+
shortlinks:
2+
- name: newcomer
3+
api_doc: Developers/Newcomers_Guide
4+
- name: newcomers
5+
api_doc: Developers/Newcomers_Guide
6+
- name: new
7+
github_issues: "is:open is:issue user:coala label:difficulty/newcomer\
8+
-label:initiatives/gci no:assignee"
9+
- name: low
10+
github_issues: "is:open is:issue user:coala label:difficulty/low \
11+
no:assignee"
12+
- name: medium
13+
github_issues: "is:open is:issue user:coala label:difficulty/medium \
14+
no:assignee"
15+
- name: review
16+
github_pulls: "is:open user:coala label:process/pending review \
17+
sort:created-asc"
18+
- name: greview
19+
url: gitlab.com/groups/coala/merge_requests
20+
- name: approved
21+
github_pulls: "is:open user:coala label:process/approved \
22+
sort:created-asc"
23+
- name: reviewing
24+
api_doc: Developers/Review
25+
- name: languages
26+
url: coala.io/#!/languages
27+
- name: chat
28+
url: gitter.im/coala-analyzer/coala
29+
- name: git
30+
api_doc: Developers/Git_Basics
31+
- name: rebase
32+
url: coala.io/git#rebasing
33+
- name: commit
34+
api_doc: Developers/Writing_Good_Commits
35+
- name: cep
36+
cEP: 0
37+
- name: cep1
38+
cEP: 1
39+
- name: cep2
40+
cEP: 2
41+
- name: cep3
42+
cEP: 3
43+
- name: cep5
44+
cEP: 5
45+
- name: cep6
46+
cEP: 6
47+
- name: cep9
48+
cEP: 9
49+
- name: cep10
50+
cEP: 10
51+
- name: cep12
52+
cEP: 12
53+
- name: cep14
54+
cEP: 14
55+
- name: coc
56+
cEP: 6
57+
- name: tutorial
58+
user_doc: Users/Tutorial
59+
- name: writingbears
60+
api_doc: Developers/Writing_Native_Bears
61+
- name: channels
62+
wiki: Communication-Channels
63+
- name: newform
64+
gform: 1FAIpQLSd7g_MU_c-BMQ62WHeznrvcoXwqW87O_Wq4Gz7-pp8PJ38Wdg
65+
- name: projects
66+
wiki: Project-Ideas
67+
- name: reviewsprint
68+
gform: 1FAIpQLSd4vHafTyY4RW--fOyIVecBM0WKNEeF-RyFvUn83jCF9ou2tg
69+
- name: reply
70+
wiki: Reply-Templates
71+
- name: linespots
72+
url: gitlab.com/sims1253/Linespots
73+
- name: usability
74+
gform: 1FAIpQLSe9lZxuYEKlvxXzQUOTwrre3CQMNsks7eOzEl49_2q5vlDl0w
75+
- name: starwars
76+
url: www.youtube.com/watch?v=JWVCMjKU_10
77+
- name: docs
78+
url: docs.coala.io
79+
- name: api
80+
url: api.coala.io
81+
- name: viperform
82+
gform: 1FAIpQLSdtdIF5CLnO2erAc41yLRoEvUMXyt3ZWUOVJ5LSqpwZEYF03A
83+
- name: romania
84+
url: "www.bigmarker.com/remote-meetup/Open-Source-and-Google-Summer-of-Code\
85+
-8-Gorgeous-Short-Presentations"
86+
- name: thesis
87+
wiki: Writing-a-Thesis-with-coala
88+
- name: install
89+
user_doc: Users/Install
90+
- name: comania
91+
wiki: Hackathon-comania
92+
- name: pizza
93+
gform: 1FAIpQLSdt_zc_bgAE6vqTypSBnWk240AEnhCE7NBmpU1nLnFBuaivqA
94+
- name: help
95+
api_doc: Developers/coala_settings
96+
- name: devsetup
97+
api_doc: Developers/Development_Setup
98+
- name: community_issues
99+
github_pulls: "is:open user:coala label:community_team sort:created-asc"
100+
- name: fosdem2017
101+
url: "http://coala.us15.list-manage1.com/subscribe?u=f37f470f0755466918fbde\
102+
30b&id=71567f2923"
103+
- name: gitmate
104+
url: coala.io/#/gitmate
105+
- name: csoc
106+
gform: 1FAIpQLSeR8WKkZA1R0gBDjJqfeI96jgHe9mt8zmAVm1YtB5FpJFD9gQ
107+
- name: recipes
108+
url: github.com/coala/recipes
109+
- name: autocontrib
110+
gpresentation: 1fYx1aiSSj_w1vw017tBYfSGbfgl38sMWg3qlhvimYu8
111+
- name: exterminate
112+
url: github.com/adtac/exterminate
113+
- name: exterminatep
114+
gpresentation: 1qJpXMgA8_WJNO3eUV_ueNiU8w_1fTethNvEuU2XHnWs
115+
- name: feedback
116+
gform: 1FAIpQLSePFIE5-Mfk-ER307rdcAmBHZpKNRgOSeq-rmjY-09pEn3TsA

nginx/nginx.conf.d/coala.io.conf

Lines changed: 59 additions & 65 deletions
Original file line numberDiff line numberDiff line change
@@ -1,77 +1,71 @@
1+
12
server {
23
listen 443 ssl;
34
server_name coala.io www.coala.io;
4-
5+
56
location / {
67
proxy_pass http://192.30.252.153;
78
proxy_set_header Host coala.io;
89
proxy_set_header X-Real-IP $remote_addr;
910
proxy_intercept_errors on;
1011
}
1112

12-
# URL shortener
13-
location /newcomer { return 302 http://api.coala.io/en/latest/Developers/Newcomers_Guide.html; }
14-
location /newcomers { return 302 http://api.coala.io/en/latest/Developers/Newcomers_Guide.html; }
15-
location /new { return 302 https://github.com/issues?utf8=%E2%9C%93&q=is%3Aopen+is%3Aissue+user%3Acoala+label%3Adifficulty%2Fnewcomer+-label%3Ainitiatives%2Fgci+no%3Aassignee; }
16-
location /low { return 302 https://github.com/issues?utf8=%E2%9C%93&q=is%3Aopen+is%3Aissue+user%3Acoala+label%3Adifficulty%2Flow++no%3Aassignee; }
17-
location /medium { return 302 https://github.com/issues?utf8=%E2%9C%93&q=is%3Aopen+is%3Aissue+user%3Acoala+label%3Adifficulty%2Fmedium+no%3Aassignee; }
18-
location /review { return 302 https://github.com/pulls?q=is%3Aopen+user%3Acoala+label%3A%22process%2Fpending+review%22+sort%3Acreated-asc; }
19-
location /greview { return 302 https://gitlab.com/groups/coala/merge_requests; }
20-
location /approved { return 302 https://github.com/pulls?q=is%3Aopen+user%3Acoala+label%3A%22process%2Fapproved%22+sort%3Acreated-asc; }
21-
location /reviewing { return 302 http://api.coala.io/en/latest/Developers/Review.html; }
22-
location /languages { return 302 http://coala.io/#!/languages; }
23-
location /chat { return 302 https://gitter.im/coala-analyzer/coala; }
24-
location /git { return 302 http://api.coala.io/en/latest/Developers/Git_Basics.html; }
25-
location /rebase { return 302 https://coala.io/git#rebasing; }
26-
location /commit { return 302 http://api.coala.io/en/latest/Developers/Writing_Good_Commits.html; }
27-
location /cep { return 302 https://github.com/coala/cEPs/blob/master/cEP-0000.md; }
28-
location /cep1 { return 302 https://github.com/coala/cEPs/blob/master/cEP-0001.md; }
29-
location /cep2 { return 302 https://github.com/coala/cEPs/blob/master/cEP-0002.md; }
30-
location /cep3 { return 302 https://github.com/coala/cEPs/blob/master/cEP-0003.md; }
31-
location /cep5 { return 302 https://github.com/coala/cEPs/blob/master/cEP-0005.md; }
32-
location /cep6 { return 302 https://github.com/coala/cEPs/blob/master/cEP-0006.md; }
33-
location /cep9 { return 302 https://github.com/coala/cEPs/blob/master/cEP-0009.md; }
34-
location /cep10 { return 302 https://github.com/coala/cEPs/blob/master/cEP-0010.md; }
35-
location /cep12 { return 302 https://github.com/coala/cEPs/blob/master/cEP-0012.md; }
36-
location /cep13 { return 302 https://github.com/coala/cEPs/blob/master/cEP-0013.md; }
37-
location /cep14 { return 302 https://github.com/coala/cEPs/blob/master/cEP-0014.md; }
38-
location /coc { return 302 https://github.com/coala/cEPs/blob/master/cEP-0006.md; }
39-
location /tutorial { return 302 https://docs.coala.io/en/latest/Users/Tutorial.html; }
40-
location /writingbears { return 302 https://api.coala.io/en/latest/Developers/Writing_Native_Bears.html; }
41-
location /channels { return 302 https://github.com/coala/coala/wiki/Communication-Channels; }
42-
location /newform { return 302 https://docs.google.com/forms/d/e/1FAIpQLSd7g_MU_c-BMQ62WHeznrvcoXwqW87O_Wq4Gz7-pp8PJ38Wdg/viewform; }
43-
location /projects { return 302 https://github.com/coala/coala/wiki/Project-Ideas; }
44-
location /reviewsprint { return 302 https://docs.google.com/forms/d/e/1FAIpQLSd4vHafTyY4RW--fOyIVecBM0WKNEeF-RyFvUn83jCF9ou2tg/viewform; }
45-
location /reply { return 302 https://github.com/coala/coala/wiki/Reply-Templates; }
46-
location /linespots { return 302 https://gitlab.com/sims1253/Linespots; }
47-
location /usability { return 302 https://docs.google.com/forms/d/e/1FAIpQLSe9lZxuYEKlvxXzQUOTwrre3CQMNsks7eOzEl49_2q5vlDl0w/viewform; }
48-
location /starwars { return 302 https://www.youtube.com/watch?v=JWVCMjKU_10; }
49-
location /docs { return 302 https://docs.coala.io/; }
50-
location /api { return 302 https://api.coala.io/; }
51-
location /viperform { return 302 https://docs.google.com/forms/d/e/1FAIpQLSdtdIF5CLnO2erAc41yLRoEvUMXyt3ZWUOVJ5LSqpwZEYF03A/viewform; }
52-
location /romania { return 302 https://www.bigmarker.com/remote-meetup/Open-Source-and-Google-Summer-of-Code-8-Gorgeous-Short-Presentations; }
53-
location /thesis { return 302 https://github.com/coala/coala/wiki/Writing-a-Thesis-with-coala; }
54-
location /install { return 302 http://docs.coala.io/en/latest/Users/Install.html; }
55-
location /comania { return 302 https://github.com/coala/coala/wiki/Hackathon-comania; }
56-
location /pizza { return 302 https://docs.google.com/forms/d/e/1FAIpQLSdt_zc_bgAE6vqTypSBnWk240AEnhCE7NBmpU1nLnFBuaivqA/viewform; }
57-
location /help { return 302 http://api.coala.io/en/latest/Developers/coala_settings.html; }
58-
location /devsetup { return 302 https://api.coala.io/en/latest/Developers/Development_Setup.html; }
59-
location /community_issues { return 302 https://github.com/pulls?q=is:open+user:coala+label:"community_team"+sort:created-asc; }
60-
location /fosdem2017 { return 302 http://eepurl.com/cABthT; }
61-
location /gitmate { return 302 https://coala.io/#/gitmate; }
62-
location /nginx.txt { return 302 coala.io.conf; }
63-
location /links { return 302 coala.io.conf; }
64-
location /csoc { return 302 https://docs.google.com/forms/d/e/1FAIpQLSeR8WKkZA1R0gBDjJqfeI96jgHe9mt8zmAVm1YtB5FpJFD9gQ/viewform?usp=sf_link; }
65-
location /recipes { return 302 https://github.com/coala/recipes; }
66-
67-
location /autocontrib { return 302 https://docs.google.com/presentation/d/1fYx1aiSSj_w1vw017tBYfSGbfgl38sMWg3qlhvimYu8/edit?usp=sharing; }
68-
location /exterminate { return 302 https://github.com/adtac/exterminate/; }
69-
location /exterminatep { return 302 https://docs.google.com/presentation/d/1qJpXMgA8_WJNO3eUV_ueNiU8w_1fTethNvEuU2XHnWs/edit?usp=sharing; }
70-
71-
location /feedback { return 302 https://goo.gl/DcTPbn; }
72-
73-
location /coala.io.conf {
74-
add_header Content-Type text/plain;
75-
root /etc/nginx/conf.d;
13+
location /links {
14+
root /usr/share/nginx/html;
7615
}
16+
17+
location /newcomer { return 301 https://api.coala.io/en/latest/Developers/Newcomers_Guide.html; }
18+
location /newcomers { return 301 https://api.coala.io/en/latest/Developers/Newcomers_Guide.html; }
19+
location /new { return 301 https://github.com/issues?q=is%3Aopen%20is%3Aissue%20user%3Acoala%20label%3Adifficulty/newcomer-label%3Ainitiatives/gci%20no%3Aassignee; }
20+
location /low { return 301 https://github.com/issues?q=is%3Aopen%20is%3Aissue%20user%3Acoala%20label%3Adifficulty/low%20no%3Aassignee; }
21+
location /medium { return 301 https://github.com/issues?q=is%3Aopen%20is%3Aissue%20user%3Acoala%20label%3Adifficulty/medium%20no%3Aassignee; }
22+
location /review { return 301 https://github.com/pulls?q=is%3Aopen%20user%3Acoala%20label%3Aprocess/pending%20review%20sort%3Acreated-asc; }
23+
location /greview { return 301 https://gitlab.com/groups/coala/merge_requests; }
24+
location /approved { return 301 https://github.com/pulls?q=is%3Aopen%20user%3Acoala%20label%3Aprocess/approved%20sort%3Acreated-asc; }
25+
location /reviewing { return 301 https://api.coala.io/en/latest/Developers/Review.html; }
26+
location /languages { return 301 https://coala.io/#!/languages; }
27+
location /chat { return 301 https://gitter.im/coala-analyzer/coala; }
28+
location /git { return 301 https://api.coala.io/en/latest/Developers/Git_Basics.html; }
29+
location /rebase { return 301 https://coala.io/git#rebasing; }
30+
location /commit { return 301 https://api.coala.io/en/latest/Developers/Writing_Good_Commits.html; }
31+
location /cep { return 301 https://github.com/coala/cEPs/blob/master/cEP-0000.md; }
32+
location /cep1 { return 301 https://github.com/coala/cEPs/blob/master/cEP-0001.md; }
33+
location /cep2 { return 301 https://github.com/coala/cEPs/blob/master/cEP-0002.md; }
34+
location /cep3 { return 301 https://github.com/coala/cEPs/blob/master/cEP-0003.md; }
35+
location /cep5 { return 301 https://github.com/coala/cEPs/blob/master/cEP-0005.md; }
36+
location /cep6 { return 301 https://github.com/coala/cEPs/blob/master/cEP-0006.md; }
37+
location /cep9 { return 301 https://github.com/coala/cEPs/blob/master/cEP-0009.md; }
38+
location /cep10 { return 301 https://github.com/coala/cEPs/blob/master/cEP-0010.md; }
39+
location /cep12 { return 301 https://github.com/coala/cEPs/blob/master/cEP-0012.md; }
40+
location /cep14 { return 301 https://github.com/coala/cEPs/blob/master/cEP-0014.md; }
41+
location /coc { return 301 https://github.com/coala/cEPs/blob/master/cEP-0006.md; }
42+
location /tutorial { return 301 https://docs.coala.io/en/latest/Users/Tutorial.html; }
43+
location /writingbears { return 301 https://api.coala.io/en/latest/Developers/Writing_Native_Bears.html; }
44+
location /channels { return 301 https://github.com/coala/repo/wiki/Communication-Channels; }
45+
location /newform { return 301 https://docs.google.com/forms/d/e/1FAIpQLSd7g_MU_c-BMQ62WHeznrvcoXwqW87O_Wq4Gz7-pp8PJ38Wdg/viewform; }
46+
location /projects { return 301 https://github.com/coala/repo/wiki/Project-Ideas; }
47+
location /reviewsprint { return 301 https://docs.google.com/forms/d/e/1FAIpQLSd4vHafTyY4RW--fOyIVecBM0WKNEeF-RyFvUn83jCF9ou2tg/viewform; }
48+
location /reply { return 301 https://github.com/coala/repo/wiki/Reply-Templates; }
49+
location /linespots { return 301 https://gitlab.com/sims1253/Linespots; }
50+
location /usability { return 301 https://docs.google.com/forms/d/e/1FAIpQLSe9lZxuYEKlvxXzQUOTwrre3CQMNsks7eOzEl49_2q5vlDl0w/viewform; }
51+
location /starwars { return 301 https://www.youtube.com/watch?v=JWVCMjKU_10; }
52+
location /docs { return 301 https://docs.coala.io; }
53+
location /api { return 301 https://api.coala.io; }
54+
location /viperform { return 301 https://docs.google.com/forms/d/e/1FAIpQLSdtdIF5CLnO2erAc41yLRoEvUMXyt3ZWUOVJ5LSqpwZEYF03A/viewform; }
55+
location /romania { return 301 https://www.bigmarker.com/remote-meetup/Open-Source-and-Google-Summer-of-Code-8-Gorgeous-Short-Presentations; }
56+
location /thesis { return 301 https://github.com/coala/repo/wiki/Writing-a-Thesis-with-coala; }
57+
location /install { return 301 https://docs.coala.io/en/latest/Users/Install.html; }
58+
location /comania { return 301 https://github.com/coala/repo/wiki/Hackathon-comania; }
59+
location /pizza { return 301 https://docs.google.com/forms/d/e/1FAIpQLSdt_zc_bgAE6vqTypSBnWk240AEnhCE7NBmpU1nLnFBuaivqA/viewform; }
60+
location /help { return 301 https://api.coala.io/en/latest/Developers/coala_settings.html; }
61+
location /devsetup { return 301 https://api.coala.io/en/latest/Developers/Development_Setup.html; }
62+
location /community_issues { return 301 https://github.com/pulls?q=is%3Aopen%20user%3Acoala%20label%3Acommunity_team%20sort%3Acreated-asc; }
63+
location /fosdem2017 { return 301 https://http://coala.us15.list-manage1.com/subscribe?u=f37f470f0755466918fbde30b&id=71567f2923; }
64+
location /gitmate { return 301 https://coala.io/#/gitmate; }
65+
location /csoc { return 301 https://docs.google.com/forms/d/e/1FAIpQLSeR8WKkZA1R0gBDjJqfeI96jgHe9mt8zmAVm1YtB5FpJFD9gQ/viewform; }
66+
location /recipes { return 301 https://github.com/coala/recipes; }
67+
location /autocontrib { return 301 https://docs.google.com/presentation/d/1fYx1aiSSj_w1vw017tBYfSGbfgl38sMWg3qlhvimYu8/edit; }
68+
location /exterminate { return 301 https://github.com/adtac/exterminate; }
69+
location /exterminatep { return 301 https://docs.google.com/presentation/d/1qJpXMgA8_WJNO3eUV_ueNiU8w_1fTethNvEuU2XHnWs/edit; }
70+
location /feedback { return 301 https://docs.google.com/forms/d/e/1FAIpQLSePFIE5-Mfk-ER307rdcAmBHZpKNRgOSeq-rmjY-09pEn3TsA/viewform; }
7771
}

0 commit comments

Comments
 (0)