Blob


1 <!doctype html>
2 <html lang="en">
3 <head>
4 <title>Telescope</title>
5 <meta charset="utf8">
6 <meta name="viewport" content="width=device-width, initial-scale=1">
7 <style>
8 body {
9 font-family: monospace;
10 font-size: 14px;
11 max-width: 780px;
12 margin: 0 auto;
13 padding: 20px;
14 padding-bottom: 80px;
15 }
17 h1::before {
18 content: "# ";
19 }
21 h2 {
22 margin-top: 40px;
23 }
25 h2::before {
26 content: "## ";
27 }
29 h3::before {
30 content: "### ";
31 }
33 blockquote {
34 margin: 0;
35 padding: 0;
36 }
38 blockquote::before {
39 content: "> ";
40 }
42 blockquote p {
43 font-style: italic;
44 display: inline;
45 }
47 p.link::before {
48 content: "→ ";
49 }
51 hr {
52 border: 0;
53 height: 1px;
54 background-color: #222;
55 width: 100%;
56 display: block;
57 margin: 2em auto;
58 }
60 pre {
61 overflow: auto;
62 }
64 pre.banner {
65 display: flex;
66 flex-direction: row;
67 justify-content: center;
68 }
70 code, kbd {
71 color: #9d109d;
72 }
74 img {
75 display: block;
76 margin: 0 auto;
77 max-width: 100%;
78 }
80 @media (prefers-color-scheme: dark) {
81 body {
82 background-color: #222;
83 color: white;
84 }
86 img {
87 filter: brightness(0.65);
88 transition: filter 0.2s ease-in-out;
89 }
91 img:hover {
92 filter: brightness(1.0);
93 }
95 a {
96 color: aqua;
97 }
99 hr {
100 background-color: #ddd;
103 code, kbd {
104 color: #ff4cff;
108 @media (max-width: 400px) {
109 pre.banner { font-size: 9px; }
112 @media (max-width: 500px) {
113 pre.banner { font-size: 10px; }
115 </style>
116 </head>
117 <body>
118 <header>
119 <nav>
120 Home | <a href="/gallery/">Gallery</a> | <a href="telescope.1.html">Docs</a>
121 </nav>
122 </header>
123 <pre class="banner"> _______ __
124 |_ _|.-----.| |.-----.-----.----.-----.-----.-----.
125 | | | -__|| || -__|__ --| __| _ | _ | -__|
126 |___| |_____||__||_____|_____|____|_____| __|_____|
127 |__| v0.8</pre>
128 <blockquote>
129 <p>Telescope is a w3m-like browser for Gemini</p>
130 </blockquote>
131 <p>
132 Telescope is written entirely for fun, as a hobbystic project in
133 my free time. As such, it lacks a ton of features you’ll find
134 in more mature Gemini browsers, but it also has some unique
135 ones.
136 </p>
137 <p>
138 The UI is strongly inspired from Emacs and W3M, so you’ll find
139 some familiar concepts, such as the minibuffer or the tabline,
140 and the default keybindigs also reflect this, but keys familiar
141 for vi and CUA users are also present by default.
142 </p>
143 <p>
144 <a href="https://asciinema.org/a/426862" target="_blank">
145 <img src="https://asciinema.org/a/426862.svg" />
146 </a>
147 </p>
148 <h2>Install</h2>
149 <p>Some distros provide a package — thanks to the maintainers!</p>
150 <a href="https://repology.org/project/telescope/versions">
151 <img src="https://repology.org/badge/vertical-allrepos/telescope.svg" alt="Packaging status">
152 </a>
153 <p>Source code and precompiled binaries for linux are available:</p>
154 <ul>
155 <li>
156 <a href="https://github.com/omar-polo/telescope/releases/download/0.8/telescope-0.8.tar.gz">
157 telescope-0.8.tar.gz
158 </a>
159 </li>
160 <li>
161 <a href="https://git.omarpolo.com/telescope/">git repository</a>
162 </li>
163 <li>
164 <a href="https://github.com/omar-polo/telescope">GitHub mirror</a>
165 </li>
166 <li>
167 <a href="https://github.com/omar-polo/telescope/releases/download/0.8/telescope.aarch64">
168 telescope.aarch64
169 </a>
170 </li>
171 <li>
172 <a href="https://github.com/omar-polo/telescope/releases/download/0.8/telescope.amd64">
173 telescope.amd64
174 </a>
175 </li>
176 </ul>
177 <p>The dependencies are:</p>
178 <ul>
179 <li>libncurses</li>
180 <li>libevent</li>
181 <li>libtls (from either LibreSSL or libretls)</li>
182 <li>yacc (or GNU bison)</li>
183 </ul>
184 <p>Once all the dependencies are installed, building is as easy as:</p>
185 <pre>$ curl -LO https://github.com/omar-polo/telescope/releases/download/0.8/telescope-0.8.tar.gz
186 $ tar xzvf telescope-0.8.tar.gz
187 $ cd telescope-0.8
188 $ ./configure
189 $ make
190 $ sudo make install # eventually
191 </pre>
192 <p>
193 A SHA256 file containing the checksums is available. However,
194 that only checks for accidental corruption: you can use signify
195 (<code>SHA256.sig</code> and the public key <code>telescope-0.8.pub</code>).
196 The hash of the current and next signify public key is also
197 included in the SHA256.
198 </p>
199 <ul>
200 <li>
201 <a href="https://github.com/omar-polo/telescope/releases/download/0.8/SHA256">
202 SHA256
203 </a>
204 </li>
205 <li>
206 <a href="https://github.com/omar-polo/telescope/releases/download/0.8/SHA256.sig">
207 SHA256.sig
208 </a>
209 </li>
210 <li>
211 <a href="https://github.com/omar-polo/telescope/releases/download/0.8/telescope-0.7.pub">
212 telescope-0.7.pub
213 </a>
214 </li>
215 <li>
216 <a href="https://github.com/omar-polo/telescope/releases/download/0.8/telescope-0.8.pub">
217 telescope-0.8.pub
218 </a>
219 </li>
220 </ul>
221 <p>How to verify the signature with signify:</p>
222 <pre>$ signify -C -p telescope-0.8.pub -x SHA256.sig
223 Signature Verified
224 telescope-0.8-binaries.tar.gz: OK
225 telescope-0.8.tar.gz: OK
226 telescope-0.8.pub: OK
227 telescope-0.9.pub: OK
228 telescope.aarch64: OK
229 telescope.amd64: OK
230 </pre>
231 <h2>Changelog</h2>
232 <p>0.8 “Le Scarpe Volanti” — Released May 25, 2022</p>
233 <h3>New features</h3>
234 <ul>
235 <li>save and restore scroll position</li>
236 <li>new command reply-last-input; idea from a conversation with thfr@, thanks!</li>
237 <li>allow push urls to an already opened telescope session</li>
238 <li>autocompletions for load-url and load-current-url</li>
239 <li>new command write-buffer (with alias w)</li>
240 <li>new command mini-kill-whole-line for the minibuffer</li>
241 <li>split the minibuffer input into words and try to match out of order</li>
242 </ul>
243 <h3>Improvements</h3>
244 <ul>
245 <li>move aliases at the top of the completions</li>
246 <li>add alias `open' for load-url; suggested by Florian, thanks!</li>
247 <li>update emoji-data.txt to 14.0.0</li>
248 <li>persist the list of visited URLs to the disk</li>
249 <li>fix builds out-of-tree</li>
250 <li>correctly mark variables in the manpage so it's possible to jump to them</li>
251 <li>rework completions selection: the selected entry is *always* the one used. if nothing is selected, the minibuffer content is used instead.</li>
252 <li>merge the ui and fs processes</li>
253 <li>rate-limit the update of the download pane</li>
254 </ul>
255 <h3>Bug fixes</h3>
256 <ul>
257 <li>fix parsing of invalid link lines</li>
258 <li>initialize each tab' loadingev timer event</li>
259 <li>fix the build on recent version of musl</li>
260 </ul>
261 </body>
262 </html>