Kompx.com or Compmiscellanea.com

Браузер lynx. Создание sitemap.xml

Операционные системы : Linux

Существует немало онлайн сервисов для создания sitemap.xml. Однако его можно сделать и самому на своем компьютере, используя браузер lynx и несколько утилит командной строки Linux. Далее описывается пример использующего их bash-скрипта, названного "sitemap.sh".

Bash-скрипт, который создает файл sitemap.xml:

#!/bin/bash

cd /home/me/sitemap/www/

lynx -crawl -traversal -accept_all_cookies -connect_timeout=30 http://www.compmiscellanea.com/ > /dev/null

cd /home/me/sitemap/www2/

lynx -crawl -traversal -accept_all_cookies -connect_timeout=30 http://compmiscellanea.com/ > /dev/null

cat /home/me/sitemap/www2/traverse.dat >> /home/me/sitemap/www/traverse.dat

cat /home/me/sitemap/www/traverse.dat | sed -e 's/\<www\>\.//g' | sort | uniq > /home/me/sitemap/sitemap/sitemap.xml

sed -i 's/\&/\&amp\;/g' /home/me/sitemap/sitemap/sitemap.xml

sed -i "s/'/\&apos\;/g" /home/me/sitemap/sitemap/sitemap.xml

sed -i 's/"/\&quot\;/g' /home/me/sitemap/sitemap/sitemap.xml

sed -i 's/>/\&gt\;/g' /home/me/sitemap/sitemap/sitemap.xml

sed -i 's/</\&lt\;/g' /home/me/sitemap/sitemap/sitemap.xml

sed -i 's/http:\/\//http:\/\/www\./g' /home/me/sitemap/sitemap/sitemap.xml

sed -i -e 's/^/<url><loc>/' /home/me/sitemap/sitemap/sitemap.xml

sed -i -e 's/$/<\/loc><\/url>/' /home/me/sitemap/sitemap/sitemap.xml

sed -i -e '1 i <?xml version="1\.0" encoding="UTF-8"?>\r\r<urlset xmlns="http:\/\/www\.sitemaps\.org\/schemas\/sitemap\/0\.9" xmlns:xsi="http:\/\/www\.w3\.org\/2001\/XMLSchema-instance" xsi:schemaLocation="http:\/\/www\.sitemaps\.org\/schemas\/sitemap\/0\.9 http:\/\/www\.sitemaps\.org\/schemas\/sitemap\/0\.9\/sitemap\.xsd">\r\r<!-- created by sitemap.sh from http:\/\/www.compmiscellanea.com\/en\/lynx-browser-creating-sitemap.xml\.htm -->\r\r' /home/me/sitemap/sitemap/sitemap.xml

sed -i -e '$ a \\r</urlset>' /home/me/sitemap/sitemap/sitemap.xml

sed -i '/static/d' /home/me/sitemap/sitemap/sitemap.xml

echo "...Done"

После того, как файл с bash-скриптом готов: "chmod +x sitemap.sh", что бы сделать его исполняемым.

