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