Skip to content

Latest commit

 

History

History
112 lines (77 loc) · 4.23 KB

README.md

File metadata and controls

112 lines (77 loc) · 4.23 KB

Go в примерах

В этом репозитории контент, набор инструментов для сборки статического сайта и веб-сервер для Go в примерах.

Обзор

Сайт Go в примерах собирается путем извлечения кода и коментариев из файлов с исходниками в папке examples и дальнейшим рендерингом этих данных через шаблоны в папке templates. Программы для сборки находятся в папке tools.

Процесс сборки создает папку со статическими файлами - public - подходящими для обслуживания любым современным HTTP-сервером. Мы включили в поставку легковесный Go-сервер в файле server.go.

Русская версия

Русская версия была немного доработана. Теперь статику в папке public можно хостить прямо на Github. Подробнее о том как настроить сборку проекта и хостинг cтатики на Github.

Сборка

Для сборки сайта:

Если вы работаете в OS X, для корректной работы сборщика сайта нужно установить Python (нужен для Pygmentize)

brew install python
$ go get github.com/russross/blackfriday
$ tools/build
$ open public/index.html

Для непрерывной сборки в цикле:

$ tools/build-loop

Локальный деплой

$ mkdir -p $GOPATH/src/github.com/pavlik
$ cd $GOPATH/src/github.com/pavlik
$ git clone [email protected]:pavlik/gobyexample.git
$ cd gobyexample
$ go get
$ go build
$ PORT=5000 CANONICAL_HOST=127.0.0.1 FORCE_HTTPS=0 gobyexample
$ open http://127.0.0.1:5000/

Деплой на платформе

Простая установка:

$ export DEPLOY=$USER
$ export APP=gobyexample-$USER
$ heroku create $APP -r $DEPLOY
$ heroku config:add -a $APP
    BUILDPACK_URL=https://github.com/mmcgrana/buildpack-go.git
    CANONICAL_HOST=$APP.herokuapp.com \
    FORCE_HTTPS=1 \
    AUTH=go:byexample
$ heroku labs:enable dot-profile-d -a $APP
$ git push $DEPLOY master
$ heroku open -a $APP

С добалением домена + SSL:

$ heroku domains:add $DOMAIN
$ heroku addons:add ssl -r $DEPLOY
# order ssl cert for domain
$ cat > /tmp/server.key
$ cat > /tmp/server.crt.orig
$ curl https://knowledge.rapidssl.com/library/VERISIGN/ALL_OTHER/RapidSSL%20Intermediate/RapidSSL_CA_bundle.pem > /tmp/rapidssl_bundle.pem
$ cat /tmp/server.crt.orig /tmp/rapidssl_bundle.pem > /tmp/server.crt
$ heroku certs:add /tmp/server.crt /tmp/server.key -r $DEPLOY
# add ALIAS record from domain to ssl endpoint dns
$ heroku config:add CANONICAL_HOST=$DOMAIN -r $DEPLOY
$ heroku open -r $DEPLOY

Лицензия

Копирайт на изначальный проект принадлежит Mark McGranaghan и распространяется под лицензией Creative Commons Attribution 3.0 Unported License.

Копирайт на Go Gopher принадлежит Renée French и распространяется под лицензией Creative Commons Attribution 3.0 Unported License.

Переводы

Переводы с английской версии сайта Go by Example доступны на:

Спасибо

Спасибо Jeremy Ashkenas за Docco, вдохновившим на этот проект.