the Pipa Index ·
elixir
r/o

pipa / README.md

1
# Pipa
2
3
* [Features](https://nossa.ee/~talya/pipa/#features)
4
* [Overview](https://nossa.ee/~talya/pipa/#getting-started)
5
* [Getting started](https://nossa.ee/~talya/pipa/#getting-started)
6
* [Legal](https://nossa.ee/~talya/pipa/#legal)
7
* [Contact](https://nossa.ee/~talya/pipa/#contact)
8
9
10
## <a id="features"></a>Features
11
12
* Greasemonkey script to insert the Pipa on target pages.
13
* Light/dark mode.
14
* Link multiple URLs to a single entry to tie them together.
15
* Reorder URLs to keep what's most relevant at top.
16
* Define columns for each entry; can also be used to sort. Default sort is saved.
17
* Add comments to entries; supports image attachments.
18
* All changes recorded in a per-entry event log.\
19
<img src="help/event-feature.png" width="969"><br><br>
20
* Supports gitlab.com and github.com for most activities:
21
* Friendly display of URLs.
22
* Fetch MR/issue status via API, displayed next to MR/issue title reference wherever it appears.\
23
<img src="help/status.png" width="655"><br><br>
24
* Fetch MR/issue labels and MR mergeability via API, displayed under URL in sidebar.\
25
<img src="help/mergeability.png" width="456"><br><br>
26
* All fetched data is cached, and refreshed in the background on access when stale.
27
* Closed or merged issues/MRs are considered stale much less frequently than open ones.
28
* Show CI status in columns for easier view. \
29
<img src="help/ci1.png" width="388"><br> \
30
<img src="help/ci2.png" width="388"><br> \
31
<img src="help/ci3.png" width="388"><br> \
32
<img src="help/ci4.png" width="388"><br><br>
33
* Columns and comments can refer to other entries, linked issues and MRs with
34
shorthand reference syntax.\
35
<img src="help/depends1.png" width="273"><br> \
36
<img src="help/depends2.png" width="675"><br><br>
37
* Due and overdue dates in columns highlighted.\
38
<img src="help/dates.png" width="201"><br><br>
39
* Confidential issues and non-public projects highlighted.\
40
<img src="help/secure.png" width="158"><br><br>
41
* Index view ages completed items out by quarter.\
42
<img src="help/fyq.png" width="641"><br><br>
43
* Update date columns from the index without leaving.
44
45
See [TODO](TODO) for what might come next.
46
47
48
## <a id="overview"></a>Overview
49
50
The Pipa Index.
51
52
A [Greasemonkey script](gm.js) inserts [this little guy](https://www.instagram.com/pipapeep/):
53
54
![](priv/static/images/pipa_happy.png)
55
56
... onto pages of your choosing:
57
58
![](help/pipa-on-page.png)
59
60
He will take you to the Pipa Index for that page:
61
62
![](help/pipa-index.png)
63
64
Page isn't in the Index? The Pipa is angry!
65
66
![](help/angry-pipa.png)
67
68
Do not be alarmed. He will invite you to create a new entry in the Pipa Index:
69
70
![](help/calm-the-pipa.png)
71
72
The columns in the Index are defined by you.
73
74
![](help/columns.png)
75
76
All changes are saved in an event log.
77
78
![](help/events.png)
79
80
81
## <a id="getting-started"></a>Getting started
82
83
This section is TODO, but I'm including it now to record things that will be
84
useful for it.
85
86
Serving suggestion for "User matches":
87
88
```
89
https://gitlab.com/*
90
https://dev.gitlab.org/*
91
https://github.com/*
92
```
93
94
Serving suggestion for "User excludes" (so you don't get Pipa appearing in
95
iframes):
96
97
```
98
https://gitlab.com/-/sandbox/mermaid*
99
```
100
101
Serving suggestion for "User domain whitelist" (to be used with a `pipa.index`
102
entry in `/etc/hosts`):
103
104
```
105
pipa.index
106
```
107
108
109
## <a id="legal"></a>Legal
110
111
[Pipa](https://www.instagram.com/pipapeep/) is art by
112
[Rigatoni Garrido](https://www.rigatonigarrido.com/)! You can
113
[buy Pipa merchandise](https://pipapeep.shop/)! This use of the Pipa is
114
totally unauthorised! I will most likely have to change
115
[the included artwork](https://nossa.ee/~talya/pipa/tree/main/-/priv/static/images)
116
if anyone ever notices this!
117
118
119
## <a id="contact"></a>Contact
120
121
@kivikakk on Slack if you're tanuki, otherwise <ashe@kivikakk.ee>.
122