PageSourceSearch

https://docsy-site.netlify.app/ua/

html docsy-site.netlify.app collected 2026-10-03 10:39:36 UTC 19,825 bytes, 477 lines download raw bytes

1<!doctype html>
2<html itemscope itemtype="http://schema.org/WebPage" lang="ua" class="no-js">
3  <head>
4    <meta charset="utf-8">
5<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
6<meta name="generator" content="Hugo 0.109.0">
7<link rel="alternate" type="application/rss&#43;xml" href="/ua/index.xml">
8<meta name="robots" content="index, follow">
9
10
11<link rel="shortcut icon" href="/favicons/favicon.ico" >
12<link rel="apple-touch-icon" href="/favicons/apple-touch-icon-180x180.png" sizes="180x180">
13<link rel="icon" type="image/png" href="/favicons/favicon-16x16.png" sizes="16x16">
14<link rel="icon" type="image/png" href="/favicons/favicon-32x32.png" sizes="32x32">
15<link rel="icon" type="image/png" href="/favicons/android-36x36.png" sizes="36x36">
16<link rel="icon" type="image/png" href="/favicons/android-48x48.png" sizes="48x48">
17<link rel="icon" type="image/png" href="/favicons/android-72x72.png" sizes="72x72">
18<link rel="icon" type="image/png" href="/favicons/android-96x96.png" sizes="96x96">
19<link rel="icon" type="image/png" href="/favicons/android-144x144.png" sizes="144x144">
20<link rel="icon" type="image/png" href="/favicons/android-192x192.png" sizes="192x192">
21
22<title>Портал з документацією</title>
23<meta name="description" content="Сайт з документацією для технічних письменників">
24<meta property="og:title" content="Ресурси для техрайтерів" />
25<meta property="og:description" content="Сайт з документацією для технічних письменників" />
26<meta property="og:type" content="website" />
27<meta property="og:url" content="/ua/" /><meta property="og:image" content="/ua/featured-background.jpg"/><meta property="og:site_name" content="Портал з документацією" />
28<meta itemprop="name" content="Ресурси для техрайтерів">
29<meta itemprop="description" content="Сайт з документацією для технічних письменників"><meta name="twitter:card" content="summary_large_image"/>
30<meta name="twitter:image" content="/ua/featured-background.jpg"/>
31<meta name="twitter:title" content="Ресурси для техрайтерів"/>
32<meta name="twitter:description" content="Сайт з документацією для технічних письменників"/>
33
34
35
36
37<link rel="preload" href="/scss/main.min.e36f07b1baec82eb55d9a66a3e49ad9e9adf8354204cecd501f614
37c8c435111e.css" as="style">
38<link href="/scss/main.min.e36f07b1baec82eb55d9a66a3e49ad9e9adf8354204cecd501f614c8c435111e.css" rel="stylesheet" integrity="">
39
40<script
41  src="https://code.jquery.com/jquery-3.6.0.min.js"
42  integrity="sha384-vtXRMe3mGCbOeY7l30aIg8H9p3GdeSe4IFlP6G8JMa7o7lXvnz3GFKzPxzJdPfGK"
43  crossorigin="anonymous"></script>
43
44<link rel="stylesheet" href="/css/prism.css"/>
vendor: 64 bytes, lines 44-45
44
45<script async src="https://www.googletagmanager.com/gtag/js?id=
45G-J74LC3PW8V
vendor: 12 bytes, line 45
45"></script>
46<script>
47var doNotTrack = false;
48if (!doNotTrack) {
49	
vendor: 130 bytes, lines 49-52
49window.dataLayer = window.dataLayer || [];
50	function gtag(){dataLayer.push(arguments);}
51	gtag('js', new Date());
52	gtag('config', '
52G-J74LC3PW8V
vendor: 4 bytes, line 52
52');
53}
54</script>
54
55  </head>
56  <body class="td-home">
57    <header>
58      <nav class="js-navbar-scroll navbar navbar-expand navbar-dark td-navbar-cover flex-column flex-md-row td-navbar">
59  <a class="navbar-brand" href="/ua/"><span class="navbar-brand__logo navbar-logo"><svg id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 512 512" style="enable-background:new 0 0 512 512"><g><g><path style="fill:#b9bbc1" d="M416 0H64c-8.82.0-16 7.176-16 16v448c0 8.82 7.18 16 16 16h352c8.82.0 16-7.18 16-16V16C432 7.176 424.82.0 416 0z"/></g><g><path style="fill:#d8dce1" d="M384 32H32c-8.82.0-16 7.176-16 16v448c0 8.82 7.18 16 16 16h352c8.82.0 16-7.18 16-16V48C4e2 39.176 392.82 32 384 32z"/></g><g><g><g><path style="fill:#5c546a" d="M328 120H72c-4.422.0-8-3.582-8-8s3.578-8 8-8h256c4.422.0 8 3.582 8 8S332.422 120 328 120z"/></g></g><g><g><path style="fill:#8b8996" d="M328 216H72c-4.422.0-8-3.578-8-8s3.578-8 8-8h256c4.422.0 8 3.578 8 8S332.422 216 328 216z"/></g></g><g><g><path style="fill:#b9bbc1" d="M328 440H72c-4.422.0-8-3.578-8-8s3.578-8 8-8h256c4.422.0 8 3.578 8 8S332.422 440 328 440z"/></g></g><g><g><path style="fill:#8b8996" d="M328 312H72c-4.422.0-8-3.578-8-8s3.578-8 8-8h256c4.422.0 8 3.578 8 8S332.422 312 328 312z"/></g></g><g><g><path style="fill:#5c546a" d="M136 152H72c-4.422.0-8-3.582-8-8s3.578-8 8-8h64c4.422.0 8 3.582 8 8s-3.578 8-8 8z"/></g></g><g><g><path style="fill:#5c546a" d="M328 152H168c-4.422.0-8-3.582-8-8s3.578-8 8-8h160c4.422.0 8 3.582 8 8S332.422 152 328 152z"/></g></g><g><g><path style="fill:#8b8996" d="M264 184H72c-4.422.0-8-3.578-8-8s3.578-8 8-8h192c4.422.0 8 3.578 8 8S268.422 184 264 184z"/></g></g><g><g><path style="fill:#8b8996" d="M328 184h-32c-4.422.0-8-3.578-8-8s3.578-8 8-8h32c4.422.0 8 3.578 8 8S332.422 184 328 184z"/></g></g><g><g><path style="fill:#b9bbc1" d="M328 408H72c-4.422.0-8-3.578-8-8s3.578-8 8-8h256c4.422.0 8 3.578 8 8S332.422 408 328 408z"/></g></g><g><g><path style="fill:#8b8996" d="M136 344H72c-4.422.0-8-3.578-8-8s3.578-8 8-8h64c4.422.0 8 3.578 8 8s-3.578 8-8 8z"/></g></g><g><g><path style="fill:#b9bbc1" d="M328 344H168c-4.422.0-8-3.578-8-8s3.578-8 8-8h160c4.422.0 8 3.578 8 8S332.422 344 328 344z"/></g></g><g><g><path style="fill:#b9bbc1" d="M264 376H72c-4.422.0-8-3.578-8-8s3.578-8 8-8h192c4.422.0 8 3.578 8 8S268.422 376 264 376z"/></g></g><g><g><path style="fill:#b9bbc1" d="M328 376h-32c-4.422.0-8-3.578-8-8s3.578-8 8-8h32c4.422.0 8 3.578 8 8S332.422 376 328 376z"/></g></g><g><g><path style="fill:#8b8996" d="M176 248H72c-4.422.0-8-3.578-8-8s3.578-8 8-8h104c4.422.0 8 3.578 8 8s-3.578 8-8 8z"/></g></g><g><g><path style="fill:#8b8996" d="M328 248H208c-4.422.0-8-3.578-8-8s3.578-8 8-8h120c4.422.0 8 3.578 8 8S332.422 248 328 248z"/></g></g><g><g><path style="fill:#8b8996" d="M240 280H72c-4.422.0-8-3.578-8-8s3.578-8 8-8h168c4.422.0 8 3.578 8 8s-3.578 8-8 8z"/></g></g><g><g><path style="fill:#8b8996" d="M328 280h-56c-4.422.0-8-3.578-8-8s3.578-8 8-8h56c4.422.0 8 3.578 8 8S332.422 280 328 280z"/></g></g></g><g><g><path style="fill:#8b8996" d="M448 448l16.337 54.458c2.28 7.602 13.045 7.602 15.325.0L496 448H448z"/></g><g><circle style="fill:#8b8996" cx="472" cy="176" r="24"/></g><g><rect x="448" y="176" style="fill:#ffd200" width="48" height="272"/></g><g><rect x="448" y="176" style="fill:#ff9600" width="24" height="272"/></g><g><path style="fill:#5c546a" d="M457.6 480l6.737 22.458c2.28 7.602 13.045 7.602 15.325.0L486.4 480H457.6z"/></g></g></g><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/></svg></span><span class="navbar-brand__name">Портал з документацією</span></a>
60  <div class="td-navbar-nav-scroll ml-md-auto" id="main_navbar">
61    <ul class="navbar-nav mt-2 mt-lg-0">
62      <li class="nav-item mr-4 mb-2 mb-lg-0">
63        <a class="nav-link" href="/ua/docs/"><span>Документація</span></a>
64      </li>
65      <li class="nav-item dropdown mr-4 d-none d-lg-block">
66        
67
68<a class="nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
69	Українська
70</a>
71<div class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink">
72	
73	<a class="dropdown-item" href="/">English</a>
74	
75</div></li>
76      </ul>
77  </div>
78  <div class="navbar-nav d-none d-lg-block">
79    <div class="td-search">
80  <div class="td-search__icon"></div>
81  <input type="search" class="td-search__input form-control td-search-input" placeholder="Пошук по сайту…" aria-label="Пошук по сайту…" autocomplete="off">
82</div>
83
84  </div>
85</nav>
86    </header>
87    <div class="container-fluid td-default td-outer">
88      <main role="main" class="td-main">
89        
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105<link rel="preload" as="image" href="/ua/featured-background_hua525ed89b2e0f74db6b4162c6aa21c3c_542290_960x540_fill_q75_catmullrom_top.jpg" media="(max-width: 1200px)">
106<link rel="preload" as="image" href="/ua/featured-background_hua525ed89b2e0f74db6b4162c6aa21c3c_542290_1920x1080_fill_q75_catmullrom_top.jpg" media="(min-width: 1200px)">
107<style>
108#td-cover-block-0 {
109    background-image: url(/ua/featured-background_hua525ed89b2e0f74db6b4162c6aa21c3c_542290_960x540_fill_q75_catmullrom_top.jpg); 
110}
111@media only screen and (min-width: 1200px) {
112    #td-cover-block-0 {
113        background-image: url(/ua/featured-background_hua525ed89b2e0f74db6b4162c6aa21c3c_542290_1920x1080_fill_q75_catmullrom_top.jpg); 
114    }
115}
116</style>
117
118<section id="td-cover-block-0" class="row td-cover-block td-cover-block--height-full js-td-cover td-overlay td-overlay--dark -bg-gray">
119  <div class="container td-overlay__inner">
120    <div class="row">
121      <div class="col-12">
122        <div class="text-center">
123          <h1 class="display-1 mt-0 mt-md-5 pb-4">
123Ресурси для техрайтерів</h1>
124          
125          <div class="pt-3 lead">
126            
127                
128<div class="mx-auto">
129	<a class="btn btn-lg btn-secondary mr-3 mb-4" href="/ua/docs/">
130		Почніть тут <i class="fas fa-user-edit"></i>
131	</a>
132	<p class="lead mt-5">Тема Hugo для створення сайтів з документацією</p>
133	
134	
135	
136	<a class="btn btn-link text-info" href="#td-block-1" aria-label="Докладніше"><i class="fa-solid fa-circle-chevron-down" style="font-size: 400%"></i></a>
137
138</div>
139
140            
141          </div>
142        </div>
143      </div>
144    </div>
145  </div>
146  
147</section>
148
149
150
151
152
153
154
155<a id="td-block-1" class="td-offset-anchor"></a>
156<section class="row td-box td-box--primary position-relative td-box--gradient td-box--height-auto">
157	<div class="container text-center td-arrow-down">
158		<div class="h4 mb-0">
159			
160				<p>Тема Docsy для генератора статичних сайтів Hugo спеціально створена для технічної доÐ
160ºÑƒÐ¼ÐµÐ½Ñ‚ації.</p>
161
162			
163		</div>
164	</div>
165</section>
166
167
168
169
170
171 
172<a id="td-block-2" class="td-offset-anchor"></a>
173<section class="row td-box td-box--dark td-box--gradient td-box--height-auto">
174	<div class="col">
175		<div class="row features">
176			
177				
178<div class="col-lg-4 mb-5 mb-lg-0 text-center">
179<div class="mb-4 h1">
180  <i class="fas fa-lightbulb"></i>
181</div>
182<h4 class="h3">Приклади сайтів з темою Docsy</h4>
183<div class="mb-0">
184<p>Як і власне цей сайт, існує кілька проектів з документацією, що використовують тему Docsy.</p>
185
186</div>
187<p><a href="https://www.docsy.dev/docs/examples/">Докладніше …</a></p>
188</div>
189
190
191
192<div class="col-lg-4 mb-5 mb-lg-0 text-center">
193<div class="mb-4 h1">
194  <i class="fab fa-github"></i>
195</div>
196<h4 class="h3">Долучайтеся до розробки цього сайта!</h4>
197<div class="mb-0">
198<p>Створіть <a href="https://github.com/ivancheban/docsy-site/pulls">Pull Request</a> на <strong>GitHub</strong>, щоб додати свої зміни. Кожен може зробити свій внесок у розвиток цієї теми.</p>
199
200</div>
201<p><a href="https://github.com/ivancheban/docsy-site">Докладніше …</a></p>
202</div>
203
204
205
206<div class="col-lg-4 mb-5 mb-lg-0 text-center">
207<div class="mb-4 h1">
208  <i class="fab fa-telegram"></i>
209</div>
210<h4 class="h3">Долучайтеся до спільноти техрайтерів</h4>
211<div class="mb-0">
212<p>Долучайтеся до спільноти техрайтерів України в Телеграм. Там ми обговорюємо все, що пов’язане з цією професією.</p>
213
214</div>
215<p><a href="https://t.me/+VpNHhFrInNOeWkDD">Докладніше …</a></p>
216</div>
217
218
219
220
221			
222		</div>
223	</div>
224</section>
225
226
227<div id="chatbot-toggle">Запитай чат-бота</div>
228<div id="chatbot" style="display: none;">
229  <div id="chatbot-header">
230    <span>Чат-бот</span>
231    <button id="chatbot-close">×</button>
232  </div>
233  <div id="chat-messages"></div>
234  <div id="chat-input-area">
235    <input type="text" id="user-input" placeholder="Напишіть питання...">
236    <button id="ask-button">Надіслати</button>
237  </div>
238</div>
239
240<style>
241#chatbot-toggle {
242  position: fixed;
243  bottom: 20px;
244  right: 20px;
245  background-color: #007bff;
246  color: white;
247  padding: 10px 20px;
248  border-radius: 5px;
249  cursor: pointer;
250  z-index: 1000;
251}
252
253#chatbot {
254  position: fixed;
255  bottom: 70px;
256  right: 20px;
257  width: 300px;
258  border: 1px solid #ccc;
259  border-radius: 5px;
260  background-color: white;
261  box-shadow: 0 0 10px rgba(0,0,0,0.1);
262  z-index: 1000;
263  display: flex;
264  flex-direction: column;
265}
266
267#chatbot-header {
268  background-color: #007bff;
269  color: white;
270  padding: 10px;
271  display: flex;
272  justify-content: space-between;
273  align-items: center;
274}
275
276#chatbot-close {
277  background: none;
278  border: none;
279  color: white;
280  font-size: 20px;
281  cursor: pointer;
282}
283
284#chat-messages {
285  height: 200px;
286  overflow-y: auto;
287  padding: 10px;
288  border-bottom: 1px solid #eee;
289}
290
291#chat-input-area {
292  display: flex;
293  flex-direction: column;
294  padding: 10px;
295}
296
297#user-input {
298  width: 100%;
299  padding: 10px;
300  border: 1px solid #ccc;
301  border-radius: 3px;
302  margin-bottom: 10px;
303}
304
305#ask-button {
306  align-self: center;
307  padding: 10px 20px;
308  background-color: #007bff;
309  color: white;
310  border: none;
311  border-radius: 3px;
312  cursor: pointer;
313  white-space: nowrap;
314}
315</style>
316
317<script>
318document.addEventListener('DOMContentLoaded', function() {
319  const chatbot = document.getElementById('chatbot');
320  const chatbotToggle = document.getElementById('chatbot-toggle');
321  const chatbotClose = document.getElementById('chatbot-close');
322  const chatMessages = document.getElementById('chat-messages');
323  const userInput = document.getElementById('user-input');
324  const askButton = document.getElementById('ask-button');
325  let articles = [];
326
327  // Toggle chatbot visibility
328  chatbotToggle.addEventListener('click', function() {
329    chatbot.style.display = chatbot.style.display === 'none' ? 'flex' : 'none';
330  });
331
332  chatbotClose.addEventListener('click', function() {
333    chatbot.style.display = 'none';
334  });
335
336  // Load the articles when the page loads
337  fetch('/content-ua.json')
338    .then(response => response.json())
339    .then(data => {
340      articles = data;
341      console.log('Статті завантажено:', articles.length);
342    })
343    .catch(error => console.error('Помилка завантаження вмісту:', error));
344
345  function askQuestion() {
346    console.log('askQuestion викликано');
347    const question = userInput.value.toLowerCase();
348    userInput.value = '';
349
350    chatMessages.innerHTML += `<p><strong>Ви:</strong> ${question}</p>`;
351
352    // Search for relevant articles
353    const relevantArticles = articles.filter(article => 
354      article.content.toLowerCase().includes(question) ||
355      article.title.toLowerCase().includes(question)
356    );
357
358    if (relevantArticles.length > 0) {
359      let response = "Я знайшов ці відповідні статті:<br>";
360      relevantArticles.forEach(article => {
361        response += `- <a href="${article.url}">${article.title}</a><br>`;
362      });
363      chatMessages.innerHTML += `<p><strong>Бот:</strong> ${response}</p>`;
364    } else {
365      chatMessages.innerHTML += `<p><strong>Бот:</strong> Вибачте, я не зміг знайти жодної статті, пов'язаної з вашим запитанням.</p>`;
366    }
367
368    // Scroll to the bottom of the chat messages
369    chatMessages.scrollTop = chatMessages.scrollHeight;
370  }
371
372  // Add click event listener to the button
373  askButton.addEventListener('click', askQuestion);
374
375  // Add keypress event listener to the input field
376  userInput.addEventListener('keypress', function(e) {
377    if (e.key === 'Enter') {
378      askQuestion();
379    }
380  });
381});
382</script>
382
383
384
385      </main>
386      
387<footer class="bg-dark py-5 row d-print-none">
388  <div class="container-fluid mx-sm-5">
389    <div class="row">
390      <div class="col-6 col-sm-4 text-xs-center order-sm-2">
391        
392        
393        
394<ul class="list-inline mb-0">
395  
396  <li class="list-inline-item mx-2 h3" data-toggle="tooltip" data-placement="top" title="Send email" aria-label="Send email">
397    <a class="text-white" target="_blank" rel="noopener" href="mailto:[email protected]" aria-label="Send email">
398      <i class="fa fa-envelope"></i>
399    </a>
400  </li>
401  
402  <li class="list-inline-item mx-2 h3" data-toggle="tooltip" data-placement="top" title="LinkedIn" aria-label="LinkedIn">
403    <a class="text-white" target="_blank" rel="noopener" href="https://linkedin.com/in/ivan-cheban-a24b576" aria-label="LinkedIn">
404      <i class="fab fa-linkedin-in"></i>
405    </a>
406  </li>
407  
408  <li class="list-inline-item mx-2 h3" data-toggle="tooltip" data-placement="top" title="Telegram" aria-label="Telegram">
409    <a class="text-white" target="_blank" rel="noopener" href="http://t.me/ivan_cheban" aria-label="Telegram">
410      <i class="fab fa-telegram"></i>
411    </a>
412  </li>
413  
414  <li class="list-inline-item mx-2 h3" data-toggle="tooltip" data-placement="top" title="Audiophile&#39;s Software" aria-label="Audiophile&#39;s Software">
415    <a class="text-white" target="_blank" rel="noopener" href="https://audiophilesoft.com" aria-label="Audiophile&#39;s Software">
416      <i class="fas fa-music"></i>
417    </a>
418  </li>
419  
420</ul>
421
422        
423        
424      </div>
425      <div class="col-6 col-sm-4 text-right text-xs-center order-sm-3">
426        
427        
428        
429<ul class="list-inline mb-0">
430  
431  <li class="list-inline-item mx-2 h3" data-toggle="tooltip" data-placement="top" title="GitHub" aria-label="GitHub">
432    <a class="text-white" target="_blank" rel="noopener" href="https://github.com/ivancheban/docsy-site" aria-label="GitHub">
433      <i class="fab fa-github"></i>
434    </a>
435  </li>
436  
437</ul>
438
439        
440        
441      </div>
442      <div class="col-12 col-sm-4 text-center py-2 order-sm-2">
443        <small class="text-white">&copy; 2025 Ivan Cheban — Усі права застережено</small>
444        
445	
446      </div>
447    </div>
448  </div>
449</footer>
450
451
452    </div>
453    
454        
455    
456  
456<script src='/js/deflate.js'></script>
456
457<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/katex.min.css"
458      integrity="sha512-6VMVcy7XQNyarhVuiL50FzpgCFKsyTd6YO93aaQEyET+BNaWvj0IgKR86Bf6+AmWczxAcSnL+JGjo+iStgO1gQ==" crossorigin="anonymous">
459  
459<script defer src="https://cdn.jsdelivr.net/npm/[email protected]/dist/katex.min.js"
460        integrity="sha512-b9IKj4LCNrtCPBhceRcoYOHWW/S2q9fpl7iAJlyxYpykRj1SKM7FE9+E0NEnJ8g8ni47LBr2GuX9qzg/xeuwzQ=="
461        crossorigin="anonymous">
462</script>
462
463  
463<script defer src="https://cdn.jsdelivr.net/npm/[email protected]/dist/contrib/mhchem.min.js"
464        integrity="sha512-V1hl0fnOXW6Cdqe5ZVqtw8TBpJVpu3XRDRQti96j/04+tMarPrCdXEUE3UdfvfKYTpOn9DV4zEZBVr0HhDiuiQ=="
465        crossorigin="anonymous">
466</script>
466
467  
467<script defer src="https://cdn.jsdelivr.net/npm/[email protected]/dist/contrib/auto-render.min.js"
468       integrity="sha512-iWiuBS5nt6r60fCz26Nd0Zqe0nbk1ZTIQbl3Kv7kYsX+yKMUFHzjaH2+AnM6vp2Xs+gNmaBAVWJjSmuPw76Efg==" crossorigin="anonymous"
469       onload='renderMathInElement(document.body, null);'>
470</script>
vendor: 1 bytes, line 470
470
471<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/mermaid.min.js" integrity="sha512-IX+bU+wShHqfqaMHLMrtwi4nK6W/Z+QdZoL4kPNtRxI2wCLyHPMAdl3a43Fv1Foqv4AP+aiW6hg1dcrTt3xc+Q==" crossorigin="anonymous"></script>
vendor: 1 bytes, line 471
471
472<script src="/js/main.min.5874e077850c16f6bf203383eee081c827e41698737781e6e9ace13a2e2df117.js" integrity="sha256-WHTgd4UMFva/IDOD7uCByCfkFphzd4Hm6azhOi4t8Rc=" crossorigin="anonymous"></script>
vendor: 1 bytes, line 472
472
473<script src='/js/prism.js'></script>
vendor: 1 bytes, line 473
473
474<script src='/js/tabpane-persist.js'></script>
474
475
476  </body>
477</html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.