Create jekyll-gh-pages.yml
Revert Commit inicial - quickstart do Pelican Remover README Teste de Action para Github Actions Clean repo Making it work with Pelican and fly.io Novo tema e tracking com Umami
This commit is contained in:
parent
7846dfde1d
commit
7228ee43b5
34 changed files with 1065 additions and 1 deletions
250
.gitignore
vendored
Normal file
250
.gitignore
vendored
Normal file
|
@ -0,0 +1,250 @@
|
||||||
|
# Created by https://www.toptal.com/developers/gitignore/api/python,vim,sublimetext,virtualenv
|
||||||
|
# Edit at https://www.toptal.com/developers/gitignore?templates=python,vim,sublimetext,virtualenv
|
||||||
|
|
||||||
|
### Python ###
|
||||||
|
# Byte-compiled / optimized / DLL files
|
||||||
|
__pycache__/
|
||||||
|
*.py[cod]
|
||||||
|
*$py.class
|
||||||
|
|
||||||
|
# C extensions
|
||||||
|
*.so
|
||||||
|
|
||||||
|
# Distribution / packaging
|
||||||
|
.Python
|
||||||
|
build/
|
||||||
|
develop-eggs/
|
||||||
|
dist/
|
||||||
|
downloads/
|
||||||
|
eggs/
|
||||||
|
.eggs/
|
||||||
|
lib/
|
||||||
|
lib64/
|
||||||
|
parts/
|
||||||
|
sdist/
|
||||||
|
var/
|
||||||
|
wheels/
|
||||||
|
share/python-wheels/
|
||||||
|
*.egg-info/
|
||||||
|
.installed.cfg
|
||||||
|
*.egg
|
||||||
|
MANIFEST
|
||||||
|
|
||||||
|
# PyInstaller
|
||||||
|
# Usually these files are written by a python script from a template
|
||||||
|
# before PyInstaller builds the exe, so as to inject date/other infos into it.
|
||||||
|
*.manifest
|
||||||
|
*.spec
|
||||||
|
|
||||||
|
# Installer logs
|
||||||
|
pip-log.txt
|
||||||
|
pip-delete-this-directory.txt
|
||||||
|
|
||||||
|
# Unit test / coverage reports
|
||||||
|
htmlcov/
|
||||||
|
.tox/
|
||||||
|
.nox/
|
||||||
|
.coverage
|
||||||
|
.coverage.*
|
||||||
|
.cache
|
||||||
|
nosetests.xml
|
||||||
|
coverage.xml
|
||||||
|
*.cover
|
||||||
|
*.py,cover
|
||||||
|
.hypothesis/
|
||||||
|
.pytest_cache/
|
||||||
|
cover/
|
||||||
|
|
||||||
|
# Translations
|
||||||
|
*.mo
|
||||||
|
*.pot
|
||||||
|
|
||||||
|
# Django stuff:
|
||||||
|
*.log
|
||||||
|
local_settings.py
|
||||||
|
db.sqlite3
|
||||||
|
db.sqlite3-journal
|
||||||
|
|
||||||
|
# Flask stuff:
|
||||||
|
instance/
|
||||||
|
.webassets-cache
|
||||||
|
|
||||||
|
# Scrapy stuff:
|
||||||
|
.scrapy
|
||||||
|
|
||||||
|
# Sphinx documentation
|
||||||
|
docs/_build/
|
||||||
|
|
||||||
|
# PyBuilder
|
||||||
|
.pybuilder/
|
||||||
|
target/
|
||||||
|
|
||||||
|
# Jupyter Notebook
|
||||||
|
.ipynb_checkpoints
|
||||||
|
|
||||||
|
# IPython
|
||||||
|
profile_default/
|
||||||
|
ipython_config.py
|
||||||
|
|
||||||
|
# pyenv
|
||||||
|
# For a library or package, you might want to ignore these files since the code is
|
||||||
|
# intended to run in multiple environments; otherwise, check them in:
|
||||||
|
# .python-version
|
||||||
|
|
||||||
|
# pipenv
|
||||||
|
# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
|
||||||
|
# However, in case of collaboration, if having platform-specific dependencies or dependencies
|
||||||
|
# having no cross-platform support, pipenv may install dependencies that don't work, or not
|
||||||
|
# install all needed dependencies.
|
||||||
|
#Pipfile.lock
|
||||||
|
|
||||||
|
# poetry
|
||||||
|
# Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control.
|
||||||
|
# This is especially recommended for binary packages to ensure reproducibility, and is more
|
||||||
|
# commonly ignored for libraries.
|
||||||
|
# https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control
|
||||||
|
#poetry.lock
|
||||||
|
|
||||||
|
# pdm
|
||||||
|
# Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control.
|
||||||
|
#pdm.lock
|
||||||
|
# pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it
|
||||||
|
# in version control.
|
||||||
|
# https://pdm.fming.dev/#use-with-ide
|
||||||
|
.pdm.toml
|
||||||
|
|
||||||
|
# PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm
|
||||||
|
__pypackages__/
|
||||||
|
|
||||||
|
# Celery stuff
|
||||||
|
celerybeat-schedule
|
||||||
|
celerybeat.pid
|
||||||
|
|
||||||
|
# SageMath parsed files
|
||||||
|
*.sage.py
|
||||||
|
|
||||||
|
# Environments
|
||||||
|
.env
|
||||||
|
.venv
|
||||||
|
env/
|
||||||
|
venv/
|
||||||
|
ENV/
|
||||||
|
env.bak/
|
||||||
|
venv.bak/
|
||||||
|
|
||||||
|
# Spyder project settings
|
||||||
|
.spyderproject
|
||||||
|
.spyproject
|
||||||
|
|
||||||
|
# Rope project settings
|
||||||
|
.ropeproject
|
||||||
|
|
||||||
|
# mkdocs documentation
|
||||||
|
/site
|
||||||
|
|
||||||
|
# mypy
|
||||||
|
.mypy_cache/
|
||||||
|
.dmypy.json
|
||||||
|
dmypy.json
|
||||||
|
|
||||||
|
# Pyre type checker
|
||||||
|
.pyre/
|
||||||
|
|
||||||
|
# pytype static type analyzer
|
||||||
|
.pytype/
|
||||||
|
|
||||||
|
# Cython debug symbols
|
||||||
|
cython_debug/
|
||||||
|
|
||||||
|
# PyCharm
|
||||||
|
# JetBrains specific template is maintained in a separate JetBrains.gitignore that can
|
||||||
|
# be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
|
||||||
|
# and can be added to the global gitignore or merged into this file. For a more nuclear
|
||||||
|
# option (not recommended) you can uncomment the following to ignore the entire idea folder.
|
||||||
|
#.idea/
|
||||||
|
|
||||||
|
### SublimeText ###
|
||||||
|
# Cache files for Sublime Text
|
||||||
|
*.tmlanguage.cache
|
||||||
|
*.tmPreferences.cache
|
||||||
|
*.stTheme.cache
|
||||||
|
|
||||||
|
# Workspace files are user-specific
|
||||||
|
*.sublime-workspace
|
||||||
|
|
||||||
|
# Project files should be checked into the repository, unless a significant
|
||||||
|
# proportion of contributors will probably not be using Sublime Text
|
||||||
|
# *.sublime-project
|
||||||
|
|
||||||
|
# SFTP configuration file
|
||||||
|
sftp-config.json
|
||||||
|
sftp-config-alt*.json
|
||||||
|
|
||||||
|
# Package control specific files
|
||||||
|
Package Control.last-run
|
||||||
|
Package Control.ca-list
|
||||||
|
Package Control.ca-bundle
|
||||||
|
Package Control.system-ca-bundle
|
||||||
|
Package Control.cache/
|
||||||
|
Package Control.ca-certs/
|
||||||
|
Package Control.merged-ca-bundle
|
||||||
|
Package Control.user-ca-bundle
|
||||||
|
oscrypto-ca-bundle.crt
|
||||||
|
bh_unicode_properties.cache
|
||||||
|
|
||||||
|
# Sublime-github package stores a github token in this file
|
||||||
|
# https://packagecontrol.io/packages/sublime-github
|
||||||
|
GitHub.sublime-settings
|
||||||
|
|
||||||
|
### Vim ###
|
||||||
|
# Swap
|
||||||
|
[._]*.s[a-v][a-z]
|
||||||
|
!*.svg # comment out if you don't need vector files
|
||||||
|
[._]*.sw[a-p]
|
||||||
|
[._]s[a-rt-v][a-z]
|
||||||
|
[._]ss[a-gi-z]
|
||||||
|
[._]sw[a-p]
|
||||||
|
|
||||||
|
# Session
|
||||||
|
Session.vim
|
||||||
|
Sessionx.vim
|
||||||
|
|
||||||
|
# Temporary
|
||||||
|
.netrwhist
|
||||||
|
*~
|
||||||
|
# Auto-generated tag files
|
||||||
|
tags
|
||||||
|
# Persistent undo
|
||||||
|
[._]*.un~
|
||||||
|
|
||||||
|
### VirtualEnv ###
|
||||||
|
# Virtualenv
|
||||||
|
# http://iamzed.com/2009/05/07/a-primer-on-virtualenv/
|
||||||
|
[Bb]in
|
||||||
|
[Ii]nclude
|
||||||
|
[Ll]ib
|
||||||
|
[Ll]ib64
|
||||||
|
[Ll]ocal
|
||||||
|
[Ss]cripts
|
||||||
|
pyvenv.cfg
|
||||||
|
pip-selfcheck.json
|
||||||
|
|
||||||
|
# End of https://www.toptal.com/developers/gitignore/api/python,vim,sublimetext,virtualenv
|
||||||
|
|
||||||
|
### Hugo ###
|
||||||
|
# Generated files by hugo
|
||||||
|
/public/
|
||||||
|
/resources/_gen/
|
||||||
|
/assets/jsconfig.json
|
||||||
|
hugo_stats.json
|
||||||
|
|
||||||
|
# Executable may be added to repository
|
||||||
|
hugo.exe
|
||||||
|
hugo.darwin
|
||||||
|
hugo.linux
|
||||||
|
|
||||||
|
# Temporary lock file while building
|
||||||
|
/.hugo_build.lock#
|
||||||
|
|
||||||
|
node_modules
|
||||||
|
output/
|
2
Dockerfile
Normal file
2
Dockerfile
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
FROM pierrezemb/gostatic
|
||||||
|
COPY ./receitasdecerveja/output/ /srv/http/
|
|
@ -1 +0,0 @@
|
||||||
# receitasdecerveja.com.br
|
|
22
fly.toml
Normal file
22
fly.toml
Normal file
|
@ -0,0 +1,22 @@
|
||||||
|
# fly.toml app configuration file generated for receitasdecerveja-com-br on 2023-12-15T19:36:49-03:00
|
||||||
|
#
|
||||||
|
# See https://fly.io/docs/reference/configuration/ for information about how to use this file.
|
||||||
|
#
|
||||||
|
|
||||||
|
app = "receitasdecerveja-com-br"
|
||||||
|
primary_region = "gru"
|
||||||
|
|
||||||
|
[build]
|
||||||
|
|
||||||
|
[http_service]
|
||||||
|
internal_port = 8043
|
||||||
|
force_https = true
|
||||||
|
auto_stop_machines = true
|
||||||
|
auto_start_machines = true
|
||||||
|
min_machines_running = 0
|
||||||
|
processes = ["app"]
|
||||||
|
|
||||||
|
[[vm]]
|
||||||
|
cpu_kind = "shared"
|
||||||
|
cpus = 1
|
||||||
|
memory_mb = 512
|
72
receitasdecerveja/Makefile
Normal file
72
receitasdecerveja/Makefile
Normal file
|
@ -0,0 +1,72 @@
|
||||||
|
PY?=
|
||||||
|
PELICAN?=pelican
|
||||||
|
PELICANOPTS=
|
||||||
|
|
||||||
|
BASEDIR=$(CURDIR)
|
||||||
|
INPUTDIR=$(BASEDIR)/content
|
||||||
|
OUTPUTDIR=$(BASEDIR)/output
|
||||||
|
CONFFILE=$(BASEDIR)/pelicanconf.py
|
||||||
|
PUBLISHCONF=$(BASEDIR)/publishconf.py
|
||||||
|
|
||||||
|
|
||||||
|
DEBUG ?= 0
|
||||||
|
ifeq ($(DEBUG), 1)
|
||||||
|
PELICANOPTS += -D
|
||||||
|
endif
|
||||||
|
|
||||||
|
RELATIVE ?= 0
|
||||||
|
ifeq ($(RELATIVE), 1)
|
||||||
|
PELICANOPTS += --relative-urls
|
||||||
|
endif
|
||||||
|
|
||||||
|
SERVER ?= "0.0.0.0"
|
||||||
|
|
||||||
|
PORT ?= 0
|
||||||
|
ifneq ($(PORT), 0)
|
||||||
|
PELICANOPTS += -p $(PORT)
|
||||||
|
endif
|
||||||
|
|
||||||
|
|
||||||
|
help:
|
||||||
|
@echo 'Makefile for a pelican Web site '
|
||||||
|
@echo ' '
|
||||||
|
@echo 'Usage: '
|
||||||
|
@echo ' make html (re)generate the web site '
|
||||||
|
@echo ' make clean remove the generated files '
|
||||||
|
@echo ' make regenerate regenerate files upon modification '
|
||||||
|
@echo ' make publish generate using production settings '
|
||||||
|
@echo ' make serve [PORT=8000] serve site at http://localhost:8000'
|
||||||
|
@echo ' make serve-global [SERVER=0.0.0.0] serve (as root) to $(SERVER):80 '
|
||||||
|
@echo ' make devserver [PORT=8000] serve and regenerate together '
|
||||||
|
@echo ' make devserver-global regenerate and serve on 0.0.0.0 '
|
||||||
|
@echo ' '
|
||||||
|
@echo 'Set the DEBUG variable to 1 to enable debugging, e.g. make DEBUG=1 html '
|
||||||
|
@echo 'Set the RELATIVE variable to 1 to enable relative urls '
|
||||||
|
@echo ' '
|
||||||
|
|
||||||
|
html:
|
||||||
|
"$(PELICAN)" "$(INPUTDIR)" -o "$(OUTPUTDIR)" -s "$(CONFFILE)" $(PELICANOPTS)
|
||||||
|
|
||||||
|
clean:
|
||||||
|
[ ! -d "$(OUTPUTDIR)" ] || rm -rf "$(OUTPUTDIR)"
|
||||||
|
|
||||||
|
regenerate:
|
||||||
|
"$(PELICAN)" -r "$(INPUTDIR)" -o "$(OUTPUTDIR)" -s "$(CONFFILE)" $(PELICANOPTS)
|
||||||
|
|
||||||
|
serve:
|
||||||
|
"$(PELICAN)" -l "$(INPUTDIR)" -o "$(OUTPUTDIR)" -s "$(CONFFILE)" $(PELICANOPTS)
|
||||||
|
|
||||||
|
serve-global:
|
||||||
|
"$(PELICAN)" -l "$(INPUTDIR)" -o "$(OUTPUTDIR)" -s "$(CONFFILE)" $(PELICANOPTS) -b $(SERVER)
|
||||||
|
|
||||||
|
devserver:
|
||||||
|
"$(PELICAN)" -lr "$(INPUTDIR)" -o "$(OUTPUTDIR)" -s "$(CONFFILE)" $(PELICANOPTS)
|
||||||
|
|
||||||
|
devserver-global:
|
||||||
|
"$(PELICAN)" -lr "$(INPUTDIR)" -o "$(OUTPUTDIR)" -s "$(CONFFILE)" $(PELICANOPTS) -b 0.0.0.0
|
||||||
|
|
||||||
|
publish:
|
||||||
|
"$(PELICAN)" "$(INPUTDIR)" -o "$(OUTPUTDIR)" -s "$(PUBLISHCONF)" $(PELICANOPTS)
|
||||||
|
|
||||||
|
|
||||||
|
.PHONY: html help clean regenerate serve serve-global devserver devserver-global publish
|
130
receitasdecerveja/content/english-amber-ale.md
Normal file
130
receitasdecerveja/content/english-amber-ale.md
Normal file
|
@ -0,0 +1,130 @@
|
||||||
|
Title: Carl Heron's English Amber Ale
|
||||||
|
Date: 2023-12-21 10:20
|
||||||
|
Category: receitas
|
||||||
|
|
||||||
|
**English Amber Ale** não é um estilo presente nos principais
|
||||||
|
guias de estilo (BJCP e BA), mas encontrei uma receita no livro
|
||||||
|
[Session Beers: brewing for flavor and balance](https://www.amazon.com.br/Session-Beers-Brewing-Flavor-Balance/dp/1938469410/)
|
||||||
|
e pelos ingredientes, ela aparenta ser uma versão de uma _American
|
||||||
|
Amber Ale_, menos lupulada e com perfil de maltes inglês. Posso estar
|
||||||
|
falando besteira, mas resolvi que essa será a próxima receita que vou
|
||||||
|
produzir!
|
||||||
|
|
||||||
|
A descrição no livro é de uma cerveja bem equilibrada onde os "delicados sabores
|
||||||
|
de malte caramelo adicionam uma agradável doçura e combinam-se artisticamente
|
||||||
|
com um aroma sutil de lúpulo".
|
||||||
|
|
||||||
|
## A receita do livro
|
||||||
|
|
||||||
|
O problema de pegar receitas em livros estrangeiros é que as vezes (ou quase sempre)
|
||||||
|
não temos exatamente os mesmos ingredientes sugeridos, então temos que fazer algumas
|
||||||
|
adaptações, além de depender do que estiver disponível nas lojas de insumo quando eu
|
||||||
|
realmente for produzir. A receita original do livro é a seguinte:
|
||||||
|
|
||||||
|
- **OG**: 1.040 (10°P)
|
||||||
|
- **FG**: 1.009 (2.25°P)
|
||||||
|
- **IBU**: 20
|
||||||
|
- **ABV**: 4% (como toda receita desse livro, o teor alcoólico dela é baixo)
|
||||||
|
|
||||||
|
**Fermentáveis**
|
||||||
|
|
||||||
|
- 91% English pale malt
|
||||||
|
- 6% crystal 150°L
|
||||||
|
- 2.5% caramalt 15°L
|
||||||
|
- 0.5% roast barley
|
||||||
|
|
||||||
|
**Lúpulos**
|
||||||
|
|
||||||
|
- 5% de IBU Perle (8% AA) em 90'
|
||||||
|
- 5% de IBU Perle (8% AA) em 20'
|
||||||
|
- 30% de IBU Aurora (8.25% AA) em 0'
|
||||||
|
- 30% de IBU Perle (8% AA) em 0'
|
||||||
|
- 5% de IBU Northern Brewer (8.5% AA) em 0'
|
||||||
|
|
||||||
|
**Fermento**
|
||||||
|
|
||||||
|
- US-05
|
||||||
|
|
||||||
|
**Outras informações**
|
||||||
|
|
||||||
|
- **Água**: no livro existem algumas sugestões de ajuste de água. Mas como eu ainda não
|
||||||
|
faço nenhum tratamento de água, não vou colocar aqui
|
||||||
|
- **Mostura**: 68°C (estou considerando uma mostura padrão de 1h)
|
||||||
|
- **Fermentação**: Iniciar a fermentação em 18°C e depois manter em 21°C durante o restante
|
||||||
|
do tempo
|
||||||
|
- **Carbonatação**: 2.0-2.5 de CO₂
|
||||||
|
|
||||||
|
## A receita real
|
||||||
|
|
||||||
|
Preciso começar a utilizar algum software do tipo Brewsmith para fazer
|
||||||
|
ajustes de valores e proporções baseados no meu sistema BIAB que utilizo. Só que
|
||||||
|
nunca fiz anotações relevantes em todas as minhas outras brassagens. Então dessa
|
||||||
|
vez vou utilizar as quantidades sugeridas no livro e com os resultados anotados, ter como
|
||||||
|
ajustar os parâmetros em minhas próximas brassagens.
|
||||||
|
|
||||||
|
Modificando e ajustando dede acordo com o que encontrei nas lojas de insumos aqui
|
||||||
|
da região, a receita fica a seguinte:
|
||||||
|
|
||||||
|
**Fermentáveis**
|
||||||
|
|
||||||
|
- 3.4kg Maris Otter
|
||||||
|
- 225g Crystal 150
|
||||||
|
- 115g Carablond
|
||||||
|
- 28g Cevada torrada
|
||||||
|
|
||||||
|
**Lúpulos**
|
||||||
|
|
||||||
|
- 5% de IBU Perle (8% AA) em 90'
|
||||||
|
- 5% de IBU Perle (8% AA) em 20'
|
||||||
|
- 30% de IBU Styrian Gold (8.25% AA) em 0'
|
||||||
|
- 30% de IBU Perle (8% AA) em 0'
|
||||||
|
- 5% de IBU Northern Brewer (8.5% AA) em 0'
|
||||||
|
|
||||||
|
Sobre os lúpulos:
|
||||||
|
|
||||||
|
- **[Perle](https://learn.kegerator.com/perle-hops/)** é um lúpulo alemão (também
|
||||||
|
produzido nos EUA) que pode ser utilizado tanto para aroma (a variedade alemã
|
||||||
|
parece melhor para isso), como para amargor. Tem um sabor e aroma de
|
||||||
|
especiarias e picantes. Algumas notas de menta, floral e de chá.
|
||||||
|
|
||||||
|
- **[Northern Brewer](https://yakimavalleyhops.com/products/northern-brewer-hop-pellets)** é um
|
||||||
|
lúpulo de origem inglesa (mas muito cultivado na Alemanha) utilizado tanto para aroma como
|
||||||
|
para amargor. Resinoso com notas aromáticas de pinho e menta.
|
||||||
|
|
||||||
|
- **[Styrian Gold](https://www.hopslist.com/hops/dual-purpose-hops/styrian-gold/)** é um
|
||||||
|
lúpulo esloveno. Um substituto mais próximo que encontrei do **Aurora**
|
||||||
|
da receita original, mantendo um perfil parecido combinando sutilmente frutas tropicais com
|
||||||
|
aromas e sabores herbais, que incluem lima, hortelã e chá de limão.
|
||||||
|
|
||||||
|
**Fermento**
|
||||||
|
|
||||||
|
O [US-05](https://fermentis.com/en/product/safale-us-05/) é um fermento neutro, utilizado normalmente
|
||||||
|
em cervejas Ale americanas. Por ser um fermento seco e fácil de encontrar, decidi utilizá-lo.
|
||||||
|
|
||||||
|
## Custo
|
||||||
|
|
||||||
|
Para estimar o custo da receita, fiz uma pesquisa nas páginas de algumas lojas de insumo
|
||||||
|
e cheguei nos seguintes valores (obtidos em novembro/2023):
|
||||||
|
|
||||||
|
- **Maltes**: o mais caro é o Maris Otter (~R$69), juntando com os outros maltes, tenho um
|
||||||
|
valor aproximado de R$80.
|
||||||
|
- **Lúpulos**: na maioria das lojas, eu só consigo comprar pacotes fechados de 50g de cada
|
||||||
|
variedade. Isso é mais do que eu preciso e vou utilizar o que sobrar em outras receitas.
|
||||||
|
O valor é aproximadamente R$55.
|
||||||
|
- **Fermento**: um pacote de US-05 está custando em torno de R$21.
|
||||||
|
|
||||||
|
Não vou comprar nenhum equipamento e também não estou considerando custos como gás, material de
|
||||||
|
limpeza e sanitização, etc. (eu já tenho a maioria), então para essa receita, sobrando um pouco
|
||||||
|
de lúpulo que pode ser aproveitado em outras receitas, temos um total de aproximadamente **R$156**
|
||||||
|
para produzir 20L da cerveja (R$7.80/L).
|
||||||
|
|
||||||
|
## Expectativa
|
||||||
|
|
||||||
|
Pelas informações que encontrei, os lúpulos não possuem um perfil aromático e de sabor tão fortes.
|
||||||
|
Desse modo, estou esperando uma cerveja onde o sabor do malte será mais presente, com o lúpulo em um
|
||||||
|
segundo plano, com uma cerveja com sabor mais herbal com tendendo a menta (hortelã e pinho). Pela
|
||||||
|
temperatura de mostura, o corpo deve ser mais alto, ressaltando mais a presença do malte e a cor
|
||||||
|
mais avermelhada.
|
||||||
|
|
||||||
|
Agora preciso comprar todos os ingredientes e fazer essa cerveja para ver se o que eu espero a partir
|
||||||
|
da análise da receita (bem superficial!) é o que vou obter.
|
33
receitasdecerveja/pelicanconf.py
Normal file
33
receitasdecerveja/pelicanconf.py
Normal file
|
@ -0,0 +1,33 @@
|
||||||
|
AUTHOR = "Renne Rocha"
|
||||||
|
SITENAME = "Receitas de Cerveja"
|
||||||
|
SITEURL = "https://receitasdecerveja.com.br"
|
||||||
|
|
||||||
|
PATH = "content"
|
||||||
|
|
||||||
|
TIMEZONE = "America/Sao_Paulo"
|
||||||
|
|
||||||
|
DEFAULT_LANG = "pt-br"
|
||||||
|
DEFAULT_DATE_FORMAT = '%d / %m / %Y'
|
||||||
|
|
||||||
|
FEED_ALL_ATOM = None
|
||||||
|
CATEGORY_FEED_ATOM = None
|
||||||
|
TRANSLATION_FEED_ATOM = None
|
||||||
|
AUTHOR_FEED_ATOM = None
|
||||||
|
AUTHOR_FEED_RSS = None
|
||||||
|
|
||||||
|
# Blogroll
|
||||||
|
LINKS = (
|
||||||
|
("Mastodon", "https://chaos.social/@rennerocha"),
|
||||||
|
)
|
||||||
|
|
||||||
|
# Social widget
|
||||||
|
SOCIAL = (
|
||||||
|
("Mastodon", "https://chaos.social/@rennerocha"),
|
||||||
|
)
|
||||||
|
|
||||||
|
DEFAULT_PAGINATION = 3
|
||||||
|
|
||||||
|
RELATIVE_URLS = True
|
||||||
|
|
||||||
|
THEME = "themes/monospace"
|
||||||
|
UMAMI_WEBSITE_ID = ""
|
22
receitasdecerveja/publishconf.py
Normal file
22
receitasdecerveja/publishconf.py
Normal file
|
@ -0,0 +1,22 @@
|
||||||
|
# This file is only used if you use `make publish` or
|
||||||
|
# explicitly specify it as your config file.
|
||||||
|
|
||||||
|
import os
|
||||||
|
import sys
|
||||||
|
|
||||||
|
sys.path.append(os.curdir)
|
||||||
|
from pelicanconf import *
|
||||||
|
|
||||||
|
# If your site is available via HTTPS, make sure SITEURL begins with https://
|
||||||
|
SITEURL = "https://receitasdecerveja.com.br"
|
||||||
|
RELATIVE_URLS = False
|
||||||
|
|
||||||
|
FEED_ALL_ATOM = "feeds/all.atom.xml"
|
||||||
|
CATEGORY_FEED_ATOM = "feeds/{slug}.atom.xml"
|
||||||
|
|
||||||
|
DELETE_OUTPUT_DIRECTORY = True
|
||||||
|
|
||||||
|
# Following items are often useful when publishing
|
||||||
|
|
||||||
|
# DISQUS_SITENAME = ""
|
||||||
|
# GOOGLE_ANALYTICS = ""
|
147
receitasdecerveja/tasks.py
Normal file
147
receitasdecerveja/tasks.py
Normal file
|
@ -0,0 +1,147 @@
|
||||||
|
import os
|
||||||
|
import shlex
|
||||||
|
import shutil
|
||||||
|
import sys
|
||||||
|
import datetime
|
||||||
|
|
||||||
|
from invoke import task
|
||||||
|
from invoke.main import program
|
||||||
|
from invoke.util import cd
|
||||||
|
from pelican import main as pelican_main
|
||||||
|
from pelican.server import ComplexHTTPRequestHandler, RootedHTTPServer
|
||||||
|
from pelican.settings import DEFAULT_CONFIG, get_settings_from_file
|
||||||
|
|
||||||
|
OPEN_BROWSER_ON_SERVE = True
|
||||||
|
SETTINGS_FILE_BASE = "pelicanconf.py"
|
||||||
|
SETTINGS = {}
|
||||||
|
SETTINGS.update(DEFAULT_CONFIG)
|
||||||
|
LOCAL_SETTINGS = get_settings_from_file(SETTINGS_FILE_BASE)
|
||||||
|
SETTINGS.update(LOCAL_SETTINGS)
|
||||||
|
|
||||||
|
CONFIG = {
|
||||||
|
"settings_base": SETTINGS_FILE_BASE,
|
||||||
|
"settings_publish": "publishconf.py",
|
||||||
|
# Output path. Can be absolute or relative to tasks.py. Default: 'output'
|
||||||
|
"deploy_path": SETTINGS["OUTPUT_PATH"],
|
||||||
|
# Host and port for `serve`
|
||||||
|
"host": "localhost",
|
||||||
|
"port": 8000,
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@task
|
||||||
|
def clean(c):
|
||||||
|
"""Remove generated files"""
|
||||||
|
if os.path.isdir(CONFIG["deploy_path"]):
|
||||||
|
shutil.rmtree(CONFIG["deploy_path"])
|
||||||
|
os.makedirs(CONFIG["deploy_path"])
|
||||||
|
|
||||||
|
|
||||||
|
@task
|
||||||
|
def build(c):
|
||||||
|
"""Build local version of site"""
|
||||||
|
pelican_run("-s {settings_base}".format(**CONFIG))
|
||||||
|
|
||||||
|
|
||||||
|
@task
|
||||||
|
def rebuild(c):
|
||||||
|
"""`build` with the delete switch"""
|
||||||
|
pelican_run("-d -s {settings_base}".format(**CONFIG))
|
||||||
|
|
||||||
|
|
||||||
|
@task
|
||||||
|
def regenerate(c):
|
||||||
|
"""Automatically regenerate site upon file modification"""
|
||||||
|
pelican_run("-r -s {settings_base}".format(**CONFIG))
|
||||||
|
|
||||||
|
|
||||||
|
@task
|
||||||
|
def serve(c):
|
||||||
|
"""Serve site at http://$HOST:$PORT/ (default is localhost:8000)"""
|
||||||
|
|
||||||
|
class AddressReuseTCPServer(RootedHTTPServer):
|
||||||
|
allow_reuse_address = True
|
||||||
|
|
||||||
|
server = AddressReuseTCPServer(
|
||||||
|
CONFIG["deploy_path"],
|
||||||
|
(CONFIG["host"], CONFIG["port"]),
|
||||||
|
ComplexHTTPRequestHandler,
|
||||||
|
)
|
||||||
|
|
||||||
|
if OPEN_BROWSER_ON_SERVE:
|
||||||
|
# Open site in default browser
|
||||||
|
import webbrowser
|
||||||
|
|
||||||
|
webbrowser.open("http://{host}:{port}".format(**CONFIG))
|
||||||
|
|
||||||
|
sys.stderr.write("Serving at {host}:{port} ...\n".format(**CONFIG))
|
||||||
|
server.serve_forever()
|
||||||
|
|
||||||
|
|
||||||
|
@task
|
||||||
|
def reserve(c):
|
||||||
|
"""`build`, then `serve`"""
|
||||||
|
build(c)
|
||||||
|
serve(c)
|
||||||
|
|
||||||
|
|
||||||
|
@task
|
||||||
|
def preview(c):
|
||||||
|
"""Build production version of site"""
|
||||||
|
pelican_run("-s {settings_publish}".format(**CONFIG))
|
||||||
|
|
||||||
|
@task
|
||||||
|
def livereload(c):
|
||||||
|
"""Automatically reload browser tab upon file modification."""
|
||||||
|
from livereload import Server
|
||||||
|
|
||||||
|
def cached_build():
|
||||||
|
cmd = "-s {settings_base} -e CACHE_CONTENT=true LOAD_CONTENT_CACHE=true"
|
||||||
|
pelican_run(cmd.format(**CONFIG))
|
||||||
|
|
||||||
|
cached_build()
|
||||||
|
server = Server()
|
||||||
|
theme_path = SETTINGS["THEME"]
|
||||||
|
watched_globs = [
|
||||||
|
CONFIG["settings_base"],
|
||||||
|
f"{theme_path}/templates/**/*.html",
|
||||||
|
]
|
||||||
|
|
||||||
|
content_file_extensions = [".md", ".rst"]
|
||||||
|
for extension in content_file_extensions:
|
||||||
|
content_glob = "{}/**/*{}".format(SETTINGS["PATH"], extension)
|
||||||
|
watched_globs.append(content_glob)
|
||||||
|
|
||||||
|
static_file_extensions = [".css", ".js"]
|
||||||
|
for extension in static_file_extensions:
|
||||||
|
static_file_glob = f"{theme_path}/static/**/*{extension}"
|
||||||
|
watched_globs.append(static_file_glob)
|
||||||
|
|
||||||
|
for glob in watched_globs:
|
||||||
|
server.watch(glob, cached_build)
|
||||||
|
|
||||||
|
if OPEN_BROWSER_ON_SERVE:
|
||||||
|
# Open site in default browser
|
||||||
|
import webbrowser
|
||||||
|
|
||||||
|
webbrowser.open("http://{host}:{port}".format(**CONFIG))
|
||||||
|
|
||||||
|
server.serve(host=CONFIG["host"], port=CONFIG["port"], root=CONFIG["deploy_path"])
|
||||||
|
|
||||||
|
|
||||||
|
@task
|
||||||
|
def publish(c):
|
||||||
|
"""Publish to production via rsync"""
|
||||||
|
pelican_run("-s {settings_publish}".format(**CONFIG))
|
||||||
|
c.run(
|
||||||
|
'rsync --delete --exclude ".DS_Store" -pthrvz -c '
|
||||||
|
'-e "ssh -p {ssh_port}" '
|
||||||
|
"{} {ssh_user}@{ssh_host}:{ssh_path}".format(
|
||||||
|
CONFIG["deploy_path"].rstrip("/") + "/", **CONFIG
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
def pelican_run(cmd):
|
||||||
|
cmd += " " + program.core.remainder # allows to pass-through args to pelican
|
||||||
|
pelican_main(shlex.split(cmd))
|
13
receitasdecerveja/themes/monospace/LICENSE
Normal file
13
receitasdecerveja/themes/monospace/LICENSE
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
|
||||||
|
Version 2, December 2004
|
||||||
|
|
||||||
|
Copyright (C) 2004 Sam Hocevar <sam@hocevar.net>
|
||||||
|
|
||||||
|
Everyone is permitted to copy and distribute verbatim or modified
|
||||||
|
copies of this license document, and changing it is allowed as long
|
||||||
|
as the name is changed.
|
||||||
|
|
||||||
|
DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
|
||||||
|
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
||||||
|
|
||||||
|
0. You just DO WHAT THE FUCK YOU WANT TO.
|
18
receitasdecerveja/themes/monospace/README.md
Normal file
18
receitasdecerveja/themes/monospace/README.md
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
Monospace
|
||||||
|
==========
|
||||||
|
|
||||||
|
Theme adapted from [Monospace for Wordpress](http://wordpress.org/themes/monospace)
|
||||||
|
Here is a screenshot for your viewing pleasure:
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
If you are using Markdown, you need to include the following option in your settings file to enable syntax highlighting.
|
||||||
|
|
||||||
|
MD_EXTENSIONS = ['codehilite(css_class=codehilite code)']
|
||||||
|
|
||||||
|
Also, you might want to include the `DESCRIPTION` option (it appears in the left sidebar):
|
||||||
|
|
||||||
|
DESCRIPTION = 'My blog and stuff ...'
|
||||||
|
|
||||||
|
Nice and simple,
|
||||||
|
Enjoy!
|
BIN
receitasdecerveja/themes/monospace/screenshot.png
Normal file
BIN
receitasdecerveja/themes/monospace/screenshot.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 67 KiB |
107
receitasdecerveja/themes/monospace/static/css/main.css
Normal file
107
receitasdecerveja/themes/monospace/static/css/main.css
Normal file
|
@ -0,0 +1,107 @@
|
||||||
|
/**
|
||||||
|
* Theme Name: Monospace
|
||||||
|
* Theme URI: http://vinicius.soylocoporti.org.br/monospace-wordpress-theme
|
||||||
|
* Description: A clean, extra-light, easy, objective, image free and 80 columns monospaced content theme. Made for code, manuals and e-mail publishing. Good for programming blogs, planets and posting by mail.
|
||||||
|
* Author: Vinicius Massuchetto
|
||||||
|
* Author URI: http://vinicius.soylocoporti.org.br
|
||||||
|
* Version: 1.91
|
||||||
|
* Tags: white, blue, two-columns, fixed-width, threaded-comments, translation-ready
|
||||||
|
* License: GNU General Public License v2.0
|
||||||
|
* License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
||||||
|
*/
|
||||||
|
|
||||||
|
@import url("pygment.css");
|
||||||
|
|
||||||
|
body { margin:0px; padding:20px 0px; text-align:center; font-family:Monospace; color:#585858; }
|
||||||
|
a, a:visited { text-decoration:none; color:rgb(17, 170, 34); }
|
||||||
|
a:hover { color:#FFF; background-color:#5353CB }
|
||||||
|
h1, h2, h3, h4, h5, h6, h7 { margin:0px; text-transform:uppercase; }
|
||||||
|
h4, h5, h6 { font-size:14px; }
|
||||||
|
h1 { padding:0px 0px 15px; margin:0px 0px 15px 0px; }
|
||||||
|
blockquote { font-style:italic; background:#EAEAEA; margin:20px; padding:5px 10px; }
|
||||||
|
blockquote cite { display:block; padding:10px 20px 0 0; text-align:right; }
|
||||||
|
input, textarea { padding:5px; border:1px solid #8A8A8A; background:#EAEAEA; }
|
||||||
|
input:hover, textarea:hover, blockquote:hover { background:#E5E5E5; }
|
||||||
|
|
||||||
|
#wrap { margin:0px auto; text-align:left; font-size: 13px; line-height: 1.4; }
|
||||||
|
#container { float:right; }
|
||||||
|
#sidebar { overflow:hidden; clear:left; text-align:right; width:250px; height:auto; padding:0px 15px 0px 0px; border-right:1px dotted #C8C8C8; }
|
||||||
|
#sidebar li { list-style-type:none; }
|
||||||
|
#sidebar > li { margin:20px 0px; }
|
||||||
|
#sidebar h1 { border-bottom:1px dotted #C8C8C8; }
|
||||||
|
#sidebar .description { display:block; width:100%; height:auto; margin:0px 0px 10px 0px; }
|
||||||
|
|
||||||
|
ul.sub-menu, ul.children { margin:0px 10px 0px 0px; }
|
||||||
|
|
||||||
|
.post { margin:0px 0px 30px 0px; padding:0px 0px 30px 0px; border-bottom:1px dotted #C8C8C8; }
|
||||||
|
.post-edit-link { clear:both; }
|
||||||
|
.meta { margin:10px; padding:15px; background:#EAEAEA; clear:both; }
|
||||||
|
.meta span { display:block; clear:left; }
|
||||||
|
.thumbnail { margin:0px; padding:0px; }
|
||||||
|
.thumbnail img { float:right; }
|
||||||
|
|
||||||
|
.entry { font-size: 14px; line-height: 20px; }
|
||||||
|
.entry h2, h3, h4, h5 { margin:30px 0px 10px 0px; }
|
||||||
|
.entry img { display:block; border:1px solid #BDBDBD !important; }
|
||||||
|
.entry img.wp-smiley { border:0px !important; }
|
||||||
|
.entry a img:hover { background-color:transparent; border:1px solid #E5E5E5 !important; }
|
||||||
|
.entry .aligncenter, div.aligncenter { margin:10px auto; }
|
||||||
|
.entry .alignleft { float: left; margin:10px 15px 10px 0px; }
|
||||||
|
.entry .alignright { float: right; margin:10px 0px 10px 15px; }
|
||||||
|
.entry .alignnone { margin:10px 0px; }
|
||||||
|
.entry .gallery, .wp-caption { text-align:center; background:#EAEAEA; margin:10px; padding:10px; border:0px; max-width:520px; height:auto; }
|
||||||
|
.entry .wp-caption img { border:0 none; margin:0px auto; padding:0; max-width:500px; height:auto; }
|
||||||
|
.entry .gallery:hover, .wp-caption:hover { background:#E5E5E5; }
|
||||||
|
.entry .gallery-caption, .wp-caption-text { background:transparent; }
|
||||||
|
.entry .wp-caption p.wp-caption-text { font-size:11px; line-height:17px; margin:5px 50px 0px; }
|
||||||
|
.entry .gallery-icon { width:100%; height:auto; }
|
||||||
|
.entry .gallery-icon img { margin:0px auto; }
|
||||||
|
.entry .gallery-caption { margin:5px 10px 0px 0px; padding:0px; }
|
||||||
|
.entry p.attachment img { margin:0px auto; }
|
||||||
|
.sticky { border-bottom:3px dotted #C8C8C8; }
|
||||||
|
|
||||||
|
|
||||||
|
.wp_syntax { padding:5px 0px; }
|
||||||
|
.wp_syntax pre { line-height:1.3; }
|
||||||
|
.wp_syntax pre.php { line-height:1; }
|
||||||
|
|
||||||
|
.widget_recent_entries ul li,
|
||||||
|
.widget_recent_comments ul li,
|
||||||
|
.widget_rss ul li { margin:10px 0px; padding:10px 0px; border-top:1px dotted #C8C8C8; }
|
||||||
|
|
||||||
|
.related { margin:20px 0px 0px 0px; }
|
||||||
|
.nav { margin:30px 0px; text-align:center; }
|
||||||
|
|
||||||
|
#comments { border-top:1px dotted #C8C8C8; margin:30px 0px 0px 0px; padding:30px 0px 0px 0px; }
|
||||||
|
.commentlist li { list-style-type:none; padding:10px; margin:20px 0px 0px 0px; }
|
||||||
|
.commentlist li.even { background:#EAEAEA; }
|
||||||
|
.commentlist li.odd { background:#D6D6D6; }
|
||||||
|
.comment-author img { float:left; margin:0px 10px 10px 0px; }
|
||||||
|
ul.commentlist ul.children { padding-left:10px; }
|
||||||
|
ul.commentlist ul.children li { list-style-type:none; border:1px solid #AAA }
|
||||||
|
.form-section { margin:10px 0px; text-align:right; }
|
||||||
|
.form-section div { display:inline; }
|
||||||
|
.bypostauthor { border:3px dotted #C8C8C8; }
|
||||||
|
.form-allowed-tags { display:none; }
|
||||||
|
|
||||||
|
#respond { margin:30px 0px 0px 0px; background:#FFF; border:1px solid #9A9A9A; margin:30px 0 0; padding:20px; }
|
||||||
|
#commentform p { text-align:right; }
|
||||||
|
#commentform input { width:50%; height:auto; margin:0px 0px 0px 10px; }
|
||||||
|
#commentform .required { font-weight:bold; }
|
||||||
|
#commentform textarea { width:95%; height:auto; margin:10px 0px 0px 0px; }
|
||||||
|
#commentform .comment-form-comment { margin-bottom:5px; text-align:right; }
|
||||||
|
#commentform .form-allowed-tags { color:#8A8A8A; margin-top:0px; font-size:10px; }
|
||||||
|
|
||||||
|
input#submit { font-weight:bold; }
|
||||||
|
input#s { width:70%; height:auto; margin:5px 0px; }
|
||||||
|
|
||||||
|
#footer { text-align:center; clear:both; }
|
||||||
|
#footer div { margin:30px 0px 0px 0px; padding:30px 0px 0px 0px; border-top:1px dotted #C8C8C8; }
|
||||||
|
#footer li { list-style-type:none; }
|
||||||
|
#footer .widget_tag_cloud h2 { display:none; }
|
||||||
|
|
||||||
|
/* LWM EDITS */
|
||||||
|
#page-title{
|
||||||
|
position : relative;
|
||||||
|
top : 8px;
|
||||||
|
}
|
|
@ -0,0 +1,2 @@
|
||||||
|
.highlight code,.highlight pre{color:#fdce93;background-color:#3f3f3f;padding:10px;}.highlight .hll{background-color:#222}.highlight .c{color:#7f9f7f}.highlight .err{color:#e37170;background-color:#3d3535}.highlight .g{color:#7f9f7f}.highlight .k{color:#f0dfaf}.highlight .l{color:#ccc}.highlight .n{color:#dcdccc}.highlight .o{color:#f0efd0}.highlight .x{color:#ccc}.highlight .p{color:#41706f}.highlight .cm{color:#7f9f7f}.highlight .cp{color:#7f9f7f}.highlight .c1{color:#7f9f7f}.highlight .cs{color:#cd0000;font-weight:bold}.highlight .gd{color:#cd0000}.highlight .ge{color:#ccc;font-style:italic}.highlight .gr{color:red}.highlight .gh{color:#dcdccc;font-weight:bold}.highlight .gi{color:#00cd00}.highlight .go{color:gray}.highlight .gp{color:#dcdccc;font-weight:bold}.highlight .gs{color:#ccc;font-weight:bold}.highlight .gu{color:purple;font-weight:bold}.highlight .gt{color:#0040D0}.highlight .kc{color:#dca3a3}.highlight .kd{color:#ffff86}.highlight .kn{color:#dfaf8f;font-weight:bold}.highlight .kp{color:#cdcf99}.highlight .kr{color:#cdcd00}.highlight .kt{color:#00cd00}.highlight .ld{color:#cc9393}.highlight .m{color:#8cd0d3}.highlight .s{color:#cc9393}.highlight .na{color:#9ac39f}.highlight .nb{color:#efef8f}.highlight .nc{color:#efef8f}.highlight .no{color:#ccc}.highlight .nd{color:#ccc}.highlight .ni{color:#c28182}.highlight .ne{color:#c3bf9f;font-weight:bold}.highlight .nf{color:#efef8f}.highlight .nl{color:#ccc}.highlight .nn{color:#8fbede}.highlight .nx{color:#ccc}.highlight .py{color:#ccc}.highlight .nt{color:#9ac39f}.highlight .nv{color:#dcdccc}.highlight .ow{color:#f0efd0}.highlight .w{color:#ccc}.highlight .mf{color:#8cd0d3}.highlight .mh{color:#8cd0d3}.highlight .mi{color:#8cd0d3}.highlight .mo{color:#8cd0d3}.highlight .sb{color:#cc9393}.highlight .sc{color:#cc9393}.highlight .sd{color:#cc9393}.highlight .s2{color:#cc9393}.highlight .se{color:#cc9393}.highlight .sh{color:#cc9393}.highlight .si{color:#cc9393}.highlight .sx{color:#cc9393}.highlight .sr{color:#cc9393}.highlight .s1{color:#cc9393}.highlight .ss{color:#cc9393}.highlight .bp{color:#efef8f}.highlight .vc{color:#efef8f}.highlight .vg{color:#dcdccc}.highlight .vi{color:#ffffc7}.highlight .il{color:#8cd0d3}
|
||||||
|
|
|
@ -0,0 +1,3 @@
|
||||||
|
{% if UMAMI_WEBSITE_ID %}
|
||||||
|
<script async src="https://eu.umami.is/script.js" data-website-id="{{ UMAMI_WEBSITE_ID }}"></script>
|
||||||
|
{% endif %}
|
13
receitasdecerveja/themes/monospace/templates/archives.html
Normal file
13
receitasdecerveja/themes/monospace/templates/archives.html
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
{% extends "base.html" %}
|
||||||
|
{% block content %}
|
||||||
|
<section id="content" class="body">
|
||||||
|
<h1>Archives for {{ SITENAME }}</h1>
|
||||||
|
|
||||||
|
<dl>
|
||||||
|
{% for article in dates %}
|
||||||
|
<dt>{{ article.locale_date }}</dt>
|
||||||
|
<dd><a href='{{ SITEURL }}/{{ article.url }}'>{{ article.title }}</a></dd>
|
||||||
|
{% endfor %}
|
||||||
|
</dl>
|
||||||
|
</section>
|
||||||
|
{% endblock %}
|
29
receitasdecerveja/themes/monospace/templates/article.html
Normal file
29
receitasdecerveja/themes/monospace/templates/article.html
Normal file
|
@ -0,0 +1,29 @@
|
||||||
|
{% extends "base.html" %}
|
||||||
|
{% block title %}{{ super() }} : {{ article.title }}{% endblock %}
|
||||||
|
{% block content %}
|
||||||
|
<header>
|
||||||
|
<h1><a href="{{ SITEURL }}" id="site-title"> {#{{ SITENAME }}#} {% if SITESUBTITLE %} <strong>{{ SITESUBTITLE }}</strong>{% endif %}</a> {#:#}
|
||||||
|
<a href="{{ SITEURL }}/{{ article.url }}" id="page-title">{{ article.title }}</a></h1>
|
||||||
|
{% if not HIDE_DATE %}<time datetime="{{ article.date.isoformat() }}">{{ article.locale_date }}</time>{% endif %}
|
||||||
|
</header>
|
||||||
|
<article>
|
||||||
|
{{ article.content }}
|
||||||
|
{% if DISQUS_SITENAME and SITEURL and article.status != "draft" %}
|
||||||
|
<h2>Comments</h2>
|
||||||
|
<div id="disqus_thread"></div>
|
||||||
|
<script type="text/javascript">
|
||||||
|
var disqus_shortname = '{{ DISQUS_SITENAME }}';
|
||||||
|
var disqus_identifier = '{{ article.url }}';
|
||||||
|
var disqus_url = '{{ SITEURL }}/{{ article.url }}';
|
||||||
|
(function() {
|
||||||
|
var dsq = document.createElement('script');
|
||||||
|
dsq.type = 'text/javascript'; dsq.async = true;
|
||||||
|
dsq.src = 'https://' + disqus_shortname + '.disqus.com/embed.js';
|
||||||
|
(document.getElementsByTagName('head')[0] ||
|
||||||
|
document.getElementsByTagName('body')[0]).appendChild(dsq);
|
||||||
|
})();
|
||||||
|
</script>
|
||||||
|
<noscript>Please enable JavaScript to view the comments.</noscript>
|
||||||
|
{% endif %}
|
||||||
|
</article>
|
||||||
|
{% endblock %}
|
2
receitasdecerveja/themes/monospace/templates/author.html
Normal file
2
receitasdecerveja/themes/monospace/templates/author.html
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
{% extends "index.html" %}
|
||||||
|
{% block title %}{{ SITENAME }} - {{ author }}{% endblock %}
|
71
receitasdecerveja/themes/monospace/templates/base.html
Normal file
71
receitasdecerveja/themes/monospace/templates/base.html
Normal file
|
@ -0,0 +1,71 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<title>{% block title %}{{ SITENAME }}{%endblock%}</title>
|
||||||
|
<meta charset="utf-8" />
|
||||||
|
<link rel="stylesheet" href="{{ SITEURL }}/theme/css/{{ CSS_FILE }}" type="text/css" />
|
||||||
|
<link href="{{ SITEURL }}/{{ FEED }}" type="application/atom+xml" rel="alternate" title="{{ SITENAME }} ATOM Feed" />
|
||||||
|
{% if FEED_RSS %}
|
||||||
|
<link href="{{ SITEURL }}/{{ FEED_RSS }}" type="application/atom+xml" rel="alternate" title="{{ SITENAME }} RSS Feed" />
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
<!--[if IE]>
|
||||||
|
<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script><![endif]-->
|
||||||
|
|
||||||
|
<!--[if lte IE 7]>
|
||||||
|
<link rel="stylesheet" type="text/css" media="all" href="{{ SITEURL }}/css/ie.css"/>
|
||||||
|
<script src="{{ SITEURL }}/js/IE8.js" type="text/javascript"></script><![endif]-->
|
||||||
|
|
||||||
|
<!--[if lt IE 7]>
|
||||||
|
<link rel="stylesheet" type="text/css" media="all" href="{{ SITEURL }}/css/ie6.css"/><![endif]-->
|
||||||
|
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
<div id="wrap" style="width:850px">
|
||||||
|
<div id="container" style="width:560px">
|
||||||
|
{% include 'github.html' %}
|
||||||
|
|
||||||
|
|
||||||
|
<div class="entry">
|
||||||
|
{% block content %}
|
||||||
|
{% endblock %}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<div id="sidebar">
|
||||||
|
<h1><a href="{{ SITEURL }} " title="title">{{ SITENAME }}</a></h1>
|
||||||
|
<span class="description">{{ DESCRIPTION }} </span>
|
||||||
|
<!-- <span class="feed"><a href="">RSS</a> | <a href="">Atom</a></span> -->
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="footer">
|
||||||
|
<nav>
|
||||||
|
<ul>
|
||||||
|
{% for page in pages %}
|
||||||
|
<li><a href="{{ SITEURL }}/{{ page.url }}">{{ page.title }}</a>{% if not loop.last %} ::{% endif %}</li>
|
||||||
|
{% endfor %}
|
||||||
|
{% if categories|length > 1 %}
|
||||||
|
<li>:: <a href="{{ SITEURL }}/categories.html">Categories</a></li>
|
||||||
|
{% endif %}
|
||||||
|
{% if tags|length > 1 %}
|
||||||
|
<li>:: <a href="{{ SITEURL }}/tags.html">Tags</a></li>
|
||||||
|
{% endif %}
|
||||||
|
</ul>
|
||||||
|
</nav>
|
||||||
|
|
||||||
|
<div id="credits">
|
||||||
|
<span>Adapted from <a href="http://wordpress.org/themes/monospace">Monospace</a> || Created with <a href="">Pelican</a></span>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{% include 'analytics.html' %}
|
||||||
|
{% include 'piwik.html' %}
|
||||||
|
{% include 'disqus_script.html' %}
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
|
@ -0,0 +1,8 @@
|
||||||
|
{% extends "base.html" %}
|
||||||
|
{% block content %}
|
||||||
|
<ul>
|
||||||
|
{% for category, articles in categories %}
|
||||||
|
<li><a href="{{ SITEURL }}/{{ category.url }}">{{ category }}</a></li>
|
||||||
|
{% endfor %}
|
||||||
|
</ul>
|
||||||
|
{% endblock %}
|
|
@ -0,0 +1,2 @@
|
||||||
|
{% extends "index.html" %}
|
||||||
|
{% block title %}{{ SITENAME }} - {{ category }}{% endblock %}
|
|
@ -0,0 +1 @@
|
||||||
|
{% if DISQUS_SITENAME %}<p>There are <a href="{{ SITEURL }}/{{ article.url }}#disqus_thread">comments</a>.</p>{% endif %}
|
|
@ -0,0 +1,11 @@
|
||||||
|
{% if DISQUS_SITENAME %}
|
||||||
|
<script type="text/javascript">
|
||||||
|
var disqus_shortname = '{{ DISQUS_SITENAME }}';
|
||||||
|
(function () {
|
||||||
|
var s = document.createElement('script'); s.async = true;
|
||||||
|
s.type = 'text/javascript';
|
||||||
|
s.src = 'http://' + disqus_shortname + '.disqus.com/count.js';
|
||||||
|
(document.getElementsByTagName('HEAD')[0] || document.getElementsByTagName('BODY')[0]).appendChild(s);
|
||||||
|
}());
|
||||||
|
</script>
|
||||||
|
{% endif %}
|
9
receitasdecerveja/themes/monospace/templates/github.html
Normal file
9
receitasdecerveja/themes/monospace/templates/github.html
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
{% if GITHUB_URL %}
|
||||||
|
<a href="{{ GITHUB_URL }}">
|
||||||
|
{% if GITHUB_POSITION != "left" %}
|
||||||
|
<img style="position: absolute; top: 0; right: 0; border: 0;" src="http://s3.amazonaws.com/github/ribbons/forkme_right_red_aa0000.png" alt="Fork me on GitHub" />
|
||||||
|
{% else %}
|
||||||
|
<img style="position: absolute; top: 0; left: 0; border: 0;" src="http://s3.amazonaws.com/github/ribbons/forkme_left_white_ffffff.png" alt="Fork me on GitHub" />
|
||||||
|
{% endif %}
|
||||||
|
</a>
|
||||||
|
{% endif %}
|
34
receitasdecerveja/themes/monospace/templates/index.html
Normal file
34
receitasdecerveja/themes/monospace/templates/index.html
Normal file
|
@ -0,0 +1,34 @@
|
||||||
|
{% extends "base.html" %}
|
||||||
|
{% block content_title %}{% endblock %}
|
||||||
|
{% block content %}
|
||||||
|
{% if articles %}
|
||||||
|
{% for article in articles %}
|
||||||
|
|
||||||
|
{# First item #}
|
||||||
|
{% if loop.first %}
|
||||||
|
<header>
|
||||||
|
<h1><a href="{{ SITEURL }}" id="site-title"> {# {{ SITENAME }} #} {% if SITESUBTITLE %} <strong>{{ SITESUBTITLE }}</strong>{% endif %}</a> {#:#} <a href="{{ SITEURL }}/{{ article.url }}" id="page-title">{{ article.title }}</a></h1>
|
||||||
|
{% if not HIDE_DATE %}<time datetime="{{ article.date.isoformat() }}">{{ article.locale_date }}</time>{% endif %}
|
||||||
|
</header>
|
||||||
|
|
||||||
|
<article>
|
||||||
|
{{ article.content }}{% include 'comments.html' %}
|
||||||
|
</article>
|
||||||
|
{% if loop.length > 1 %}
|
||||||
|
<section id="article-list">
|
||||||
|
<h2>All posts</h2>
|
||||||
|
<ol>
|
||||||
|
{% endif %}
|
||||||
|
{# other items #}
|
||||||
|
{% else %}
|
||||||
|
<li><a href="{{ SITEURL }}/{{ article.url }}" rel="bookmark" title="Permalink to {{ article.title}}">{{ article.title }}</a></li>
|
||||||
|
{% endif %}
|
||||||
|
{% if loop.length > 1 %}
|
||||||
|
</ol>
|
||||||
|
</section><!-- #article-list -->
|
||||||
|
{% endif %}
|
||||||
|
{% endfor %}
|
||||||
|
{% else %}
|
||||||
|
No posts found.
|
||||||
|
{% endif %}
|
||||||
|
{% endblock content %}
|
11
receitasdecerveja/themes/monospace/templates/page.html
Normal file
11
receitasdecerveja/themes/monospace/templates/page.html
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
{% extends "base.html" %}
|
||||||
|
{% block title %}{{ page.title }}{% endblock %}
|
||||||
|
{% block content %}
|
||||||
|
<header>
|
||||||
|
<h1><a href="{{ SITEURL }}" id="site-title">{# {{ SITENAME }} #} {% if SITESUBTITLE %} <strong>{{ SITESUBTITLE }}</strong>{% endif %}</a> {#:#}
|
||||||
|
<a href="{{ SITEURL }}/{{ page.url }}" id="page-title">{{ page.title }}</a></h1>
|
||||||
|
</header>
|
||||||
|
<article>
|
||||||
|
{{ page.content }}
|
||||||
|
</article>
|
||||||
|
{% endblock %}
|
15
receitasdecerveja/themes/monospace/templates/pagination.html
Normal file
15
receitasdecerveja/themes/monospace/templates/pagination.html
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
{% if DEFAULT_PAGINATION %}
|
||||||
|
<p class="paginator">
|
||||||
|
{% if articles_page.has_previous() %}
|
||||||
|
{% if articles_page.previous_page_number() == 1 %}
|
||||||
|
<a href="{{ SITEURL }}/{{ page_name }}.html">«</a>
|
||||||
|
{% else %}
|
||||||
|
<a href="{{ SITEURL }}/{{ page_name }}{{ articles_page.previous_page_number() }}.html">«</a>
|
||||||
|
{% endif %}
|
||||||
|
{% endif %}
|
||||||
|
Page {{ articles_page.number }} / {{ articles_paginator.num_pages }}
|
||||||
|
{% if articles_page.has_next() %}
|
||||||
|
<a href="{{ SITEURL }}/{{ page_name }}{{ articles_page.next_page_number() }}.html">»</a>
|
||||||
|
{% endif %}
|
||||||
|
</p>
|
||||||
|
{% endif %}
|
16
receitasdecerveja/themes/monospace/templates/piwik.html
Normal file
16
receitasdecerveja/themes/monospace/templates/piwik.html
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
{% if PIWIK_URL and PIWIK_SITE_ID %}
|
||||||
|
<script type="text/javascript">
|
||||||
|
{% if PIWIK_SSL_URL %}
|
||||||
|
var pkBaseURL = (("https:" == document.location.protocol) ? "https://{{ PIWIK_SSL_URL }}/" : "http://{{ PIWIK_URL }}/");
|
||||||
|
{% else %}
|
||||||
|
var pkBaseURL = (("https:" == document.location.protocol) ? "https://{{ PIWIK_URL }}/" : "http://{{ PIWIK_URL }}/");
|
||||||
|
{% endif %}
|
||||||
|
document.write(unescape("%3Cscript src='" + pkBaseURL + "piwik.js' type='text/javascript'%3E%3C/script%3E"));
|
||||||
|
</script><script type="text/javascript">
|
||||||
|
try {
|
||||||
|
var piwikTracker = Piwik.getTracker(pkBaseURL + "piwik.php", {{ PIWIK_SITE_ID }});
|
||||||
|
piwikTracker.trackPageView();
|
||||||
|
piwikTracker.enableLinkTracking();
|
||||||
|
} catch( err ) {}
|
||||||
|
</script><noscript><p><img src="http://{{ PIWIK_URL }}/piwik.php?idsite={{ PIWIK_SITE_ID }}" style="border:0" alt="" /></p></noscript>
|
||||||
|
{% endif %}
|
2
receitasdecerveja/themes/monospace/templates/tag.html
Normal file
2
receitasdecerveja/themes/monospace/templates/tag.html
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
{% extends "index.html" %}
|
||||||
|
{% block title %}{{ SITENAME }} - {{ tag }}{% endblock %}
|
|
@ -0,0 +1,2 @@
|
||||||
|
{% if article.tags %}<p>tags: {% for tag in article.tags %}<a href="{{ SITEURL }}/{{ tag.url }}">{{ tag }}</a>{% endfor %}</p>{% endif %}
|
||||||
|
{% if PDF_PROCESSOR %}<p><a href="{{ SITEURL }}/pdf/{{ article.slug }}.pdf">get the pdf</a></p>{% endif %}
|
9
receitasdecerveja/themes/monospace/templates/tags.html
Normal file
9
receitasdecerveja/themes/monospace/templates/tags.html
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
{% extends "base.html" %}
|
||||||
|
{% block content %}
|
||||||
|
<ul>
|
||||||
|
{% for tag, articles in tags %}
|
||||||
|
<li><a href="{{ SITEURL }}/{{ tag.url }}">{{ tag }}</a></li>
|
||||||
|
{% endfor %}
|
||||||
|
</ul>
|
||||||
|
{% endblock %}
|
||||||
|
|
|
@ -0,0 +1,6 @@
|
||||||
|
{% if article.translations %}
|
||||||
|
Translations:
|
||||||
|
{% for translation in article.translations %}
|
||||||
|
<a href="{{ SITEURL }}/{{ translation.url }}">{{ translation.lang }}</a>
|
||||||
|
{% endfor %}
|
||||||
|
{% endif %}
|
|
@ -0,0 +1,3 @@
|
||||||
|
{% if TWITTER_USERNAME %}
|
||||||
|
<a href="http://twitter.com/share" class="twitter-share-button" data-count="horizontal" data-via="{{TWITTER_USERNAME}}">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script>
|
||||||
|
{% endif %}
|
Loading…
Add table
Add a link
Reference in a new issue