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

 

CSS выравнивание по центру

 

1 ) Горизонтальное и вертикальное выравнивание по центру с помощью CSS - 1 Выравнивание содержимого страницы по центру в видимой области окна браузера с помощью CSS. Контейнер, в котором находится всё содержимое веб-страницы выравнивается по центру - по ширине и по высоте. Для более современных браузеров : [ Подробнее ] : [ Открыть страницу-пример ] 2 ) Горизонтальное и вертикальное выравнивание по центру с помощью CSS - 2 Выравнивание содержимого страницы по центру в видимой области окна браузера с помощью CSS. Контейнер, в котором находится всё содержимое веб-страницы выравнивается по центру - по ширине и по высоте. Более консервативный, чем предыдущий вариант. Подходит не только для современных браузеров, но и для более старых. Таких как Internet Explorer 6 или ранние версии Maxthon. При необходимости что-то изменить, требует больше усилий, чем первый способ : [ Подробнее ] : [ Открыть страницу-пример ] 3 ) Горизонтальное выравнивание блока неизвестной ширины Горизонтальное выравнивание блока неизвестной ширины средствами CSS : [ Подробнее ] : [ Открыть страницу-пример ] 4 ) Position: absolute по центру Горизонтальное выравнивание абсолютно позиционированного элемента по центру с помощью CSS : [ Подробнее ] 5 ) Изображение по центру CSS Горизонтальное выравнивание изображения по центру с помощью CSS : [ Подробнее ] 6 ) Вертикальное выравнивание CSS Вертикальное выравнивание CSS блочного элемента, содержащего текст и изображения : [ Подробнее ] 7 ) Выравнивание по центру с помощью JavaScript и CSS Выравнивание содержимого страницы по центру в видимой области окна браузера с помощью JavaScript и CSS. Контейнер, в котором находится всё содержимое веб-страницы выравнивается по центру - по вертикали и по горизонтали : [ Подробнее ] : Два случая : 1. Контейнер выравнивается по центру, если разрешение экрана монитора равно или больше 1024x768 : [ Открыть страницу-пример ] 2. Контейнер выравнивается по центру, если разрешение экрана монитора равно или больше 1024x768 + курсор мыши наводится на ссылку в одном из элементов содержимого страницы : [ Открыть страницу-пример ]

CSS выравнивание по центру : по ширине и по высоте - 2

 

Выравнивание содержимого страницы по центру в видимой области окна браузера с помощью CSS. Контейнер, в котором будет находиться всё содержимое веб-страницы выравнивается по центру - по ширине и по высоте - [ Открыть страницу-пример ]. HTML / XHTML. Код: <!DOCTYPE html> <html> <head> <title>CSS выравнивание по центру : по ширине и по высоте - 2</title> <link rel="stylesheet" type="text/css" href="css.css" /> </head> <body> <div class="spacer">&nbsp;</div> <div class="wrapper"> <div class="pagecontent">&nbsp;</div> </div> </body> </html> CSS. Код: html {height: 100%; margin: 0px;} body height: 100%; margin: 0px;} .spacer {position: relative; top: 0px; left: 0px; height: 50%; width: 100px; float: left; margin: 0px 0px -250px 0px; background: #999;} .wrapper {position: relative; top: 0px; left: 0px; height: 500px; width: 100%; clear: both; background: #a3ddc4;} .pagecontent {position: relative; top: 0px; left: 0px; height: 500px; width: 800px; margin: 0 auto; background: #ff6f6f;} Контейнер .pagecontent - для всего содержимого веб-страницы. Этот контейнер должен быть с явно заданными размерами в px, em, и т.п. - не в процентах. Высота и ширина могут быть больше видимой области окна браузера, но в данном случае речь о более практическом случае - когда высота и ширина контейнера .pagecontent меньше, чем размеры видимой области окна браузера. Блок .pagecontent выравнивается в видимой области окна браузера по центру / по ширине с помощью "margin: 0 auto". .Wrapper создает пространство, где .pagecontent выравнивается по центру / по ширине. Ширина .wrapper равна 100%, что бы выравнивание по центру / по ширине происходило при разных размерах видимой области окна браузера. Высота .wrapper должна быть равна высоте контейнера .pagecontent. .Spacer выравнивает .wrapper с .pagecontent внутри по центру / по высоте в видимой области окна браузера. Ширина .spacer может быть любая. Высота равна 50%, это помещает верхний край .pagecontent вертикально по центру в видимой области окна браузера. Margin-bottom блока .spacer равный половине высоты .pagecontent выравнивает контейнер .pagecontent по центру / по высоте при любой текущей высоте видимой области окна браузера. Этот метод пригоден для всех основных современных браузеров. Он так же работает и в более старых браузерах, таких как Internet Explorer 6 или ранние версии Maxthon. Но высота контейнера, в котором находится содержимое страницы, должна быть с явно заданными размерами и если они меняются - величина margin-bottom блока .spacer так же должна быть соответственно изменена. Есть другой способ горизонтального и вертикального выравнивания по центру с помощью CSS, с CSS кодом, который проще сопровождать. Хотя этот способ и не работает в более старых веб-браузерах: CSS выравнивание по центру : по ширине и по высоте - 1. [ 1 ] А так же в Netscape 7.2+, Mozilla 1.5+. [ 2 ] А так же в Netscape 7.2+, Mozilla 1.5+.