Създаване на блог с quarto

webtools
bg
Author

me

Published

November 18, 2022

Създаване на блог за техническа информация с използване на платформата quarto

Характеристики:

  • проста и интуитивна предварително зададена структура
  • поддържа md синтаксис за въвеждане на текст, заглавия и секции, връзки, картинки, таблици
  • поддържа преобразуване на jupyter тетрадки, съдържащи код, формули, графики

Основни стъпки:

  • локално инсталиране https://quarto.org/docs/get-started/
  • генериране на структурата https://quarto.org/docs/websites/website-blog.html:
    • отваря се терминал от папката, където ще се съхранява блога и се изпълнява команда:

       quarto create-project myblog --type website:blog
    • визуализира се генерирания блог

       quarto preview myblog
  • редактират се различните файлове за запознаване със структурата.
    • Заглавната страница е във файл index.qmd в коренната директория.
    • Обща информация за блога се дава във файл about.qmd в коренната директория
    • Всяко съобщение има папка в папка posts и файл index.qmd с основното съдържание. В папката може да има и картинки.
  • избира се тема за оформлението на сайта и се задава във файл _quarto.yml:
     format:
       html:
         theme: litera
         css: styles.css

Темата по подразбиране е cosmo и е със синя заглавна лента. Темата, избрана за този блог е litera с по-убити цветове. Интересна тема е journal, както и много други (cerulean, cyborg, darkly, flatly, lumen, lux, materia, minty, morph, pulse, quartz, sandstone, simplex, sketchy, slate, solar, spacelab, superhero, united, vapor, yeti, zephyr).

  • редактират се връзките на шаблона във файл _quarto.yml:
website:
  title: "blog"
  navbar:
    right:
      - about.qmd
      - icon: github
        href: https://github.com/krasing

Публикуване на Jupyter тетрадки

  • At the beginning of the jupyter notebook we need to add a cell of type raw with metadata, e.g.
---
title: "Gradients, broadcasting and backpropagation"
author: "me"
date: "2022-11-20"
categories: [NN]
format:
  html:
    code-fold: false
jupyter: python3
--- 

Публикуване в Github

  • във файл _quarto.yml се добавя ред output-dir: docs, така изходните страници ще се слагат в папка docs вместо в _site
project:
    type: website
    output-dir: docs
  • добавя се празен файл с име .nojekyll в базовата папка, за да се укаже на GitHub Pagesда не обработва допълнително сайта с Jekyll:
touch .nojekyll
  • прави се ново хранилище в GitHub, за пример ще го наречем blog
  • за отдалечен достъп до GitHub през терминал е необходимо да имаме GitHub Personal Access Token (PAT). Генерира се на адрес https://github.com/settings/tokens. Този код служи за парола при качване от терминал
  • качват се локалните файлове в хранилището със следния код от терминал:
git init
git add docs
git commit -m "Publish site to docs/"
git branch -M main
git remote add origin https://github.com/krasing/blog.git
git push -u origin main
  • настройва се хранилището в GitHub да се обслужва като уебсайт (Build and deployment), като от Settings –> Pages се избира Source: Deploy from a branch, Branch: main, Select folder: /docs