Mais informações sobre por que descontinuamos este projeto estão aqui.
fastpages
Uma plataforma de blog fácil de usar, com suporte para blocos de notas Jupyter, documentos do Word e Markdown.
fastpages
usa GitHub Actions para simplificar o processo de criação de postagens de blog Jekyll em GitHub Pages a partir de uma variedade de formatos de entrada.
fastpages
fornece os seguintes recursos:Veja abaixo uma lista mais detalhada de recursos.
Veja o site de demonstração
fastpages
fastpages
fornece os seguintes recursos:Gere uma cópia deste repositório clicando neste link. Certifique-se de fazer login em sua conta ou você verá um erro 404. Nomeie seu repositório como quiser, exceto {seu-nome de usuário}.github.io.
GitHub Actions abrirá automaticamente um PR em seu novo repositório aproximadamente 30 segundos após a criação da cópia. Siga as instruções nesse PR para continuar.
Se você não estiver vendo um PR, certifique-se de ter ações de terceiros habilitadas em sua organização: Configurações -> Ações -> Permissões de ações -> Habilitar ações locais e de terceiros para este repositório
Para um passo a passo ao vivo das etapas de configuração (com algumas dicas adicionais), veja este tutorial em vídeo sobre como configurar um blog fastpages de Abdul Majed.
Read and Write
e marque Allow GitHub Actions to create and approve pull requests
. Depois de conceder permissões, vá para a guia Actions
na parte superior da página inicial do seu repositório, onde será apresentada uma lista de ações executadas. Primeiro clique na execução com falha (o item com o X vermelho):
Você será levado a uma tela onde haverá um botão no canto superior direito que permite executar novamente os trabalhos.
Depois de fazer isso, uma solicitação pull deverá aparecer.
_posts
, _notebooks
ou _word
. Você pode seguir exemplos de conteúdo nessas pastas neste repositório sobre como estruturar o conteúdo. A coisa mais importante a se prestar atenção é o assunto inicial, que será discutido com mais detalhes a seguir. Além disso, você pode adicionar páginas adicionais que aparecerão na barra de navegação do seu blog no diretório _pages
. Observe que o conteúdo do diretório _word
não oferece suporte a front-matéria. O Front Matter permite ativar/desativar várias opções para cada postagem do blog, bem como passar metadados para vários recursos de fastpages.
Em um caderno, o assunto inicial é definido como uma célula de marcação no início do caderno com o seguinte conteúdo:
# "Title"
> "Awesome summary"
- toc: false
- branch: master
- badges: true
- comments: true
- categories: [ fastpages, jupyter ]
- image: images/some_folder/your_image.png
- hide: false
- search_exclude: true
- metadata_key1: metadata_value1
- metadata_key2: metadata_value2
Da mesma forma, em um documento de remarcação, o mesmo assunto inicial seria definido assim no início do documento:
---
title : " My Title "
description : " Awesome description "
layout : post
toc : false
comments : true
image : images/some_folder/your_image.png
hide : false
search_exclude : true
categories : [fastpages, jupyter]
metadata_key1 : metadata_value1
metadata_key2 : metadata_value2
---
Metadados adicionais são opcionais e permitem que você defina um tema inicial personalizado.
Observe que qualquer coisa definida no assunto inicial deve ser YAML válido. O não fornecimento de YAML válido pode fazer com que sua página não seja renderizada em seu blog. Por exemplo, se você quiser dois pontos em seu título, você deve escapá-lo com aspas duplas como esta:
- title: "Deep learning: A tutorial"
Consulte este tutorial em YAML para obter mais informações.
Title
pelo título desejado e Awesome summary
pelo resumo desejado.Observação: é recomendável colocar esses valores entre aspas duplas, para que você possa escapar de dois pontos e outros caracteres que possam quebrar o analisador YAML.
fast_template
irá gerar automaticamente um índice para você com base em cabeçalhos de remarcação! Você pode ativar ou desativar esse recurso definindo toc:
como true
ou false
.Esta opção funciona apenas para notebooks
branch
é usado para renderizar opcionalmente um link do seu notebook para o Colab e GitHub na postagem do seu blog. O padrão será master
se você não especificá-lo no notebook.badges
como false
. O padrão é true
badges: true
, todos os quatro emblemas (GitHub, Binder, Deepnote, Colab) aparecerão por padrão. Você pode ajustar esses padrões com o parâmetro default_badges
em Opções de configuração em todo o site. Se quiser apenas ocultar um selo em uma postagem individual, você pode definir o assunto inicial hide_{github,colab,binder,deepnote}_badge: true
. Por exemplo, se você quiser ocultar o emblema do Binder para um bloco de notas individual, mas quiser que os outros emblemas apareçam, você pode definir isso no seu front-matéria:
- badges : true
- hide_binder_badge : true
requirements.txt
com pacotes comuns que você usa para todos os seus notebooks na raiz do seu repositório. Você pode aprender mais na documentação oficial do Binder.Você pode ter uma lista separada por vírgulas entre colchetes de categorias para uma postagem de blog, o que tornará a postagem visível na página de tags do site do seu blog. Por exemplo:
Em um caderno:
# "My Title"
- categories: [fastpages, jupyter]
Em um documento de redução:
---
title: "My Title"
categories: [fastpages, jupyter]
---
Você pode ver uma prévia de como será aqui.
show_tags
como true
ou false
em _config.yml
: # Set this to true to display tags on each post
show_tags : true
Os comentários nas postagens do blog são desenvolvidos pelo Utterances, uma forma de código aberto e sem anúncios de implementar comentários. Todos os comentários são armazenados em edições no repositório GitHub do seu blog. Você pode ativar isso definindo comments
como true
. O padrão é false
.
Para ativar comentários com Enunciados, você precisará fazer o seguinte:
Em sites de mídia social como o Twitter, uma visualização da imagem pode ser mostrada automaticamente com o seu URL. A especificação da image
inicial fornece esses metadados aos sites de mídia social para renderizar essa imagem para você. Você pode definir esse valor da seguinte maneira:
- image: images/diagram.png
Observação: para esta configuração , você só pode fazer referência a arquivos e pastas de imagem na pasta /images
do seu repositório.
Você pode querer evitar que uma postagem do blog seja listada na página inicial, mas ainda assim ter um URL público que possa visualizar ou compartilhar discretamente. Você pode ocultar uma postagem de blog da página inicial definindo o front mate hide
como true
. Isso é definido como false
por padrão.
É recomendado que você use links permanentes para gerar um URL previsível para postagens ocultas no blog. Você também pode definir o assunto inicial search_exclude
como true
se não quiser que os usuários encontrem sua postagem oculta em uma pesquisa.
Por padrão, as postagens são classificadas por data na sua página inicial. No entanto, você pode querer que uma ou mais postagens de blog sempre apareçam no topo da sua página inicial. Em outras palavras, você pode querer que certas postagens sejam “fixadas” ou “fixadas”. Para fazer isso, especifique o assunto inicial sticky_rank
na ordem em que você gostaria que suas postagens fixas aparecessem. As postagens de blog que não definem esse parâmetro são classificadas da maneira padrão por data, após as postagens fixas.
Por exemplo, considere estas três postagens de redução (também funciona para notebooks).
2020-01-01-Post-One.md
---
title : Post One
sticky_rank : 1
---
2020-02-01-Post-Two.md
---
title : Post Two
sticky_rank : 2
---
2020-04-01-Post-Three.md
---
title : Post Three
---
No entanto, como sticky_rank
é especificado, as postagens do blog serão classificadas primeiro por sticky_rank em ordem crescente e, em seguida, por data em ordem decrescente , portanto, a ordem dessas postagens aparecerá assim:
Sem sticky_rank
as postagens acima seriam classificadas na ordem inversa devido às datas associadas a cada postagem.
Observação: a fixação também funciona para notebooks:
# "My cool blog post"
> "Description of blog post"
- sticky_rank: 2
fastpages vem com pesquisa de palavras-chave integrada desenvolvida por lunr.js. Você pode impedir que uma postagem de blog ou página apareça nos resultados da pesquisa definindo o assunto inicial search_exclude
como false
. Isso é definido como true
por padrão.
É recomendado que todos personalizem seu site de blog definindo opções de configuração para todo o site . Essas opções podem ser encontradas em /_config.yml
. Abaixo está uma descrição de várias opções disponíveis.
title
: este é o título que aparece no canto superior esquerdo do cabeçalho de todas as suas páginas.
description
: esta descrição aparecerá em vários lugares quando uma prévia do seu site for gerada (por exemplo, nas redes sociais).
github_username
: permite que seu site exiba um link para sua página GitHub no rodapé.
github_repo
: permite que seu site renderize links para seu repositório para vários recursos, como links para GitHub, Colab e Deepnote para notebooks.
url
: isso não precisa ser alterado, a menos que você tenha um domínio personalizado. Nota: deixe de fora o / final deste valor.
baseurl
: Consulte os comentários em /_config.yml
para obter instruções ( "Instruções especiais para baseurl" sobre como definir esse valor corretamente. Se você não tiver um domínio personalizado, provavelmente poderá ignorar esta opção.
email
: atualmente não é usado. Ignorar.
twitter_username
: cria um link no rodapé para sua página do Twitter.
use_math
: Defina como true
para obter suporte a equações matemáticas LaTeX. Isso está desativado por padrão, pois carrega javascript em cada página que não pode ser usada.
show_description
: mostra uma descrição sob o título das postagens do seu blog na sua página inicial que contém uma lista das postagens do seu blog. Definido como true
por padrão.
google_analytics
: opcionalmente, use um ID do Google Analytics para rastreamento, se desejar.
show_image
: se definido como verdadeiro, usa o parâmetro image
no início das postagens do seu blog para renderizar uma visualização dos seus blogs, conforme mostrado abaixo. Isso é definido como false
por padrão. Quando show_image estiver definido como true
sua página inicial ficará assim:
show_tags
: você pode ativar ou desativar a exibição de tags nas postagens do seu blog definindo esse valor como false
. Isso é definido como true
por padrão, o que renderiza os seguintes links para tags nas postagens do seu blog como este:
pagination
: Este é o número máximo de postagens a serem exibidas em cada página da sua página inicial. Quaisquer postagens que excedam esse valor serão paginadas em outra página. Isso é definido como 15
por padrão. Quando isso for acionado, você verá a paginação na parte inferior da sua página inicial assim:
Observação: se você estiver usando uma versão mais antiga do fastpages, não poderá usar o processo de atualização automatizado para obter paginação. Em vez disso, você deve seguir estas etapas:
mv index.md index.html
Gemfile
e Gemfile.lock
na raiz do seu repositório pelos arquivos deste repositório._config.yml
da seguinte maneira (veja _config.yml para ver um exemplo): gems :
- jekyll-paginate
paginate : 10
paginate_path : /page:num/
Alternativamente, você pode copiar todas as suas postagens para um repositório recém-criado a partir do modelo fastpages.
default_badges
: por padrão, os emblemas GitHub, Binder, Deepnote e Colab aparecerão nas postagens do blog do notebook. Você pode ajustar esses padrões definindo o valor apropriado em default_badges
como false. Por exemplo, se você quisesse desativar os emblemas do Binder por padrão, você alteraria default_badges
para isto:
default_badges :
github : true
binder : false
deepnote : false
colab : true
html_escape
: permite ativar ou desativar o escape de HTML em vários componentes das postagens do blog. No momento, você só pode alternar isso para o campo description
em suas postagens.
Isso é definido como false
por padrão.
Você pode ajustar a largura da página fastpages em vários dispositivos editando /_sass/minima/custom-variables.scss.
Estes são os valores padrão, que podem ser ajustados de acordo com suas preferências:
// width of the content area
// can be set as "px" or "%"
$content-width : 1000 px ;
$on-palm : 800 px ;
$on-laptop : 1000 px ;
$on-medium : 1000 px ;
$on-large : 1200 px ;
hypothes.is é uma plataforma aberta que oferece uma forma de anotar e destacar páginas, que podem ser públicas ou privadas. Quando esse recurso estiver habilitado, os leitores do seu blog receberão a seguinte dica ao destacar o texto:
Isso está desabilitado por padrão em fastpages. Você pode ativar ou desativar isso em seu arquivo _config.yml definindo annotations
como true
ou false
:
# Set this to true to turn on annotations with hypothes.is
annotations : false
Você pode personalizar o hypothes.is lendo estas opções de configuração. Também é uma boa ideia ler esses documentos se você quiser fazer mais com o hypothes.is. No entanto, antes de tentar personalizar esse recurso, você deve ler a seção de personalização de fastpages para obter advertências importantes.
Você pode direcionar seus leitores a se inscreverem em feeds RSS. Existem muitos serviços de assinatura RSS disponíveis na Internet. Alguns exemplos incluem:
fastpages
substitui o destaque de sintaxe padrão de mínimos pelo tema Drácula.
O destaque padrão em fastpages é assim:
No entanto, você pode fazer com que o realce de sintaxe fique assim, se desejar:
Se desejar voltar ao tema claro acima, você pode remover a linha abaixo em _sass/minima/custom-styles.scss
@import " minima/fastpages-dracula-highlight " ;
Se você não gosta de nenhum desses temas, você pode adicionar seu próprio CSS em _sass/minima/custom-styles.scss
. Consulte personalização de fastpages para obter mais detalhes.
Esta postagem do blog descreve como ativar o Modo Escuro para páginas rápidas.
Os usuários que preferirem utilizar o sistema de citações BibTeX poderão fazê-lo; requer a ativação do plugin jekyll-scholar. Consulte Citações em Fastpages via BibTeX e jekyll-scholar para obter instruções sobre como implementar isso.
Coloque o comentário #hide
no início de uma célula de código e ele ocultará a entrada e a saída dessa célula.
Um comentário #hide_input
no topo de qualquer célula ocultará apenas a entrada .
Além disso, a extensão Jupyter hide input
pode ser usada para ocultar entradas ou saídas de células, que serão respeitadas por fastpages.
Você pode querer que algum código fique oculto em um elemento recolhido que o usuário possa expandir, em vez de ocultar completamente o código do leitor.
#collapse
na parte superior da célula de código.#collapse_show
ou #collapse-show
na parte superior da célula de código.#collapse_output
ou #collapse-output
na parte superior da célula de código.Em uma célula de markdown em seu bloco de notas, use os seguintes atalhos de markdown para incorporar cartões do Twitter e vídeos do YouTube.
> youtube: https://youtu.be/your-link
> twitter: https://twitter.com/some-link
Adicionar notas de rodapé em cadernos é um pouco diferente de remarcação. Consulte o guia detalhado para notas de rodapé em cadernos.
Salve seu notebook com a convenção de nomenclatura YYYY-MM-DD-*.
na pasta /_notebooks
ou /_word
deste repositório, respectivamente. Por exemplo 2020-01-28-My-First-Post.ipynb
. Esta convenção de nomenclatura é exigida pelo Jekyll para renderizar a postagem do seu blog.
Tenha cuidado para nomear seu arquivo corretamente! É fácil esquecer o último traço em YYYY-MM-DD-
. Além disso, o caractere imediatamente após o travessão deve ser apenas uma letra alfabética. Exemplos de nomes de arquivos válidos são:
2020-01-28-My-First-Post.ipynb
2012-09-12-how-to-write-a-blog.ipynb
Se você não nomear seu arquivo corretamente, fastpages
tentará automaticamente corrigir o problema acrescentando a data da última modificação do seu arquivo à postagem do blog gerada; no entanto, é recomendável que você mesmo nomeie seus arquivos corretamente para obter mais transparência.
Confirme e envie seus arquivos para o GitHub no branch master do seu repositório.
O GitHub converterá automaticamente seus arquivos em postagens de blog. O processo de conversão levará cerca de 5 minutos para ocorrer . Você pode clicar na guia Ações do seu repositório para visualizar os logs desse processo. Haverá dois fluxos de trabalho que serão acionados a cada push que você fizer em seu branch master: (1) "CI" e (2) "Status das páginas GH". Ambos os fluxos de trabalho devem ser concluídos com uma marca de seleção verde para seu commit mais recente antes que seu site seja atualizado.
Se desejar, você pode visualizar a aparência do seu blog localmente antes de enviá-lo para o GitHub. Consulte esta seção para obter um guia detalhado sobre como executar a visualização localmente.
Se você estiver escrevendo sua postagem no blog em markdown, salve seu arquivo .md
na pasta /_posts
com a mesma convenção de nomenclatura ( YYYY-MM-DD-*.md
) especificada para notebooks.
Salve seus documentos do Microsoft Word na pasta /_word
com a mesma convenção de nomenclatura ( YYYY-MM-DD-*.docx
) especificada para notebooks.
Observação: o texto alternativo em documentos do Word ainda não é compatível com fastpages e quebrará links para imagens.
fastpages
não possui uma maneira robusta de especificar o assunto inicial para documentos do Word. No momento, você só pode especificar o front-matéria globalmente para todos os documentos do Word editando _action_files/word_front_matter.txt.
Para especificar um assunto inicial exclusivo por documento do Word, você precisará converter o Word em arquivos markdown manualmente. Você pode seguir as etapas nesta postagem do blog, que orientam como usar o pandoc para fazer a conversão. Nota: Se você deseja personalizar sua postagem de blog gerada pelo Word no markdown, certifique-se de excluir seu documento do Word do diretório _word para que seu arquivo markdown não seja substituído!
Se o seu método principal de escrever postagens de blog são documentos do Word, e você planeja sempre editar manualmente os arquivos markdown convertidos do Word, provavelmente será melhor usar fast_template em vez de fastpages.
Consulte o guia de desenvolvimento.
A ação fastpages
permite converter notebooks de /_notebooks
e documentos do Word de diretórios /_word
em seu repositório em arquivos de marcação de postagem de blog compatíveis com Jekyll localizados em /_posts
. Nota: Esta estrutura de diretório é atualmente inflexível para esta Action, pois foi projetada para ser usada com Jekyll.
Se você já tem familiaridade suficiente com Jekyll e deseja usar essa automação em seu próprio tema, você pode usar esta ação do GitHub referenciando fastai/fastpages@master
da seguinte forma:
...
uses : fastai/fastpages@master
...
Um exemplo ilustrativo de como pode ser um fluxo de trabalho completo:
jobs :
build-site :
runs-on : ubuntu-latest
...
- name : convert notebooks and word docs to posts
uses : fastai/fastpages@master
...
- name : Jekyll build
uses : docker://jekyll/jekyll
with :
args : jekyll build
- name : Deploy
uses : peaceiris/actions-gh-pages@v3
if : github.event_name == 'push'
with :
deploy_key : ${{ secrets.SSH_DEPLOY_KEY }}
publish_branch : gh-pages
publish_dir : ./_site
Observe que esta ação não possui entradas obrigatórias e não possui variáveis de saída .
BOOL_SAVE_MARKDOWN
: 'verdadeiro' ou 'falso'. Se deve ou não enviar arquivos markdown convertidos de notebooks e documentos do Word para o diretório _posts em seu repositório. Isso é útil para depuração. padrão: falsoSSH_DEPLOY_KEY
: uma chave de implantação ssh é necessária se BOOL_SAVE_MARKDOWN = 'true'Veja a especificação da API para esta ação em action.yml
Instruções detalhadas sobre como personalizar este blog estão além do escopo deste README. (Convidamos alguém da comunidade para contribuir com uma postagem no blog sobre como fazer isso neste repositório!)
Por favor, consulte o guia de contribuição.
Consulte o guia de atualização.
_posts/
gerados a partir de meus notebooks Jupyter ou documentos do Word? R: O fluxo de trabalho do GitHub Actions neste repositório converte seu notebook e documentos do Word em markdown dinamicamente antes de construir seu site, mas nunca envia esses arquivos de markdown intermediários para este repositório. Isso é para evitar o incômodo de seu ambiente local estar constantemente fora de sincronia com seu repositório. Opcionalmente, você pode ver esses arquivos markdown intermediários definindo as entradas BOOL_SAVE_MARKDOWN
e SSH_DEPLOY_KEY
para a ação fastpages em seu arquivo .github/workflows/ci.yaml
da seguinte maneira: ...
- name : convert notebooks and word docs to posts
uses : fastai/fastpages@master
with :
BOOL_SAVE_MARKDOWN : true
SSH_DEPLOY_KEY : ${{ secrets.SSH_DEPLOY_KEY }}
...
P: Posso usar fastpages
para sites de documentos do Jekyll ou para itens que não sejam postagens do blog do Jekyll? R: No momento, fastpages
é uma solução altamente opinativa que funciona apenas para postagens do blog Jekyll. Se você deseja escrever documentação para seu módulo ou biblioteca com notebooks Jupyter, sugerimos que você use fastai/nbdev que é expressamente construído para esse propósito.
P: Qual é a diferença entre fast_template e fastpages? Qual devo usar? R: Como fastpages
é mais flexível e extensível, recomendamos usá-lo sempre que possível. fast_template
pode ser uma opção melhor para fazer blogs de pessoas que não têm nenhum conhecimento técnico e só criarão postagens usando o editor on-line integrado do Github.
fastpages baseia-se no tema mínimos. Se quiser personalizar o estilo ou layout das páginas rápidas, você pode encontrar instruções no README do mínimo. É uma boa ideia ler todo o conteúdo do README para entender a estrutura de diretórios. Além disso, é uma boa ideia ter um conhecimento básico do Jekyll antes de personalizar seu tema. Para quem é novo no Jekyll, os documentos oficiais são um bom lugar para começar. Concretamente, você pode substituir css em fastpages em _sass/minima/custom-styles.scss
. OBSERVE que o recurso "skins" do mínimo é atualmente incompatível com as configurações CSS do fastpages.
Se você optar por fazer personalizações em fastpages É possível que as personalizações feitas possam colidir com versões atuais ou futuras de fastpages e recomendamos fazer isso somente se você se sentir suficientemente confortável com HTML e CSS.
Consulte o guia de solução de problemas.