Скачать sitemap.sh в архиве sitemap.sh.tar.gz ( После того, как архив загружен и распакован, в файле заменить http://www.compmiscellanea.com/ на нужное доменное имя сайта с "www" и заменить http://compmiscellanea.com/ на нужное доменное имя сайта без "www". Вместо "static" в последней строке файла поставить строку, которую должны содержать ссылки, что бы они были удалены из списка. Затем "chmod +x sitemap.sh". Затем запустить sitemap.sh ).

Комментарии

Скачать sitemap2.sh с построчными комментариями в архиве sitemap2.sh.tar.gz.

Перед тем, как запустить bash-скрипт, нужно создать три папки. Так как браузер lynx в каких-то случаях может пропустить некоторые ссылки, если доменное имя сайта будет указано с или без "www", то bash-скрипт запускает lynx дважды, обрабатывая сайт по доменному имени с "www" и обрабатывая сайт по доменному имени без "www".

Получающиеся два файла помещаются в две разные папки, здесь это "/home/me/sitemap/www/" и "/home/me/sitemap/www2/". А директория "/home/me/sitemap/sitemap/" предназначена для создаваемого sitemap.xml.


1. Путь к bash

#!/bin/bash

2. Переход в папку - браузер lynx поместит туда файлы, полученные при обработке сайта по доменному имени с "www"

cd /home/me/sitemap/www/

3. Запуск браузера lynx для обработки сайта. Поскольку lynx может пропустить некоторые ссылки, если доменное имя сайта будет указано с или без "www", bash-скрипт запускает lynx дважды, обрабатывая сайт и по доменному имени с "www", и по доменному имени без "www". В данной строке bash-скрипта - с "www". Lynx браузер автоматически пройдет по всем страницам и ссылкам на них. Все куки будут приниматься. С помощью "-connect_timeout" можно указать сколько времени в секундах lynx будет пытаться перейти по каждой ссылке

lynx -crawl -traversal -accept_all_cookies -connect_timeout=30 http://www.compmiscellanea.com/ > /dev/null

4. Переход в другую папку - браузер lynx поместит туда файлы, полученные при обработке сайта по доменному имени без "www"

cd /home/me/sitemap/www2/

5. Запуск браузера lynx для обработки сайта. Поскольку lynx может пропустить некоторые ссылки, если доменное имя сайта будет указано с или без "www", bash-скрипт запускает lynx дважды, обрабатывая сайт и по доменному имени с "www", и по доменному имени без "www". В данной строке bash-скрипта - без "www". Lynx автоматически пройдет по всем страницам и ссылкам на них. Все куки будут приниматься. С помощью "-connect_timeout" можно указать сколько времени в секундах lynx будет пытаться перейти по каждой ссылке

lynx -crawl -traversal -accept_all_cookies -connect_timeout=30 http://compmiscellanea.com/ > /dev/null

6. При запуске браузера lynx дважды, для обработки сайта и по доменному имени с "www", и по доменному имени без "www", создаются два файла с собранными ссылками. Здесь содержимое второго файла добавляется к концу первого

cat /home/me/sitemap/www2/traverse.dat >> /home/me/sitemap/www/traverse.dat

7. Ссылки, собранные lynx при обработке сайта по доменному имени без "www" не содержат "www.". Что бы сделать список ссылок единообразным, "www." у остальных ссылок тоже убираются. Затем они все сортируются по алфавиту с помощью sort. Затем uniq удаляет повторяющиеся записи. После чего результат сохраняется в файл "sitemap.xml", создаваемый в процессе

cat /home/me/sitemap/www/traverse.dat | sed -e 's/\<www\>\.//g' | sort | uniq > /home/me/sitemap/sitemap/sitemap.xml

8. Если в URL есть &, ', ", > и <, они заменяются на &amp;, &apos;, &quot;, &gt;, &lt;. Другие специальные и не-ASCII символы должны быть приведены в соответствие с действующими стандартами файла sitemap.xml [ 1 ] и общей практикой [ 2 ] разработчиками веб-сайта, страницы которого будут обрабатываться или CMS этого сайта. Иначе lynx будет пробовать понять эти URL согласно своим правилам и возможностям, пробовать их прочитать и записать в traverse.dat. В зависимости от среды, где lynx запущен, это иногда может быть более или менее успешно, а иногда более или менее нет.

& заменяется на &amp;

sed -i 's/\&/\&amp\;/g' /home/me/sitemap/sitemap/sitemap.xml

9. Замена ' на &apos;

sed -i "s/'/\&apos\;/g" /home/me/sitemap/sitemap/sitemap.xml

10. Замена " на &quot;

sed -i 's/"/\&quot\;/g' /home/me/sitemap/sitemap/sitemap.xml

11. Замена > на &gt;

sed -i 's/>/\&gt\;/g' /home/me/sitemap/sitemap/sitemap.xml

12. Замена < на &lt;

sed -i 's/</\&lt\;/g' /home/me/sitemap/sitemap/sitemap.xml

13. Ко всем ссылкам добавляется www.

sed -i 's/http:\/\//http:\/\/www\./g' /home/me/sitemap/sitemap/sitemap.xml

14. Перед каждой строкой добавляется <url><loc>

sed -i -e 's/^/<url><loc>/' /home/me/sitemap/sitemap/sitemap.xml

15. После каждой строки добавляется </url></loc>

sed -i -e 's/$/<\/loc><\/url>/' /home/me/sitemap/sitemap/sitemap.xml

16. Перед содержимым файла добавляются открывающие теги XML документа и комментарий

sed -i -e '1 i <?xml version="1\.0" encoding="UTF-8"?>\r\r<urlset xmlns="http:\/\/www\.sitemaps\.org\/schemas\/sitemap\/0\.9" xmlns:xsi="http:\/\/www\.w3\.org\/2001\/XMLSchema-instance" xsi:schemaLocation="http:\/\/www\.sitemaps\.org\/schemas\/sitemap\/0\.9 http:\/\/www\.sitemaps\.org\/schemas\/sitemap\/0\.9\/sitemap\.xsd">\r\r<!-- created by sitemap.sh from http:\/\/www.compmiscellanea.com\/en\/lynx-browser-creating-sitemap.xml\.htm -->\r\r' /home/me/sitemap/sitemap/sitemap.xml

17. После содержимого файла добавляется закрывающий тег XML документа

sed -i -e '$ a \\r</urlset>' /home/me/sitemap/sitemap/sitemap.xml

18. Удаление ненужных ссылок по содержанию в них указанной строки

sed -i '/static/d' /home/me/sitemap/sitemap/sitemap.xml

19. Сообщение, что процесс завершен

echo "...Done"


Документация браузера lynx по опциям "-traversal" и "-crawl": CRAWL.announce.


Aliosque subditos et thema

 

Текстовые браузеры для Linux

 

Lynx : Links : ELinks : W3m : Netrik : Retawq : Line mode browser Когда появились дистрибутивы Linux для более или менее широкой публики, просмотр веб-страниц онлайн был недавним явлением, хотя какой-то путь был пройден. Уже существовало несколько браузеров, многие из которых были постепенно портированы под Linux. Некоторые текстовые браузеры были в первой волне. И через какое-то время Linux стал основной средой для текстовых браузеров, где большинство из них развивается и используется. Даже если они большей частью и предназначены не только для Linux, но так же и для различных других *nix систем. Существуют и их порты под множество других операционных систем для самых разных платформ. Lynx - / home page / Текстовый браузер. Версии для Linux, FreeBSD, Mac OS X, некоторых других *nix систем, DOS, Windows, BeOS, MINIX, QNX, AmigaOS, OpenVMS и классических Mac OS. HTML ( Подробнее 1 ) ( Подробнее 2 ) Lynx 2.8.7rel.1 в эмуляторе терминала GNOME Terminal 2.32.1, Zenwalk Linux: lynx.isc.org Lynx 2.8.7rel.1 в эмуляторе терминала GNOME Terminal 2.32.1, Zenwalk Linux: w3schools.com/browsers/browsers_stats.asp Lynx 2.8.7rel.1 в эмуляторе терминала GNOME Terminal 2.32.1, Zenwalk Linux: en.wikipedia.org/wiki/Lynx_(web_browser) Lynx 2.8.7rel.1 в эмуляторе терминала GNOME Terminal 2.32.1, Zenwalk Linux: ebay.com Lynx 2.8.7rel.1 в эмуляторе терминала GNOME Terminal 2.32.1, Zenwalk Linux: kompx.com/en/elinks.htm Lynx 2.8.7rel.1 в эмуляторе терминала GNOME Terminal 2.32.1, Zenwalk Linux: twitter.com Links - / home page 1 : home page 2 / Текстовый браузер. Версии для Linux, FreeBSD, Mac OS X, некоторых других *nix систем, BeOS, Haiku, OS/2, DOS, Windows.

Горизонтальное выравнивание блока неизвестной ширины

 

Горизонтальное выравнивание блока неизвестной ширины, содержащего несколько строчных элементов. Блок выравнивается средствами CSS - [ Открыть страницу-пример ]. Иногда нужно выровнять по центру группу плавающих элементов, которая будет служить заголовком или блоком с нумерацией страниц. Поскольку заголовок будет использоваться для блоков разных размеров, а блок с нумерацией страниц может увеличиваться и уменьшаться в размерах, то ширина этой группы так же будет варьировать случайным образом. Отчего способ выравнивания по центру, базирующийся на использовании известной ширины, работать не будет. Так же, желательно, что бы блок заголовка или нумерации страниц был центрирован раз и навсегда при своем создании, что бы группа элементов могла быть использована с объектами разных размеров, на разных веб страницах: блок просто кладется куда надо, а в него помещаются текст или / и изображения - и группа выравнивается по центру автоматически. Это можно сделать разными способами и с использованием разных технологий: CSS, CSS + JavaScript, CSS + HTML (система с тегами <table></table>). Самый простой и надежный способ горизонтального выравнивания блока неизвестной ширины основан на использовании CSS. Горизонтальное выравнивание блока неизвестной ширины: 1. Сначала, более простой случай, горизонтальное выравнивание блока с заголовком, состоящего из плавающих элементов: изображения и текст: HTML / XHTML. Код: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ru" lang="ru"> <head> <title>Горизонтальное выравнивание блока неизвестной ширины: 1</title> <meta http-equiv="Content-Type" content="text/html; charset=Windows-1251" /> <link rel="stylesheet" type="text/css" href="css.css" /> </head> <body> <div class="box"> <span class="title-box"> <img src="snowflake.gif" width="37" height="34" alt="" class="title-imgs" /> <span class="title-text">Горизонтальное выравнивание блока неизвестной ширины</span> <img src="snowflake.gif" width="37" height="34" alt="" class="title-imgs" /> </span> </div> </body> </html> CSS.