Как `blogdown :: serve_site ()` настраивает свой локальный сервер (Apache / Python / что-то еще)? - PullRequest
0 голосов
/ 17 декабря 2018

Если я использую R Studio Addins > Serve Site или, альтернативно, blogdown::serve_site(), я настраиваю Apache / Python / и т. Д.сервер на моей локальной машине?Или что-то еще происходит?Как R Studio и / или blogdown настраивают этот локальный веб-сервер?

Я пытаюсь воссоздать эту настройку, не используя R Studio > Addins > Serve Site и просто любопытно, как все это работает.

[EDIT] - я должен упомянуть, что я в основном использую компьютеры с Ubuntu и Windows.

Ответы [ 2 ]

0 голосов
/ 18 декабря 2018

В предисловии книги blogdown я рекомендовал всем читателям прочитать хотя бы главу 1 и раздел 3.1 этой книги.На этот вопрос ответили Раздел 1.2 книги:

LiveReload реализован через blogdown::serve_site(), который основан на пакете R servr .

Пакет servr по очереди вызывает пакет R httpuv для запуска локального HTTP-сервера (выможет проверить это с servr::httd(), чтобы обслуживать любой локальный каталог в вашем браузере).Он не использует Apache, Python или другие системы.Сервер по умолчанию в blogdown тоже не основан на hugo server.

После этого предложения в разделе 1.2 я вставил сноску (# 7), в которой я сказал, что если хотите,чтобы воспользоваться встроенным сервером Хьюго (т. е. hugo server), вам нужно просмотреть Приложение D.2 .

Если у вас есть документы R Markdown в вашем проекте веб-сайта, выне может просто запустить hugo server.Из Раздела 2.1 книги blogdown :

Хотя мы думаем, что Хьюго - фантастический генератор статических сайтов, на самом деле одна и только одна из основных пропущенных функций отсутствует.: поддержка R Markdown.В этом и заключается весь смысл пакета blogdown .Эта отсутствующая функция означает, что вы не можете легко генерировать результаты, используя код R на своих веб-страницах, поскольку вы можете использовать только статические документы Markdown.

В основном blogdown::serve_site() выполняет две вещи: компилирует документы R Markdown (еслиони есть) и обслуживают выходные страницы.Сервер можно запустить двумя способами.По умолчанию используется httpuv , а альтернативным способом является hugo server, если вы запрашиваете blogdown с помощью параметра R (опять же, см. Приложение D.2).В обоих случаях документы R Markdown будут автоматически перекомпилироваться по мере их обновления.

Обратите внимание, что blogdown также (частично) поддерживает два других генератора статических сайтов , Jekyll иHexo.Сервер, запущенный blogdown::serve_site(), также принял их во внимание.Речь идет не только о Хьюго, хотя я думаю, что подавляющее большинство blogdown пользователей используют Хьюго.

0 голосов
/ 17 декабря 2018

Он запускает hugo , что является требованием для blogdown, bookdown и связанных проектов.И hugo - это собственный (встроенный) веб-сервер.

На самом деле это довольно удобно - я часто просто запускаю hugo server прямо в командной строке.Точно так же он также позволяет вам создавать сайты только с помощью hugo toolchain, или смешивать их с пакетами R, или переключаться между ними.

И, согласно вашему редактированию, вот скрипт, который я сейчас использую (в Ubuntu) для сайта:

#!/bin/bash
hugo server --destination docs --renderToDisk

Это каталог --destination docs, поскольку я использую встроенный сервер GitHub.

Редактировать: То, что я описываю, само по себе правильнои простая альтернатива, но не ответ на вопрос, который был дан Ихуэем.Я склонен писать больше уценки, чем Rmarkdown, поэтому то, что я описал, подходит мне лучше.

...