Skip to content
Go в примерах
HTML Go CSS Shell
Branch: master
Clone or download
This branch is 96 commits ahead, 333 commits behind mmcgrana:master.

Latest commit

Fetching latest commit…
Cannot retrieve the latest commit at this time.

Files

Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
examples
public
templates
tools
vendor/pygments
.env
.gitignore
.godir
Procfile
README.md
deploy.sh
examples.txt
server.go

README.md

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 git@github.com: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, вдохновившим на этот проект.

You can’t perform that action at this time.