<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>PARA on kenji.blog</title><link>http://kenji.blog/pt/tags/para/</link><description>Recent content in PARA on kenji.blog</description><generator>Hugo -- gohugo.io</generator><language>pt</language><copyright>kenjinote</copyright><lastBuildDate>Sat, 12 Sep 2026 12:00:00 +0900</lastBuildDate><atom:link href="http://kenji.blog/pt/tags/para/index.xml" rel="self" type="application/rss+xml"/><item><title>Gestão de Tarefas para Desenvolvimento Pessoal e Escrita de Blog usando o Notion</title><link>http://kenji.blog/pt/p/notion-task-management-blog-dev/</link><pubDate>Sat, 12 Sep 2026 12:00:00 +0900</pubDate><guid>http://kenji.blog/pt/p/notion-task-management-blog-dev/</guid><description>&lt;img src="http://kenji.blog/p/notion-task-management-blog-dev/img/eyecatch.jpg" alt="Featured image of post Gestão de Tarefas para Desenvolvimento Pessoal e Escrita de Blog usando o Notion" />&lt;h1 id="gestão-de-tarefas-para-desenvolvimento-pessoal-e-escrita-de-blog-usando-o-notion">Gestão de Tarefas para Desenvolvimento Pessoal e Escrita de Blog usando o Notion
&lt;/h1>&lt;p>Ao continuar com o desenvolvimento pessoal e a escrita de blogs, a gestão de tarefas, a manutenção da motivação e a forma de armazenar e utilizar as ideias do dia a dia são temas extremamente importantes. À medida que um projeto cresce, o número de tarefas a realizar aumenta e muitas vezes hesitamos sobre por onde começar. Além disso, onde e como guardar as informações geradas diariamente, como tópicos para o blog ou notas técnicas, também se torna um desafio.&lt;/p>
&lt;p>Como uma ferramenta capaz de resolver essas diversas necessidades em uma única plataforma, a mais poderosa atualmente é o &lt;strong>Notion&lt;/strong>. Neste artigo, explicaremos de uma perspectiva técnica e muito detalhada a &amp;ldquo;técnica definitiva de gestão de tarefas&amp;rdquo; que vai além do uso do Notion como um simples bloco de notas ou ferramenta de tarefas, integrando perfeitamente o desenvolvimento pessoal e a escrita de blogs, e incorporando automação e gestão avançada de progresso.&lt;/p>
&lt;hr>
&lt;h2 id="1-a-afinidade-entre-o-método-para-e-o-notion">1. A afinidade entre o método PARA e o Notion
&lt;/h2>&lt;p>Primeiro, falaremos sobre a base de como organizar as informações. Em uma ferramenta altamente flexível como o Notion, as páginas e os bancos de dados tendem a se multiplicar de forma caótica, caindo facilmente em um estado de &amp;ldquo;não saber onde as coisas estão&amp;rdquo;. Para evitar isso, introduzimos o &lt;strong>método PARA&lt;/strong>, proposto por Tiago Forte.&lt;/p>
&lt;p>O método PARA é uma abordagem que classifica as informações nas 4 categorias a seguir:&lt;/p>
&lt;ol>
&lt;li>&lt;strong>Projects (Projetos)&lt;/strong>: Um conjunto de tarefas com objetivos claros e prazos (ex: &amp;ldquo;Lançamento de um novo aplicativo web&amp;rdquo;, &amp;ldquo;Renovação do design do blog&amp;rdquo;).&lt;/li>
&lt;li>&lt;strong>Areas (Áreas)&lt;/strong>: Áreas de responsabilidade que precisam ser mantidas e gerenciadas a longo prazo (ex: &amp;ldquo;Saúde&amp;rdquo;, &amp;ldquo;Gestão do blog (contínuo)&amp;rdquo;, &amp;ldquo;Finanças&amp;rdquo;).&lt;/li>
&lt;li>&lt;strong>Resources (Recursos)&lt;/strong>: Tópicos de interesse ou informações que podem ser úteis no futuro (ex: &amp;ldquo;Snippets de código Python&amp;rdquo;, &amp;ldquo;Materiais de referência de design de interface de usuário&amp;rdquo;).&lt;/li>
&lt;li>&lt;strong>Archives (Arquivos)&lt;/strong>: Projetos concluídos ou informações que não estão ativas no momento, mas que você deseja guardar.&lt;/li>
&lt;/ol>
&lt;p>Para implementar isso no Notion, comece separando rigorosamente a hierarquia da barra lateral esquerda nessas 4 categorias. Especialmente separando &amp;ldquo;Projects&amp;rdquo; de &amp;ldquo;Areas/Resources&amp;rdquo;, você pode manter o pensamento claro sem misturar as tarefas nas quais deve se concentrar agora (Projects) com as entradas necessárias para elas (Resources).&lt;/p>
&lt;hr>
&lt;h2 id="2-design-do-banco-de-dados-estrutura-relacional-de-projects-e-tasks">2. Design do Banco de Dados: Estrutura Relacional de Projects e Tasks
&lt;/h2>&lt;p>O verdadeiro poder do Notion reside nos seus bancos de dados relacionais. O que mais se deve evitar na gestão de tarefas é gerenciar todas as tarefas em uma única lista plana. Ao dividir as tarefas por projeto e vinculá-las, você pode compreender a visão geral e os detalhes simultaneamente.&lt;/p>
&lt;p>Aqui, criaremos o banco de dados &amp;ldquo;Projects (Projetos)&amp;rdquo; e o banco de dados &amp;ldquo;Tasks (Tarefas)&amp;rdquo;, interligando-os com uma propriedade de Relation (relação).&lt;/p>
&lt;h3 id="diagrama-de-correlação-do-banco-de-dados">Diagrama de correlação do banco de dados
&lt;/h3>&lt;p>O diagrama Mermaid a seguir mostra a relação entre os bancos de dados Projects, Tasks e Notes (Zettelkasten), que será discutido posteriormente.&lt;/p>
&lt;pre class="mermaid">
flowchart TD
P[&amp;#34;Projects (Banco de Dados de Projetos)&amp;#34;]
T[&amp;#34;Tasks (Banco de Dados de Tarefas)&amp;#34;]
N[&amp;#34;Notes (Banco de Dados Zettelkasten)&amp;#34;]
P --&amp;gt;| Relação 1:N | T
T --&amp;gt;| Relação N:N | N
P --&amp;gt;| Relação 1:N | N
&lt;/pre>
&lt;h3 id="propriedades-do-banco-de-dados-projects">Propriedades do banco de dados Projects
&lt;/h3>&lt;ul>
&lt;li>&lt;code>Project Name&lt;/code> (Title)&lt;/li>
&lt;li>&lt;code>Status&lt;/code> (Select: &amp;ldquo;Not Started&amp;rdquo;, &amp;ldquo;In Progress&amp;rdquo;, &amp;ldquo;Completed&amp;rdquo;)&lt;/li>
&lt;li>&lt;code>Deadline&lt;/code> (Date)&lt;/li>
&lt;li>&lt;code>Tasks&lt;/code> (Relation: Vinculado ao banco de dados Tasks)&lt;/li>
&lt;li>&lt;code>Progress&lt;/code> (Rollup &amp;amp; Formula: Descrito posteriormente)&lt;/li>
&lt;/ul>
&lt;h3 id="propriedades-do-banco-de-dados-tasks">Propriedades do banco de dados Tasks
&lt;/h3>&lt;ul>
&lt;li>&lt;code>Task Name&lt;/code> (Title)&lt;/li>
&lt;li>&lt;code>Status&lt;/code> (Status: &amp;ldquo;To Do&amp;rdquo;, &amp;ldquo;In Progress&amp;rdquo;, &amp;ldquo;Done&amp;rdquo;)&lt;/li>
&lt;li>&lt;code>Priority&lt;/code> (Select: &amp;ldquo;High&amp;rdquo;, &amp;ldquo;Medium&amp;rdquo;, &amp;ldquo;Low&amp;rdquo;)&lt;/li>
&lt;li>&lt;code>Project&lt;/code> (Relation: Vinculado ao banco de dados Projects)&lt;/li>
&lt;li>&lt;code>Due Date&lt;/code> (Date)&lt;/li>
&lt;li>&lt;code>Story Points&lt;/code> (Number: Para estimar o tamanho da tarefa)&lt;/li>
&lt;/ul>
&lt;p>Ao dividir o banco de dados desta forma, torna-se possível criar visualizações (views) avançadas, como filtrar e exibir apenas as tarefas que pertencem a esse projeto quando a página do projeto é aberta (usando Linked Databases).&lt;/p>
&lt;hr>
&lt;h2 id="3-visualização-do-progresso-usando-rollup-e-formula">3. Visualização do Progresso usando Rollup e Formula
&lt;/h2>&lt;p>Para compreender intuitivamente o progresso de um projeto, criaremos uma barra de progresso usando a funcionalidade Formula (fórmula) do Notion. Isso permite ver de relance &amp;ldquo;o quanto este projeto avançou agora&amp;rdquo;.&lt;/p>
&lt;h3 id="agregação-de-dados-com-rollup">Agregação de dados com Rollup
&lt;/h3>&lt;p>Primeiro, no banco de dados Projects, crie as duas seguintes propriedades de Rollup a partir do banco de dados Tasks:&lt;/p>
&lt;ol>
&lt;li>&lt;code>Total Tasks&lt;/code> (Rollup): Obtém o &amp;ldquo;número (Count all)&amp;rdquo; de tarefas a partir da relação Tasks.&lt;/li>
&lt;li>&lt;code>Completed Tasks&lt;/code> (Rollup): Obtém o número de tarefas cujo status é &amp;ldquo;Done&amp;rdquo; a partir da relação Tasks (ou use uma fórmula para contar as tarefas concluídas).&lt;/li>
&lt;/ol>
&lt;h3 id="cálculo-da-barra-de-progresso-com-formula">Cálculo da barra de progresso com Formula
&lt;/h3>&lt;p>Em seguida, crie uma propriedade Formula e insira a seguinte fórmula de cálculo.&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;span class="lnt">2
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-javascript" data-lang="javascript">&lt;span class="line">&lt;span class="cl">&lt;span class="c1">// Fórmula de cálculo da barra de progresso
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">&lt;/span>&lt;span class="nx">round&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="nx">prop&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s2">&amp;#34;Completed Tasks&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="nx">prop&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s2">&amp;#34;Total Tasks&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="o">*&lt;/span> &lt;span class="mi">100&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>No mais recente Formula 2.0 do Notion, com base nisso, agora é possível definir diretamente uma barra de progresso visual (em forma de anel ou barra) na própria interface do usuário. Se você for detalhista sobre métodos de escrita mais antigos ou a exibição de barras de progresso em texto, você também pode usar a ramificação condicional a seguir.&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;span class="lnt">2
&lt;/span>&lt;span class="lnt">3
&lt;/span>&lt;span class="lnt">4
&lt;/span>&lt;span class="lnt">5
&lt;/span>&lt;span class="lnt">6
&lt;/span>&lt;span class="lnt">7
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-javascript" data-lang="javascript">&lt;span class="line">&lt;span class="cl">&lt;span class="c1">// Barra de progresso baseada em texto (exemplo)
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">&lt;/span>&lt;span class="kd">let&lt;/span>&lt;span class="p">(&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nx">percent&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="nx">round&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="nx">prop&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s2">&amp;#34;Completed Tasks&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="nx">prop&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s2">&amp;#34;Total Tasks&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="o">*&lt;/span> &lt;span class="mi">100&lt;/span>&lt;span class="p">),&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nx">style&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="nx">percent&lt;/span> &lt;span class="o">+&lt;/span> &lt;span class="s2">&amp;#34;% &amp;#34;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="s2">&amp;#34;b&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="o">+&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nx">slice&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s2">&amp;#34;▓▓▓▓▓▓▓▓▓▓&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">0&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="nx">floor&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="nx">percent&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="mi">10&lt;/span>&lt;span class="p">))&lt;/span> &lt;span class="o">+&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nx">slice&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s2">&amp;#34;░░░░░░░░░░&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">0&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">10&lt;/span> &lt;span class="o">-&lt;/span> &lt;span class="nx">floor&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="nx">percent&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="mi">10&lt;/span>&lt;span class="p">))&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;h3 id="abordagem-matemática-para-velocity-velocidade-de-desenvolvimento-e-previsão-de-conclusão">Abordagem Matemática para Velocity (Velocidade de Desenvolvimento) e Previsão de Conclusão
&lt;/h3>&lt;p>No desenvolvimento pessoal, saber em que ritmo você consegue realizar as tarefas (Velocity) está diretamente ligado a um gerenciamento de cronograma de alta precisão.
Se o total de Story Points que podem ser concluídos em uma semana for a velocidade $V$, ela é representada pela seguinte fórmula.&lt;/p>
$$ V = \frac{\sum_{i=1}^{n} SP_i}{T} $$&lt;p>Aqui, $SP_i$ são os pontos de história da tarefa concluída $i$, e $T$ é o período de medição (por exemplo, o número de semanas no sprint).&lt;/p>
&lt;p>Se o total de pontos de história restantes do projeto atual for $W$, então o tempo estimado $E$ até a conclusão do projeto pode ser calculado da seguinte forma.&lt;/p>
$$ E = \frac{W}{V} $$&lt;p>Fazer esse cálculo inteiramente dentro do Notion é um pouco complicado, mas é muito eficaz colocar um bloco de matemática (Math block) nas tarefas da revisão semanal (Weekly Review) para registrá-lo como um indicador de autoavaliação.&lt;/p>
&lt;hr>
&lt;h2 id="4-prática-de-quadro-kanban-e-visualização-de-timeline">4. Prática de Quadro Kanban e Visualização de Timeline
&lt;/h2>&lt;p>As &amp;ldquo;visualizações (views)&amp;rdquo; para o gerenciamento de tarefas também são importantes. No Notion, o mesmo banco de dados pode ser exibido em formatos diferentes (views).&lt;/p>
&lt;h3 id="quadro-kanban-board-view">Quadro Kanban (Board View)
&lt;/h3>&lt;p>A visualização padrão para o banco de dados &amp;ldquo;Tasks&amp;rdquo; será um quadro Kanban agrupado por Status (To Do / In Progress / Done). Isso permite mover tarefas intuitivamente arrastando e soltando, e verificar visualmente se os gargalos atuais não estão se acumulando na coluna &amp;ldquo;In Progress&amp;rdquo;.&lt;/p>
&lt;h3 id="linha-do-tempo-timeline-view">Linha do Tempo (Timeline View)
&lt;/h3>&lt;p>Para &amp;ldquo;Projects&amp;rdquo; ou &amp;ldquo;Tasks&amp;rdquo; de maior escala, a visualização Timeline é eficaz. Isso visualiza o que será feito e de quando a quando, como um gráfico de Gantt, facilitando a compreensão de tarefas forçadas em paralelo (tarefas simultâneas) e dependências (a próxima etapa não pode prosseguir a menos que uma determinada tarefa seja concluída).&lt;/p>
&lt;hr>
&lt;h2 id="5-criação-de-redes-de-conhecimento-com-zettelkasten-e-banco-de-dados-notes">5. Criação de Redes de Conhecimento com Zettelkasten e Banco de Dados Notes
&lt;/h2>&lt;p>Na escrita de blogs, &amp;ldquo;começar a escrever um artigo a partir de uma página em branco&amp;rdquo; é a parte mais dolorosa e a causa do bloqueio de escrita. Portanto, incorporamos ao Notion o conceito de &amp;ldquo;&lt;strong>Zettelkasten (método da caixa de notas)&lt;/strong>&amp;rdquo;, criado pelo sociólogo alemão Niklas Luhmann.&lt;/p>
&lt;p>A regra básica do Zettelkasten é &amp;ldquo;escrever apenas uma ideia em uma nota (natureza Atômica)&amp;rdquo; e &amp;ldquo;criar uma rede vinculando as notas umas às outras&amp;rdquo;.&lt;/p>
&lt;h3 id="design-do-banco-de-dados-notes">Design do banco de dados Notes
&lt;/h3>&lt;ul>
&lt;li>&lt;code>Note Title&lt;/code> (Title)&lt;/li>
&lt;li>&lt;code>Tags&lt;/code> (Multi-select)&lt;/li>
&lt;li>&lt;code>Related Notes&lt;/code> (Relation: Vinculado ao próprio banco de dados Notes)&lt;/li>
&lt;li>&lt;code>Tasks&lt;/code> (Relation: Vinculado a tarefas de escrita de blog)&lt;/li>
&lt;/ul>
&lt;h3 id="fluxo-de-trabalho-de-escrita-do-blog">Fluxo de trabalho de escrita do blog
&lt;/h3>&lt;ol>
&lt;li>Acumule rapidamente os conhecimentos adquiridos no desenvolvimento diário e as ideias que surgem como &amp;ldquo;Notes&amp;rdquo; fragmentadas.&lt;/li>
&lt;li>Se houver um tema comum entre essas notas, vincule-as (links bidirecionais) usando a propriedade &lt;code>Related Notes&lt;/code>.&lt;/li>
&lt;li>Ao começar a trabalhar na tarefa de escrever o blog (Tasks), chame o banco de dados vinculado dentro da página da tarefa e organize as notas (Notes) relacionadas.&lt;/li>
&lt;li>Apenas conectando os fragmentos de notas, a estrutura (esboço) do blog é concluída.&lt;/li>
&lt;/ol>
&lt;p>Com isso, a escrita do blog deixa de ser uma &amp;ldquo;criação a partir do zero&amp;rdquo; e passa a ser um &amp;ldquo;trabalho de edição de conhecimento armazenado&amp;rdquo;, aumentando drasticamente a velocidade da escrita.&lt;/p>
&lt;hr>
&lt;h2 id="6-automação-suprema-usando-notion-api-e-python">6. Automação Suprema usando Notion API e Python
&lt;/h2>&lt;p>A partir daqui, é a seção de automação técnica, que é o maior destaque deste artigo. A entrada manual de tarefas e alterações de status são um desperdício de tempo no desenvolvimento pessoal. Usando a Notion API, construiremos um sistema que sincroniza as Issues do GitHub com as tarefas do Notion e reflete o status de implantação do blog no Notion.&lt;/p>
&lt;h3 id="visão-geral-da-arquitetura">Visão Geral da Arquitetura
&lt;/h3>&lt;pre class="mermaid">
flowchart TD
GH[&amp;#34;GitHub (Issue / PR)&amp;#34;]
GHA[&amp;#34;GitHub Actions&amp;#34;]
WEB[&amp;#34;Web Server / Lambda&amp;#34;]
NOTION[&amp;#34;Notion API&amp;#34;]
DB[&amp;#34;Notion Tasks DB (Banco de Dados de Tarefas)&amp;#34;]
GH --&amp;gt;| Envio de Webhook | GHA
GHA --&amp;gt;| Execução de script Python | NOTION
NOTION --&amp;gt;| Atualização do DB/Adição de Tarefa | DB
&lt;/pre>
&lt;h3 id="criando-automaticamente-tarefas-no-notion-a-partir-das-issues-do-github">Criando automaticamente tarefas no Notion a partir das Issues do GitHub
&lt;/h3>&lt;p>Aqui está um exemplo de implementação de um script Python que adiciona automaticamente um item ao banco de dados Tasks do Notion quando uma Issue é criada no GitHub.&lt;/p>
&lt;p>É necessário criar uma integração no Notion com antecedência e obter a &lt;code>NOTION_API_KEY&lt;/code> e o &lt;code>DATABASE_ID&lt;/code>.&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt"> 1
&lt;/span>&lt;span class="lnt"> 2
&lt;/span>&lt;span class="lnt"> 3
&lt;/span>&lt;span class="lnt"> 4
&lt;/span>&lt;span class="lnt"> 5
&lt;/span>&lt;span class="lnt"> 6
&lt;/span>&lt;span class="lnt"> 7
&lt;/span>&lt;span class="lnt"> 8
&lt;/span>&lt;span class="lnt"> 9
&lt;/span>&lt;span class="lnt">10
&lt;/span>&lt;span class="lnt">11
&lt;/span>&lt;span class="lnt">12
&lt;/span>&lt;span class="lnt">13
&lt;/span>&lt;span class="lnt">14
&lt;/span>&lt;span class="lnt">15
&lt;/span>&lt;span class="lnt">16
&lt;/span>&lt;span class="lnt">17
&lt;/span>&lt;span class="lnt">18
&lt;/span>&lt;span class="lnt">19
&lt;/span>&lt;span class="lnt">20
&lt;/span>&lt;span class="lnt">21
&lt;/span>&lt;span class="lnt">22
&lt;/span>&lt;span class="lnt">23
&lt;/span>&lt;span class="lnt">24
&lt;/span>&lt;span class="lnt">25
&lt;/span>&lt;span class="lnt">26
&lt;/span>&lt;span class="lnt">27
&lt;/span>&lt;span class="lnt">28
&lt;/span>&lt;span class="lnt">29
&lt;/span>&lt;span class="lnt">30
&lt;/span>&lt;span class="lnt">31
&lt;/span>&lt;span class="lnt">32
&lt;/span>&lt;span class="lnt">33
&lt;/span>&lt;span class="lnt">34
&lt;/span>&lt;span class="lnt">35
&lt;/span>&lt;span class="lnt">36
&lt;/span>&lt;span class="lnt">37
&lt;/span>&lt;span class="lnt">38
&lt;/span>&lt;span class="lnt">39
&lt;/span>&lt;span class="lnt">40
&lt;/span>&lt;span class="lnt">41
&lt;/span>&lt;span class="lnt">42
&lt;/span>&lt;span class="lnt">43
&lt;/span>&lt;span class="lnt">44
&lt;/span>&lt;span class="lnt">45
&lt;/span>&lt;span class="lnt">46
&lt;/span>&lt;span class="lnt">47
&lt;/span>&lt;span class="lnt">48
&lt;/span>&lt;span class="lnt">49
&lt;/span>&lt;span class="lnt">50
&lt;/span>&lt;span class="lnt">51
&lt;/span>&lt;span class="lnt">52
&lt;/span>&lt;span class="lnt">53
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-python" data-lang="python">&lt;span class="line">&lt;span class="cl">&lt;span class="kn">import&lt;/span> &lt;span class="nn">os&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="kn">import&lt;/span> &lt;span class="nn">requests&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="kn">import&lt;/span> &lt;span class="nn">json&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># Obter token e ID do banco de dados a partir das variáveis de ambiente&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">NOTION_API_KEY&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">os&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">environ&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">get&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s2">&amp;#34;NOTION_API_KEY&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">DATABASE_ID&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">os&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">environ&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">get&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s2">&amp;#34;DATABASE_ID&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="k">def&lt;/span> &lt;span class="nf">create_notion_task&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">issue_title&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">issue_url&lt;/span>&lt;span class="p">):&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">url&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="s2">&amp;#34;https://api.notion.com/v1/pages&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">headers&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="s2">&amp;#34;Authorization&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="sa">f&lt;/span>&lt;span class="s2">&amp;#34;Bearer &lt;/span>&lt;span class="si">{&lt;/span>&lt;span class="n">NOTION_API_KEY&lt;/span>&lt;span class="si">}&lt;/span>&lt;span class="s2">&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="s2">&amp;#34;Content-Type&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;application/json&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="s2">&amp;#34;Notion-Version&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;2022-06-28&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">data&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="s2">&amp;#34;parent&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="p">{&lt;/span> &lt;span class="s2">&amp;#34;database_id&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="n">DATABASE_ID&lt;/span> &lt;span class="p">},&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="s2">&amp;#34;properties&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="s2">&amp;#34;Task Name&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="s2">&amp;#34;title&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="p">[&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="s2">&amp;#34;text&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="s2">&amp;#34;content&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="n">issue_title&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">]&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">},&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="s2">&amp;#34;Status&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="s2">&amp;#34;status&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="s2">&amp;#34;name&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;To Do&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">},&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="s2">&amp;#34;URL&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="s2">&amp;#34;url&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="n">issue_url&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">response&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">requests&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">post&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">url&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">headers&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="n">headers&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">data&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="n">json&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">dumps&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">data&lt;/span>&lt;span class="p">))&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">if&lt;/span> &lt;span class="n">response&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">status_code&lt;/span> &lt;span class="o">==&lt;/span> &lt;span class="mi">200&lt;/span>&lt;span class="p">:&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nb">print&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s2">&amp;#34;Task created successfully in Notion!&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">else&lt;/span>&lt;span class="p">:&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nb">print&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="sa">f&lt;/span>&lt;span class="s2">&amp;#34;Failed to create task: &lt;/span>&lt;span class="si">{&lt;/span>&lt;span class="n">response&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">text&lt;/span>&lt;span class="si">}&lt;/span>&lt;span class="s2">&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># Assume-se que será recebido como argumento do GitHub Actions, etc.&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="k">if&lt;/span> &lt;span class="vm">__name__&lt;/span> &lt;span class="o">==&lt;/span> &lt;span class="s2">&amp;#34;__main__&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="c1"># Exemplo: python sync.py &amp;#34;Correção de bug: Tela de login quebrando&amp;#34; &amp;#34;https://github.com/user/repo/issues/1&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="kn">import&lt;/span> &lt;span class="nn">sys&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">if&lt;/span> &lt;span class="nb">len&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">sys&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">argv&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="o">&amp;gt;=&lt;/span> &lt;span class="mi">3&lt;/span>&lt;span class="p">:&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">create_notion_task&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">sys&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">argv&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="mi">1&lt;/span>&lt;span class="p">],&lt;/span> &lt;span class="n">sys&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">argv&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="mi">2&lt;/span>&lt;span class="p">])&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>Ao incorporar este script ao fluxo de trabalho do GitHub Actions (&lt;code>.github/workflows/issue_to_notion.yml&lt;/code>), uma tarefa será gerada automaticamente no Notion toda vez que uma Issue for criada no repositório. O desenvolvedor fica livre do incômodo de ir e voltar entre o GitHub e o Notion.&lt;/p>
&lt;h3 id="atualização-automática-do-status-de-publicação-do-blog-usando-curl">Atualização automática do status de publicação do blog usando cURL
&lt;/h3>&lt;p>Se você está implantando seu blog em um serviço de hospedagem como Vercel ou Netlify, pode receber um Webhook de conclusão de implantação e alterar automaticamente o status da tarefa no Notion (ex: &amp;ldquo;Escrever e publicar o Artigo A&amp;rdquo;) para &amp;ldquo;Done&amp;rdquo;.&lt;/p>
&lt;p>Aqui está um exemplo de comando cURL para atualizar as propriedades de uma página (tarefa) específica.&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt"> 1
&lt;/span>&lt;span class="lnt"> 2
&lt;/span>&lt;span class="lnt"> 3
&lt;/span>&lt;span class="lnt"> 4
&lt;/span>&lt;span class="lnt"> 5
&lt;/span>&lt;span class="lnt"> 6
&lt;/span>&lt;span class="lnt"> 7
&lt;/span>&lt;span class="lnt"> 8
&lt;/span>&lt;span class="lnt"> 9
&lt;/span>&lt;span class="lnt">10
&lt;/span>&lt;span class="lnt">11
&lt;/span>&lt;span class="lnt">12
&lt;/span>&lt;span class="lnt">13
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-bash" data-lang="bash">&lt;span class="line">&lt;span class="cl">curl -X PATCH &lt;span class="s1">&amp;#39;https://api.notion.com/v1/pages/PAGE_ID&amp;#39;&lt;/span> &lt;span class="se">\
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="se">&lt;/span> -H &lt;span class="s1">&amp;#39;Authorization: Bearer &amp;#39;&lt;/span>&lt;span class="s2">&amp;#34;&lt;/span>&lt;span class="nv">$NOTION_API_KEY&lt;/span>&lt;span class="s2">&amp;#34;&lt;/span>&lt;span class="s1">&amp;#39;&amp;#39;&lt;/span> &lt;span class="se">\
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="se">&lt;/span> -H &lt;span class="s2">&amp;#34;Content-Type: application/json&amp;#34;&lt;/span> &lt;span class="se">\
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="se">&lt;/span> -H &lt;span class="s2">&amp;#34;Notion-Version: 2022-06-28&amp;#34;&lt;/span> &lt;span class="se">\
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="se">&lt;/span> --data &lt;span class="s1">&amp;#39;{
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="s1"> &amp;#34;properties&amp;#34;: {
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="s1"> &amp;#34;Status&amp;#34;: {
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="s1"> &amp;#34;status&amp;#34;: {
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="s1"> &amp;#34;name&amp;#34;: &amp;#34;Done&amp;#34;
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="s1"> }
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="s1"> }
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="s1"> }
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="s1"> }&amp;#39;&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>Ao integrar esta chamada de API à etapa final do pipeline de CI/CD, a automação completa de &amp;ldquo;enviar código → implantar automaticamente → a tarefa do Notion é concluída automaticamente&amp;rdquo; será alcançada.&lt;/p>
&lt;hr>
&lt;h2 id="7-melhores-práticas-de-operação-e-dicas-de-continuidade">7. Melhores Práticas de Operação e Dicas de Continuidade
&lt;/h2>&lt;p>Não importa quão avançado seja o sistema ou a ferramenta que você crie, seria colocar a carroça na frente dos bois se a pessoa que os opera ficar exausta. Por fim, aqui estão algumas dicas para manter este sistema do Notion funcionando sem falhas.&lt;/p>
&lt;ol>
&lt;li>&lt;strong>Mantenha-o simples&lt;/strong>: Não crie propriedades perfeitas ou relações complexas desde o início. Mantenha em mente uma &amp;ldquo;construção ágil do Notion&amp;rdquo;, adicionando propriedades quando necessário.&lt;/li>
&lt;li>&lt;strong>Implementação rigorosa da Revisão Semanal (Weekly Review)&lt;/strong>: Defina um horário, como nas noites de domingo, para revisar todo o Notion. Mantenha o sistema limpo organizando as tarefas concluídas, reprogramando as tarefas atrasadas e marcando as Notas (Notes) não classificadas.&lt;/li>
&lt;li>&lt;strong>Utilização da Caixa de Entrada (Inbox)&lt;/strong>: É um aborrecimento classificar todas as ideias e tarefas em bancos de dados apropriados o tempo todo. Primeiro, crie um banco de dados &amp;ldquo;Inbox&amp;rdquo; para jogar tudo lá dentro, e classificá-lo posteriormente (como durante a revisão semanal) em Projects ou Notes, o que proporciona uma operação livre de estresse.&lt;/li>
&lt;/ol>
&lt;h2 id="8-conclusão">8. Conclusão
&lt;/h2>&lt;p>O gerenciamento de tarefas com o Notion vai muito além de uma simples lista de afazeres. Ao combinar a organização de informações através do método PARA, a criação de redes de conhecimento com o Zettelkasten e a engenharia com a Notion API, você pode construir um &amp;ldquo;Segundo Cérebro (Second Brain)&amp;rdquo; que impulsionará fortemente o seu desenvolvimento pessoal e a escrita de blogs.&lt;/p>
&lt;p>Embora a configuração inicial leve algum tempo, uma vez que o sistema começa a funcionar, a carga cognitiva envolvida no gerenciamento de tarefas cai drasticamente, permitindo que você concentre toda a sua atenção no que realmente importa: &amp;ldquo;escrever código&amp;rdquo; e &amp;ldquo;escrever textos&amp;rdquo;. Não deixe de usar este artigo como referência para construir o seu próprio e definitivo espaço de trabalho no Notion.&lt;/p></description></item></channel></rss>