2016-11-18 3 views
0

Ich hosten eine Jekyll-Site über Amazon S3. Ich lasse die Jekyll-Instanz auf einem lokalen Computer laufen, damit wir Posts an sie senden und die Dinge automatisch weiterleiten können. Das funktioniert großartig.Jekyll --host Option überschreiben site.url

Das Problem ist in zwei Instanzen (feed.xml und sitemap.xml) Jekyll verwendet 0.0.0.0:4000 im HTML-Spit auf _site anstelle der Site.url in _config.yml festgelegt. Wenn ich das Flag --host = 0.0.0.0 auf jekyll serve nicht setze, wird stattdessen localhost: 4000 als URL anstelle von site.url gesetzt.

Was kann ich tun, um die Site in unserem lokalen Netzwerk zu betreiben, aber immer noch die korrekte URL in den XML-Dateien zu haben?

Antwort

0

Wenn Sie vor Kurzem zu Jekyll 3.3.1 migrieren, funktioniert Ihre Site.url nicht, da Sie sich in der Entwicklungsumgebung befinden.

Um in der Produktionsumgebung zu testen, führen Sie den Befehl JEKYLL_ENV=production bundle exec jekyll serve aus.

Ich habe auch dieses Problem in Vergangenheit konfrontiert, Check-out meinen jekyll isssue.

Für Sitemap und XML-Feed Sie eine weitere Variable in der Konfigurationsdatei festgelegt aslo können, wie

fullurl: yourdomainname.com 

Und verwenden site.fullurl statt von site.url in Ihrer XML-Sitemap/Feed.

+0

Dank gut! Ich bin zuversichtlich, dass dies schließlich funktioniert, aber .... Wenn ich den empfohlenen Weg zu dienen, jekyll zu bedienen, bekomme ich usr/bin/ruby2.2: schlechter Interpreter: Keine solche Datei oder Verzeichnis. Wenn ich an die Ringe denke, die ich durchlaufen musste, um Ruby 2.2+ in Ubuntu zu verwenden, ist diese Art von Fehlern nicht unerwartet. Einstellung Fullurl hatte keine Auswirkungen auf meine Vorlage, es überschreibt es immer noch mit 0.0.0.0:4000 oder localhost: 4000 –

0

Sie können ein _config_dev.yml definieren, in dem Sie Konfigurationselemente überschreiben können.

auf localhost, werden Sie dann

jekyll serve --config _config.yml,_config_dev.yml 

laufen Diese so auf https://github.com/Phlow/feeling-responsive getan wird und das Futter arbeitet auf localhost