{"id":14893,"date":"2020-05-02T12:09:25","date_gmt":"2020-05-02T10:09:25","guid":{"rendered":"http:\/\/blog.wenzlaff.de\/?p=14893"},"modified":"2021-11-22T17:14:07","modified_gmt":"2021-11-22T16:14:07","slug":"installieren-des-kostenlosen-static-website-generator-von-github-jekyll-auf-einem-raspberry-pi-zero","status":"publish","type":"post","link":"http:\/\/blog.wenzlaff.de\/?p=14893","title":{"rendered":"Installieren des kostenlosen Static-Website-Generator von GitHub: Jekyll auf einem Raspberry Pi Zero"},"content":{"rendered":"<p>Jekyll baut <strong>statische<\/strong> HTML-Webseiten anhand von einfachen Textdateien, die eingelesen werden. Dabei handelt es sich um Layout-Dateien und Inhaltsdateien. Jekyll generiert aufgrund der Layout-Vorlagen die statischen HTML-Webseiten. Das funktioniert sogar live w\u00e4hrend der Entwicklung, da Jekyll einen eigenen Server mitbringt.<\/p>\n<p><a href=\"https:\/\/jekyllrb.com\/\" rel=\"noopener noreferrer\" target=\"_blank\">Jekyll<\/a> ist auf einem Raspberry Pi schnell installiert. Jekyll l\u00e4uft unter Ruby und bietet eine Menge importer.<\/p>\n<pre class=\"lang:default decode:true \" >\r\nsudo apt-get update\r\nsudo apt-get upgrade\r\nsudo apt-get install ruby-full\r\nsudo gem install jekyll\r\nsudo gem install bundler<\/pre>\n<p>Dann musste ich noch in der Datei <strong>Gemfile.lock <\/strong>die Version i18n (1.8.2) setzen und in der <strong>Gemfile<\/strong> den Eintrag <strong>gem &#8222;jekyll&#8220;<\/strong> machen.<\/p>\n<p>Dann habe ich auch noch den Importer installiert:<!--more--><\/p>\n<p><strong>gem install jekyll-import<\/strong><\/p>\n<p>Da ich ein RSS File importieren wollte. Es geht aber auch aus CSV, WordPress, Jomala ua. Systeme.<\/p>\n<p>Versionen checken:<\/p>\n<pre class=\"lang:default decode:true \" >pi@pi-zero:~\/jekyll-projekt $ ruby -v\r\nruby 2.3.3p222 (2016-11-21) [arm-linux-gnueabihf]\r\npi@pi-zero:~\/jekyll-projekt $ bundler -v\r\nBundler version 2.1.4\r\npi@pi-zero:~\/jekyll-projekt $ jekyll -v\r\nWARN: Unresolved specs during Gem::Specification.reset:\r\n      rb-fsevent (&gt;= 0.9.4, ~&gt; 0.9)\r\nWARN: Clearing out unresolved specs.\r\nPlease report a bug if this causes problems.\r\njekyll 3.8.6<\/pre>\n<p>Nun ein<\/p>\n<p><strong>bundle exec jekyll serve<\/strong><\/p>\n<p>und die Seite steht unter <strong>http:\/\/127.0.0.1:4000<\/strong> bereit.<\/p>\n<p>Eine WordPress Seite kann auch mit dem Tool <a href=\"https:\/\/github.com\/some-programs\/exitwp\" rel=\"noopener noreferrer\" target=\"_blank\">exitwp<\/a> importiert werden.<\/p>\n<p>Dazu noch die folgenden Abh\u00e4ngikeiten installieren:<br \/>\n<strong><br \/>\nsudo apt-get install python-yaml python-bs4 python-html2text<\/strong><\/p>\n<p>Dann den aktuellen Stand holen:<\/p>\n<p><strong>git clone https:\/\/github.com\/thomasf\/exitwp.git<\/strong><\/p>\n<p>Dann einen XML export der WP-Seite machen \u00fcber, Daten exportieren:<\/p>\n<p><a href=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2020\/05\/Bildschirmfoto-2020-05-02-um-09.10.53.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2020\/05\/Bildschirmfoto-2020-05-02-um-09.10.53.png\" alt=\"\" width=\"525\" height=\"517\" class=\"aligncenter size-large wp-image-14907\" srcset=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2020\/05\/Bildschirmfoto-2020-05-02-um-09.10.53.png 764w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2020\/05\/Bildschirmfoto-2020-05-02-um-09.10.53-300x295.png 300w\" sizes=\"auto, (max-width: 525px) 100vw, 525px\" \/><\/a><\/p>\n<p><a href=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2020\/05\/Bildschirmfoto-2020-05-02-um-09.11.06.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2020\/05\/Bildschirmfoto-2020-05-02-um-09.11.06.png\" alt=\"\" width=\"912\" height=\"884\" class=\"aligncenter size-full wp-image-14906\" srcset=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2020\/05\/Bildschirmfoto-2020-05-02-um-09.11.06.png 912w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2020\/05\/Bildschirmfoto-2020-05-02-um-09.11.06-300x291.png 300w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2020\/05\/Bildschirmfoto-2020-05-02-um-09.11.06-768x744.png 768w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><\/a><\/p>\n<p>Die xml Datei dann in das <strong>exitwp\/wordpress-xml<\/strong> Verzeichnis kopieren und den Prozess starten mit:<\/p>\n<p><strong>python exitwp.py<\/strong><\/p>\n<p>Dabei habe ich bei einer Seite festgestellt, das der Export nicht XML valide war und abgebrochen ist. Um das Problem zu beheben habe ich <strong>xmllint<\/strong> verwendet um das zu fixen. Dazu <strong>xmllint<\/strong> installieren mit:<\/p>\n<p><strong>sudo apt-get install libxml2-utils<\/strong><\/p>\n<p>und test mit<br \/>\n<strong><br \/>\nxmllint wenzlaffde-rundumdieprogrammierung.WordPress.2020-05-02.xml<\/strong><\/p>\n<p>Dann die entsprechenden Fehlermeldungen gefixt.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Jekyll baut statische HTML-Webseiten anhand von einfachen Textdateien, die eingelesen werden. Dabei handelt es sich um Layout-Dateien und Inhaltsdateien. Jekyll generiert aufgrund der Layout-Vorlagen die statischen HTML-Webseiten. Das funktioniert sogar live w\u00e4hrend der Entwicklung, da Jekyll einen eigenen Server mitbringt. Jekyll ist auf einem Raspberry Pi schnell installiert. Jekyll l\u00e4uft unter Ruby und bietet eine &hellip; <\/p>\n<p class=\"link-more\"><a href=\"http:\/\/blog.wenzlaff.de\/?p=14893\" class=\"more-link\"><span class=\"screen-reader-text\">\u201eInstallieren des kostenlosen Static-Website-Generator von GitHub: Jekyll auf einem Raspberry Pi Zero\u201c <\/span>weiterlesen<\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_import_markdown_pro_load_document_selector":0,"_import_markdown_pro_submit_text_textarea":"","footnotes":""},"categories":[220,1023,2752,2047],"tags":[],"class_list":["post-14893","post","type-post","status-publish","format-standard","hentry","category-anleitung","category-raspberry-pi","category-raspberry-pi-zero-w","category-wordpress"],"_links":{"self":[{"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=\/wp\/v2\/posts\/14893","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=14893"}],"version-history":[{"count":0,"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=\/wp\/v2\/posts\/14893\/revisions"}],"wp:attachment":[{"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=14893"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=14893"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=14893"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}