website diff ru/devel/forge.php @ rev 1279
Small russification: index.php, mailing-list.php, search.php, support.php; CSS: make dl-buttons not overlapped
author | Aleksej Bobylev <al.bobylev@gmail.com> |
---|---|
date | Mon Aug 31 01:32:12 2015 +0300 (2015-08-31) |
parents | 3dbcace639e6 |
children | d9b6af00fb5b |
line diff
1.1 --- a/ru/devel/forge.php Mon Aug 24 16:15:38 2015 +0200 1.2 +++ b/ru/devel/forge.php Mon Aug 31 01:32:12 2015 +0300 1.3 @@ -17,85 +17,113 @@ 1.4 ?> 1.5 1.6 <!-- Content --> 1.7 -<div id="content"> 1.8 +<section id="content"> 1.9 1.10 -<h2>Совместное управление</h2> 1.11 +<h2> 1.12 +Совместное управление 1.13 +</h2> 1.14 1.15 <ul> 1.16 - <li><a href="#kiss">KISS и соответствие стандартам</a></li> 1.17 - <li><a href="#tank">Сборочный хост и дом</a></li> 1.18 - <li><a href="#repos">Репозитории Mercurial</a></li> 1.19 - <li><a href="#gui">GUI в GTK и CGI/web</a></li> 1.20 - <li><a href="#iconv">Реализация iconv()</a></li> 1.21 - <li><a href="#pkgs">Сборка пакетов SliTaz</a></li> 1.22 - <li><a href="#website">Управление сайтом</a></li> 1.23 +<li> 1.24 +<a href="#kiss">KISS и соответствие стандартам</a> 1.25 +</li> 1.26 +<li> 1.27 +<a href="#tank">Сборочный хост и дом</a> 1.28 +</li> 1.29 +<li> 1.30 +<a href="#repos">Репозитории Mercurial</a> 1.31 +</li> 1.32 +<li> 1.33 +<a href="#gui">GUI в GTK и CGI/web</a> 1.34 +</li> 1.35 +<li> 1.36 +<a href="#iconv">Реализация iconv()</a> 1.37 +</li> 1.38 +<li> 1.39 +<a href="#pkgs">Сборка пакетов SliTaz</a> 1.40 +</li> 1.41 +<li> 1.42 +<a href="#website">Управление сайтом</a> 1.43 +</li> 1.44 </ul> 1.45 1.46 1.47 -<h2 id="kiss">KISS и соответствие стандартам</h2> 1.48 +<h2 id="kiss"> 1.49 +KISS и соответствие стандартам 1.50 +</h2> 1.51 1.52 -<p>Что означает <a target="_blank" 1.53 - href="http://ru.wikipedia.org/wiki/KISS_%28%D0%BF%D1%80%D0%B8%D0%BD%D1%86%D0%B8%D0%BF%29">KISS</a>? 1.54 - Будьте проще: следуйте лучшим стандартам, тщательно планируйте и пишите 1.55 - качественную документацию, делайте систему стабильной и надежной, сохраняйте 1.56 - <em>rootfs</em> на LiveCD настолько лёгким, чтобы дистрибутив мог 1.57 - запускаться на компьютерах со 128 МБ оперативки. В дистрибутиве возможно 1.58 - использование GTK+2, Dialog, SHell-скриптов и средств разработки PHP. Идея 1.59 - заключается в том, чтобы не дублировать существующее, и думать о малом…</p> 1.60 +<p> 1.61 +Что означает <a target="_blank" href="http://ru.wikipedia.org/wiki/KISS_%28%D0%BF%D1%80%D0%B8%D0%BD%D1%86%D0%B8%D0%BF%29">KISS</a>? 1.62 +Будьте проще: следуйте лучшим стандартам, тщательно планируйте и пишите качественную документацию, делайте систему стабильной и надежной, сохраняйте <em>rootfs</em> на LiveCD настолько лёгким, чтобы дистрибутив мог запускаться на компьютерах со 128 МБ оперативки. 1.63 +В дистрибутиве возможно использование GTK+2, Dialog, SHell-скриптов и средств разработки PHP. 1.64 +Идея заключается в том, чтобы не дублировать существующее, и думать о малом… 1.65 +</p> 1.66 1.67 1.68 -<h2 id="tank">Tank — сборочный хост и дом</h2> 1.69 +<h2 id="tank"> 1.70 +Tank — сборочный хост и домашние папки 1.71 +</h2> 1.72 1.73 -<p>Участники проекта могут получить аккаунт на сервере Tank с безопасным 1.74 - доступом, дисковым пространством, общим каталогом и всеми средствами 1.75 - разработки. Разработчики могут компилировать пакеты, а мэйнтейнеры зеркала 1.76 - могут осуществлять синхронизацию. На сервере Tank также находятся домены 1.77 - веб-загрузки, сборочного бота и SliTaz Pro: 1.78 - <a href="http://tank.slitaz.org/">tank.slitaz.org</a>.</p> 1.79 -<p>Инструкции по использованию сборочного хоста описаны в Cookbook: 1.80 - <a href="http://doc.slitaz.org/en:cookbook:buildhost">SliTaz Build Host 1.81 - (Tank)</a>.</p> 1.82 +<p> 1.83 +Участники проекта могут получить аккаунт на сервере Tank с безопасным доступом, дисковым пространством, общим каталогом и всеми средствами разработки. 1.84 +Разработчики могут компилировать пакеты, а мэйнтейнеры зеркала могут осуществлять синхронизацию. 1.85 +На сервере Tank также находятся домены веб-загрузки, сборочного бота и SliTaz Pro: <a href="http://tank.slitaz.org/">tank.slitaz.org</a>. 1.86 +</p> 1.87 +<p> 1.88 +Инструкции по использованию сборочного хоста описаны в Cookbook: <a href="http://doc.slitaz.org/en:cookbook:buildhost">SliTaz Build Host (Tank)</a>. 1.89 +</p> 1.90 1.91 1.92 -<h2 id="repos">Репозитории Mercurial</h2> 1.93 +<h2 id="repos"> 1.94 +Репозитории Mercurial 1.95 +</h2> 1.96 1.97 -<p>Репозитории SliTaz Mercurial (Hg) можно просматривать и клонировать без 1.98 - ограничений, используя адрес 1.99 - <a href="http://hg.slitaz.org/">http://hg.slitaz.org/</a>. Те, у кого есть 1.100 - доступ на запись, могут напрямую использовать адрес 1.101 - <tt>repos.slitaz.org</tt>, требующий аутентификации. Mercurial работает на 1.102 - Python; его можно установить командой 1.103 - <code>tazpkg get-install mercurial</code></p> 1.104 +<p> 1.105 +Репозитории SliTaz Mercurial (Hg) можно просматривать и клонировать без ограничений, используя адрес <a href="http://hg.slitaz.org/">http://hg.slitaz.org/</a>. 1.106 +Те, у кого есть доступ на запись, могут напрямую использовать адрес <tt>repos.slitaz.org</tt>, требующий аутентификации. 1.107 +Mercurial работает на Python; его можно установить командой <code>tazpkg get-install mercurial</code> 1.108 +</p> 1.109 1.110 1.111 <h3>~/.hgrc</h3> 1.112 1.113 -<p>Перед тем, как отправить ваш первый коммит на сервер, внесите в файл 1.114 - конфигурации Hg ваше имя, фамилию и адрес электронной почты. Запомните, Hg 1.115 - не будет работать, если вы root. Пример персонального файла ~/.hgrc:</p> 1.116 +<p> 1.117 +Перед тем, как отправить ваш первый коммит на сервер, внесите в файл конфигурации Hg ваше имя, фамилию и адрес электронной почты. 1.118 +Запомните, Hg не будет работать, если вы root. 1.119 +Пример персонального файла ~/.hgrc: 1.120 +</p> 1.121 1.122 <pre class="script"> 1.123 [ui] 1.124 -username = Ivan Ivanov <ivanov@mail.org> 1.125 +username = Ivan Ivanov <ivanov@example.com> 1.126 </pre> 1.127 1.128 1.129 -<h4>Клонировать → изменить → зафиксировать изменения → отправить</h4> 1.130 +<h4> 1.131 +Клонировать → изменить → зафиксировать изменения → отправить 1.132 +</h4> 1.133 1.134 -<p>Клонировать репозиторий, к примеру, wok:</p> 1.135 +<p> 1.136 +Клонировать репозиторий, к примеру, wok: 1.137 +</p> 1.138 1.139 -<pre>$ hg clone http://repos.slitaz.org/wok</pre> 1.140 +<pre> 1.141 +$ hg clone http://repos.slitaz.org/wok 1.142 +</pre> 1.143 1.144 -<p>Перейдите в папку wok; вы должны находиться в репозитории, чтобы иметь 1.145 - возможность использовать команды 'hg'. Чтобы проверить все журналы, или 1.146 - просто последний журнал:</p> 1.147 +<p> 1.148 +Перейдите в папку wok; вы должны находиться в репозитории, чтобы иметь возможность использовать команды 'hg'. 1.149 +Чтобы проверить все журналы, или просто последний журнал: 1.150 +</p> 1.151 1.152 <pre> 1.153 $ hg log 1.154 $ hg head 1.155 </pre> 1.156 1.157 -<p>Добавьте или измените один или несколько файлов и зафиксируйте коммит:</p> 1.158 +<p> 1.159 +Добавьте или измените один или несколько файлов и зафиксируйте коммит: 1.160 +</p> 1.161 1.162 <pre> 1.163 $ hg add 1.164 @@ -104,74 +132,88 @@ 1.165 $ hg log 1.166 </pre> 1.167 1.168 -<p>Обратите внимание, что вы можете использовать команду <code>rollback</code> 1.169 - для отмены последней операции. Перед отправкой изменений на сервер 1.170 - (<em>push</em> — «протолкнуть» изменения на сервер) возьмите за правило 1.171 - принимать текущие изменения с сервера (при их наличии):</p> 1.172 +<p> 1.173 +Обратите внимание, что вы можете использовать команду <code>rollback</code> для отмены последней операции. 1.174 +Перед отправкой изменений на сервер (<em>push</em> — «протолкнуть» изменения на сервер) возьмите за правило принимать текущие изменения с сервера (при их наличии): 1.175 +</p> 1.176 1.177 <pre> 1.178 $ hg pull 1.179 $ hg push 1.180 </pre> 1.181 1.182 -<p>Готово, теперь ваши изменения, код или исправления находятся на сервере.</p> 1.183 +<p> 1.184 +Готово, теперь ваши изменения, код или исправления находятся на сервере. 1.185 +</p> 1.186 1.187 1.188 -<h4>Обновление локального wok</h4> 1.189 +<h4> 1.190 +Обновление локального wok 1.191 +</h4> 1.192 1.193 -<p>Для того, чтобы обновить ваш wok скомандуйте (<em>pull</em> — «втянуть» 1.194 - изменения с сервера):</p> 1.195 +<p> 1.196 +Для того, чтобы обновить ваш wok скомандуйте (<em>pull</em> — «втянуть» изменения с сервера): 1.197 +</p> 1.198 1.199 -<pre>$ hg pull -u</pre> 1.200 +<pre> 1.201 +$ hg pull -u 1.202 +</pre> 1.203 1.204 1.205 -<h4>Полезные команды</h4> 1.206 +<h4> 1.207 +Полезные команды 1.208 +</h4> 1.209 1.210 -<p>Могут быть использованы следующие команды Hg:</p> 1.211 +<p> 1.212 +Могут быть использованы следующие команды Hg: 1.213 +</p> 1.214 1.215 <ul> 1.216 - <li><code>hg help</code> — показать полный список команд.</li> 1.217 - <li><code>hg rollback</code> — отменить последнее действие (commit, pull, 1.218 - push).</li> 1.219 - <li><code>hg log пакет</code> — показать журнал для пакета.</li> 1.220 - <li><code>hg head</code> — показать последний журнал.</li> 1.221 +<li> 1.222 +<code>hg help</code> — показать полный список команд. 1.223 +</li> 1.224 +<li> 1.225 +<code>hg rollback</code> — отменить последнее действие (commit, pull, push). 1.226 +</li> 1.227 +<li> 1.228 +<code>hg log пакет</code> — показать журнал для пакета. 1.229 +</li> 1.230 +<li> 1.231 +<code>hg head</code> — показать последний журнал. 1.232 +</li> 1.233 </ul> 1.234 1.235 -<p>В сети можно найти немало статей и учебников по Hg на русском языке. Мне, 1.236 - например, понравился цикл переводных статей Джоэля Спольски: <a 1.237 - href="http://habrahabr.ru/post/108658/" target="_blank">Hg Init: Часть 2. 1.238 - Основы Mercurial</a>. Самое основное, действительно, можно рассказать за 1.239 - минуту, но иногда могут возникнуть ситуации, когда вам понадобится помощь. 1.240 - Прочитайте и обязательно закрепите полученные данные на практике, прежде 1.241 - чем работать с репозитариями SliTaz.</p> 1.242 +<p> 1.243 +В сети можно найти немало статей и учебников по Hg на русском языке. 1.244 +Мне, например, понравился цикл переводных статей Джоэля Спольски: <a href="http://habrahabr.ru/post/108658/" target="_blank">Hg Init: Часть 2. Основы Mercurial</a>. 1.245 +Самое основное, действительно, можно рассказать за минуту, но иногда могут возникнуть ситуации, когда вам понадобится помощь. 1.246 +Прочитайте и обязательно закрепите полученные данные на практике, прежде чем работать с репозитариями SliTaz. 1.247 +</p> 1.248 1.249 1.250 -<h2 id="gui">GUI — на C/GTK, Yad, Vala/Genie и CGI/web</h2> 1.251 +<h2 id="gui"> 1.252 +GUI — на C/GTK, Yad, Vala/Genie и CGI/web 1.253 +</h2> 1.254 1.255 -<p>Существует много способов создания пользовательского интерфейса в мире 1.256 - открытого исходного кода. С самого начала проекта и до 3.0 мы, в основном, 1.257 - использовали утилиту под названием GtkDialog. Она позволяет нам создавать 1.258 - очень красивый и сложный интерфейс в GTK с помощью скриптового языка, 1.259 - который можно просто запустить без необходимости компиляции. Но, GtkDialog 1.260 - перестал развиваться, в нём не хватает многих новых возможностей GTK. 1.261 - Поэтому мы перешли на Yad для простых графических диалогов. А все диалоги 1.262 - администрирования, пакетного менеджера и утилит настройки используют 1.263 - TazPanel, веб-интерфейс которой написан на xHTML 5 и CSS 3.</p> 1.264 -<p>Yad очень прост, он не позволяет создавать сложные интерфейсы, даже если нам 1.265 - нужны только 2 или 3 пункта с метками и несколько кнопок, поэтому придётся 1.266 - искать другое решение. Преимущество скриптового языка в том, что его 1.267 - не нужно компилировть, диалоги можно писать в режиме реального времени 1.268 - (но он производит медленные приложения). Написание утилит на C сложно и 1.269 - доступно не каждому, в то время как SHell-скрипты проще для понимания. 1.270 - Поэтому сейчас наш руководящий принцип — сохранить и продолжать 1.271 - совершенствовать наши утилиты командной строки, а также обеспечить их 1.272 - графическим интерфейсом на GTK или CGI/web.</p> 1.273 -<p>Многие новые языки, такие как Genie, Vala и GTKaml, используют GTK. Но, 1.274 - имейте в виду, что они не так популярны, как C и GTK, и не факт, что их 1.275 - проще освоить и использовать (для выполнения действий в простых приложениях 1.276 - можно использовать скрипты оболочки). Вы можете использовать Vala, но, 1.277 - посмотрите на чистый код GTK, создающий одно окно, для этого нужно всего 1.278 - 14 строк:</p> 1.279 +<p> 1.280 +Существует много способов создания пользовательского интерфейса в мире открытого исходного кода. 1.281 +С самого начала проекта и до 3.0 мы, в основном, использовали утилиту под названием GtkDialog. 1.282 +Она позволяет нам создавать очень красивый и сложный интерфейс в GTK с помощью скриптового языка, который можно просто запустить без необходимости компиляции. 1.283 +Но GtkDialog перестал развиваться, в нём не хватает многих новых возможностей GTK. 1.284 +Поэтому мы перешли на Yad для простых графических диалогов. 1.285 +А все диалоги администрирования, пакетного менеджера и утилит настройки используют TazPanel, веб-интерфейс которой написан на xHTML 5 и CSS 3. 1.286 +</p> 1.287 +<p> 1.288 +Yad очень прост, он не позволяет создавать сложные интерфейсы, даже если нам нужны только 2 или 3 пункта с метками и несколько кнопок, поэтому придётся искать другое решение. 1.289 +Преимущество скриптового языка в том, что его не нужно компилировть, диалоги можно писать в режиме реального времени (но он производит медленные приложения). 1.290 +Написание утилит на C сложно и доступно не каждому, в то время как скрипты оболочки проще для понимания. 1.291 +Поэтому сейчас наш руководящий принцип — сохранить и продолжать совершенствовать наши утилиты командной строки, а также обеспечить их графическим интерфейсом на GTK или CGI/веб. 1.292 +</p> 1.293 +<p> 1.294 +Многие новые языки, такие как Genie, Vala и GTKaml, используют GTK. 1.295 +Но имейте в виду, что они не так популярны, как C и GTK, и не факт, что их проще освоить и использовать (для выполнения действий в простых приложениях можно использовать скрипты оболочки). 1.296 +Вы можете использовать Vala, но посмотрите на чистый код GTK, создающий одно окно, для этого нужно всего 14 строк: 1.297 +</p> 1.298 1.299 <pre> 1.300 #include <gtk/gtk.h> 1.301 @@ -191,101 +233,110 @@ 1.302 } 1.303 </pre> 1.304 1.305 -<p>Если вы не уверены в том, какой язык использовать, обсудите его в рассылке. 1.306 - Если вам нужен только небольшой функционал GUI, посмотрите на tazbox 1.307 - в репозитории slitaz-tools, в нём есть крошечные утилиты для рабочего 1.308 - стола, такие как окно выхода из системы. Первый подпроект SliTaz, 1.309 - написанный на чистом GTK, — это TazWeb. Вы можете разобраться с ним, чтобы 1.310 - узнать способы использования system() для добавления системных команд 1.311 - в интерфейс. Например, TazWeb использует Wget для загрузки и Sed для 1.312 - добавления закладок.</p> 1.313 -<p>Скрипты Yad должны следовать руководящим принципам TazYad: <a 1.314 - href="http://hg.slitaz.org/slitaz-dev-tools/raw-file/tip/tazyad/README">README</a> 1.315 - и <a 1.316 - href="http://hg.slitaz.org/slitaz-dev-tools/raw-file/tip/tazyad/tazyad">пример кода</a>.</p> 1.317 +<p> 1.318 +Если вы не уверены в том, какой язык использовать, обсудите его в рассылке. 1.319 +Если вам нужен только небольшой функционал GUI, посмотрите на tazbox в репозитории slitaz-tools, в нём есть крошечные утилиты для рабочего стола, такие как окно выхода из системы. 1.320 +Первый подпроект SliTaz, написанный на чистом GTK, — это TazWeb. 1.321 +Вы можете разобраться с ним, чтобы узнать способы использования system() для добавления системных команд в интерфейс. 1.322 +Например, TazWeb использует Wget для загрузки и Sed для добавления закладок. 1.323 +</p> 1.324 +<p> 1.325 +Скрипты Yad должны следовать руководящим принципам TazYad: 1.326 +<a href="http://hg.slitaz.org/slitaz-dev-tools/raw-file/tip/tazyad/README">README</a> 1.327 +и 1.328 +<a href="http://hg.slitaz.org/slitaz-dev-tools/raw-file/tip/tazyad/tazyad">пример кода</a>. 1.329 +</p> 1.330 1.331 1.332 -<h2 id="iconv">Реализация iconv()</h2> 1.333 +<h2 id="iconv"> 1.334 +Реализация iconv() 1.335 +</h2> 1.336 1.337 -<p>SliTaz использует iconv(), предоставленный GNU glibc — любые пакеты, 1.338 - предлагающие <code>libiconv</code>, должны использовать библиотеку, 1.339 - содержащуюся в <code>glibc-locale</code>. Поэтому в SliTaz больше не входит 1.340 - пакет libiconv (1,2 МБ).</p> 1.341 +<p> 1.342 +SliTaz использует iconv(), предоставленный GNU glibc — любые пакеты, предлагающие <code>libiconv</code>, должны использовать библиотеку, содержащуюся в <code>glibc-locale</code>. 1.343 +Поэтому в SliTaz больше не входит пакет libiconv (1,2 МБ). 1.344 +</p> 1.345 1.346 1.347 -<h2 id="pkgs">Сборка пакетов SliTaz</h2> 1.348 +<h2 id="pkgs"> 1.349 +Сборка пакетов SliTaz 1.350 +</h2> 1.351 1.352 -<p>Официальная сборка осуществляется с помощью Cookutils. Программа, а также 1.353 - документация о том, как использовать cook и <a 1.354 - href="http://hg.slitaz.org/cookutils/raw-file/tip/doc/cookutils.en.html" 1.355 - >создавать пакеты SliTaz</a> для пакетного менеджера TazPKG, установлена 1.356 - на каждой системе SliTaz.</p> 1.357 -<p>Пакеты tazpkg в SliTaz создаются автоматически при помощи <a 1.358 - href="http://cook.slitaz.org/">Cooker</a> («повар») из пакета Cookutils, 1.359 - а также рецепта из wok. В Cookbook описан формат <a 1.360 - href="http://doc.slitaz.org/en:cookbook:receipt">рецептов</a>. Прежде, 1.361 - чем начать, необходимо прочитать документацию о Cook и рецептах.</p> 1.362 -<p>Что касается выбора пакета, идея состоит в том, чтобы предложить пакет по 1.363 - задаче или функциональности, т.е. выбрать самое легкое приложение 1.364 - в какой-либо области, которое не дублирует уже имеющихся функций других 1.365 - пакетов. Обратите внимание, что текущие пакеты могут быть изменены; если 1.366 - вы найдете альтернативу, которая легче, или с более широкими возможностями, 1.367 - или более <em>привлекательная</em> за счет нескольких дополнительных КБ, 1.368 - вы можете предложить ее другим в рассылке. Особое внимание необходимо 1.369 - уделить пакетам для LiveCD, они должны быть очищены, лишены необязательных 1.370 - зависимостей и опций компилятора. Обычно, кандидаты пакетов для основного 1.371 - LiveCD обсуждаются в рассылке.</p> 1.372 -<p>Прежде чем вы приступите к компиляции и созданию пакетов для SliTaz, 1.373 - убедитесь, что их еще нет в <a 1.374 - href="http://download.tuxfamily.org/slitaz/packages/undigest/" 1.375 - >неофициальном</a> wok, который находится на основном зеркале SliTaz. 1.376 - Не забывайте, что участники рассылки могут помочь вам и о том, что 1.377 - документация по <a href="http://doc.slitaz.org/en:cookbook:wok">wok и 1.378 - утилитам</a> написана, чтобы помочь вам начать работу.</p> 1.379 +<p> 1.380 +Официальная сборка осуществляется с помощью Cookutils. 1.381 +Программа, а также документация о том, как использовать cook и <a href="http://hg.slitaz.org/cookutils/raw-file/tip/doc/cookutils.en.html">создавать пакеты SliTaz</a> для пакетного менеджера TazPKG, установлена на каждой системе SliTaz. 1.382 +</p> 1.383 +<p> 1.384 +Пакеты tazpkg в SliTaz создаются автоматически при помощи <a href="http://cook.slitaz.org/">Cooker</a> («повар») из пакета Cookutils, а также рецепта из wok. 1.385 +В Cookbook описан формат <a href="http://doc.slitaz.org/en:cookbook:receipt">рецептов</a>. 1.386 +Прежде, чем начать, необходимо прочитать документацию о Cook и рецептах. 1.387 +</p> 1.388 +<p> 1.389 +Что касается выбора пакета, идея состоит в том, чтобы предложить пакет по задаче или функциональности, т.е. выбрать самое легкое приложение в какой-либо области, которое не дублирует уже имеющихся функций других пакетов. 1.390 +Обратите внимание, что текущие пакеты могут быть изменены; если вы найдете альтернативу, которая легче, или с более широкими возможностями, или более <em>привлекательная</em> за счет нескольких дополнительных килобайт, вы можете предложить ее другим в рассылке. 1.391 +Особое внимание необходимо уделить пакетам для LiveCD, они должны быть очищены, лишены необязательных зависимостей и опций компилятора. 1.392 +Обычно, кандидаты пакетов для основного LiveCD обсуждаются в рассылке. 1.393 +</p> 1.394 +<p> 1.395 +Прежде чем вы приступите к компиляции и созданию пакетов для SliTaz, убедитесь, что их еще нет в <a href="http://download.tuxfamily.org/slitaz/packages/undigest/">неофициальном</a> wok, который находится на основном зеркале SliTaz. 1.396 +Не забывайте, что участники рассылки могут помочь вам и о том, что документация по <a href="http://doc.slitaz.org/en:cookbook:wok">wok и утилитам</a> написана, чтобы помочь вам начать работу. 1.397 +</p> 1.398 1.399 1.400 -<h3 id="pkgs-naming">Именование пакетов</h3> 1.401 +<h3 id="pkgs-naming"> 1.402 +Именование пакетов 1.403 +</h3> 1.404 1.405 -<p>В большинстве случаев пакет называется так же, как его исходник, 1.406 - за исключением модулей Python, Perl, PHP, Ruby и Lua. Например, пакет, 1.407 - содержащий шаблон Kid для системы, написанной на Python и XML называется 1.408 - <code>python-kid</code>.</p> 1.409 +<p> 1.410 +В большинстве случаев пакет называется так же, как его исходник, за исключением модулей Python, Perl, PHP, Ruby и Lua. 1.411 +Например, пакет, содержащий шаблон Kid для системы, написанной на Python и XML называется <code>python-kid</code>. 1.412 +</p> 1.413 1.414 1.415 -<h2 id="website">Управление сайтом</h2> 1.416 +<h2 id="website"> 1.417 +Управление сайтом 1.418 +</h2> 1.419 1.420 -<p>Управление сайтом осуществляется через репозиторий Mercurial, он может 1.421 - быть клонирован командой:</p> 1.422 +<p> 1.423 +Управление сайтом осуществляется через репозиторий Mercurial, он может быть клонирован командой: 1.424 +</p> 1.425 1.426 -<pre>$ hg clone http://hg.slitaz.org/website</pre> 1.427 +<pre> 1.428 +$ hg clone http://hg.slitaz.org/website 1.429 +</pre> 1.430 1.431 -<p>Или, если у вас есть соответствующие права:</p> 1.432 +<p> 1.433 +Или, если у вас есть соответствующие права: 1.434 +</p> 1.435 1.436 -<pre>$ hg clone http://repos.slitaz.org/website</pre> 1.437 +<pre> 1.438 +$ hg clone http://repos.slitaz.org/website 1.439 +</pre> 1.440 1.441 1.442 -<h3>Стиль написания xHTML</h3> 1.443 +<h3> 1.444 +Стиль написания xHTML 1.445 +</h3> 1.446 1.447 -<p>Страницы и различные <em>книги</em> написаны на xHTML 1.0 Transitional. 1.448 - Заголовок 1-го уровня используется только один раз (вверху страницы), 1.449 - заголовок 2-го уровня — это название документа, а уровни 3 и 4 используются 1.450 - для подзаголовков. Если используется маркированный список со ссылками на 1.451 - подразделы страницы, то он помещается вверху, сразу после заголовка 2-го 1.452 - уровня. Абзацы текста окружаются тегами <code><p>…</p></code>. 1.453 - Для отступов мы используем не пробелы, а табуляцию — она помогает понять 1.454 - структуру страницы и экономит вес, занимаемый страницей (в байтах). 1.455 - Для того, чтобы поместить внутри абзаца код, как, например, имя команды, 1.456 - предпочтительно использовать <code><code></code>. Для отображения 1.457 - команд и демонстрации использования терминала в веб-странице используется 1.458 - <code><pre></code> для отображения заранее отформатированного 1.459 - текста. Пример:</p> 1.460 +<p> 1.461 +Страницы и различные <em>книги</em> написаны на xHTML 1.0 Transitional. 1.462 +Заголовок 1-го уровня используется только один раз (вверху страницы), заголовок 2-го уровня — это название документа, а уровни 3 и 4 используются для подзаголовков. 1.463 +Если используется маркированный список со ссылками на подразделы страницы, то он помещается вверху, сразу после заголовка 2-го уровня. 1.464 +Абзацы текста окружаются тегами <code><p>…</p></code>. 1.465 +Для отступов мы используем не пробелы, а табуляцию — она помогает понять структуру страницы и экономит вес, занимаемый страницей (в байтах). 1.466 +Для того, чтобы поместить внутри абзаца код, как, например, имя команды, предпочтительно использовать <code><code></code>. 1.467 +Для отображения команд и демонстрации использования терминала в веб-странице используется <code><pre></code> для отображения заранее отформатированного текста. 1.468 +Пример: 1.469 +</p> 1.470 1.471 -<pre>$ команда</pre> 1.472 +<pre> 1.473 +$ команда 1.474 +</pre> 1.475 1.476 -<p>Для отображения текста, который можно скопировать и вставить, например, 1.477 - скриптов, фрагментов кода, примеров конфигурационных файлов и т.д. — мы 1.478 - также используем <code><pre></code>, но с CSS-классом под названием 1.479 - "script". Пример:</p> 1.480 +<p> 1.481 +Для отображения текста, который можно скопировать и вставить, например, скриптов, фрагментов кода, примеров конфигурационных файлов и т.д. — мы также используем <code><pre></code>, но с CSS-классом под названием «script». 1.482 +Пример: 1.483 +</p> 1.484 1.485 <pre class="script"> 1.486 <pre class="script"> 1.487 @@ -295,30 +346,36 @@ 1.488 </pre> 1.489 </pre> 1.490 1.491 -<p><em>Выделенные</em> слова помещаются в тег <code><em></code>, а 1.492 - внутренние ссылки являются относительными. Не забудьте проверить 1.493 - соответствие кода стандартам при помощи онлайнового <em>валидатора</em> 1.494 - от W3C.</p> 1.495 +<p> 1.496 +<em>Выделенные</em> слова помещаются в тег <code><em></code>, а внутренние ссылки являются относительными. 1.497 +Не забудьте проверить соответствие кода стандартам при помощи онлайнового <em>валидатора</em> от W3C. 1.498 +</p> 1.499 1.500 1.501 -<h2 id="diff">Diff и patch</h2> 1.502 +<h2 id="diff"> 1.503 +Diff и patch 1.504 +</h2> 1.505 1.506 -<p>Утилиты командной строки <code>diff</code> и <code>patch</code> 1.507 - соответственно создают и применяют специальные файлы (<em>«патчи»</em>), 1.508 - в которых содержатся различия между двумя файлами. Эта техника часто 1.509 - используется для совместной работы — она позволяет легко увидеть изменения, 1.510 - внесенные в исходный файл. Чтобы создать файл <code>diff</code>, который 1.511 - предназначен для чтения людьми в простом текстовом редакторе, используйте 1.512 - параметр <code>-u</code>:</p> 1.513 +<p> 1.514 +Утилиты командной строки <code>diff</code> и <code>patch</code> соответственно создают и применяют специальные файлы (<em>«патчи»</em>), в которых содержатся различия между двумя файлами. 1.515 +Эта техника часто используется для совместной работы — она позволяет легко увидеть изменения, внесенные в исходный файл. 1.516 +Чтобы создать файл <code>diff</code>, который предназначен для чтения людьми в простом текстовом редакторе, используйте параметр <code>-u</code>: 1.517 +</p> 1.518 1.519 -<pre>$ diff -u файл.оригинал файл.измененный > файл.diff</pre> 1.520 +<pre> 1.521 +$ diff -u файл.оригинал файл.измененный > файл.diff 1.522 +</pre> 1.523 1.524 -<p>Применить патч:</p> 1.525 +<p> 1.526 +Применить патч: 1.527 +</p> 1.528 1.529 -<pre>$ patch файл.оригинал файл.diff</pre> 1.530 +<pre> 1.531 +$ patch файл.оригинал файл.diff 1.532 +</pre> 1.533 1.534 <!-- End of content --> 1.535 -</div> 1.536 +</section> 1.537 1.538 <?php include("../../lib/html/footer.ru.html"); ?> 1.539