aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorgabriel giovanini <1408882-gabrielgio@users.noreply.gitlab.com>2022-03-23 23:39:57 +0000
committergabriel giovanini <1408882-gabrielgio@users.noreply.gitlab.com>2022-03-23 23:39:57 +0000
commitef20913e3bb403ae46c5780fe6b6a560cb0c4479 (patch)
tree264ebef97efc1b5782f6c2578f523bba4a252255
parent452a31a0c773817f15261f5c456d25d8b391c6e8 (diff)
downloadjnfilter-ef20913e3bb403ae46c5780fe6b6a560cb0c4479.tar.gz
jnfilter-ef20913e3bb403ae46c5780fe6b6a560cb0c4479.tar.bz2
jnfilter-ef20913e3bb403ae46c5780fe6b6a560cb0c4479.zip
feat: Adiciona documentacao
-rw-r--r--.gitlab-ci.yml14
-rw-r--r--README.md55
-rw-r--r--docs/bamboo.min.css369
3 files changed, 438 insertions, 0 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
new file mode 100644
index 0000000..d7c20bf
--- /dev/null
+++ b/.gitlab-ci.yml
@@ -0,0 +1,14 @@
+pages:
+ image:
+ name: pandoc/alpine
+ entrypoint:
+ - ""
+ stage: build
+ script:
+ - mkdir public
+ - pandoc -s --include-in-header=docs/bamboo.min.css -s README.md -o public/index.html
+ artifacts:
+ paths:
+ - public
+ only:
+ - main
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..f13190d
--- /dev/null
+++ b/README.md
@@ -0,0 +1,55 @@
+# Nerdcast filtro para podcast
+
+Um simples filtro para o Nerdcast. Hoje em dia o _feed_ do _podcast_ e bem
+poluído, vários temas, quadros e programas. Esse projeto e um filtro simples
+para tirar alguns programas do _feed_ ou mesmo dividi-los em _feeds_
+diferentes. Os seguintes seguimentos são suportados:
+
+- `nerdcast`
+- `empreendedor`
+- `mamicas`
+- `english`
+- `nerdcash`
+- `bunker`
+- `tech`
+- `genera`
+
+## Para usuarios
+
+Por padrão ele só pega a série principal lançada toda sexta. Para usar basta
+adicionar a seguinte URL no seu agregador:
+
+```
+https://jnfilter.herokuapp.com/
+```
+
+Mas caso você queira, você pode escolher mais alguns seguimentos. Por exemplo,
+se voce quer ver somente a série principal e canecas de mamicas você
+adicionaria o seguinte URL no seu agregador:
+
+```
+https://jnfilter.herokuapp.com/?q=mamicas,nerdcast
+```
+
+Quer nerdcast e nerdcash?
+
+```
+https://jnfilter.herokuapp.com/?q=nerdcash,nerdcast
+```
+
+E por aí vai, seguindo os seguimentos listados acima.
+
+## Para programadores
+
+E um projeto simples feito em cima do FastApi. Ele vai pegar o _feed_ e
+filtrar os itens do _feed_ do podcast. Não tem cache nem nada sendo armazenado,
+todo processamento e feito a partir do feed para cada requisição.
+
+Para rodar basta instalar os requirements e rodar o seguinte código:
+
+```shell
+uvicorn main:app --host=0.0.0.0
+```
+
+E você já pode apontar o seu agregador favorito para sua maquina.
+
diff --git a/docs/bamboo.min.css b/docs/bamboo.min.css
new file mode 100644
index 0000000..5289de7
--- /dev/null
+++ b/docs/bamboo.min.css
@@ -0,0 +1,369 @@
+<style type="text/css">
+:root {
+ --b-font-main: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
+ --b-font-mono: Consolas, Monaco, monospace;
+ --b-txt: #2e3440;
+ --b-bg-1: #fff;
+ --b-bg-2: #eceff4;
+ --b-line: #eceff4;
+ --b-link: #bf616a;
+ --b-btn-bg: #242933;
+ --b-btn-txt: #fff;
+ --b-focus: #88c0d0
+}
+
+@media (prefers-color-scheme: dark) {
+ :root {
+ --b-txt: #eceff4;
+ --b-bg-1: #2e3440;
+ --b-bg-2: #3b4252;
+ --b-line: #3b4252
+ }
+}
+
+*, :after, :before {
+ box-sizing: border-box
+}
+
+html:focus-within {
+ scroll-behavior: smooth
+}
+
+body {
+ max-width: 70ch;
+ padding: 0 1rem;
+ margin: auto;
+ background: var(--b-bg-1);
+ font-family: var(--b-font-main);
+ text-rendering: optimizeSpeed;
+ line-height: 1.5;
+ color: var(--b-txt);
+ -moz-tab-size: 4;
+ tab-size: 4;
+ word-break: break-word;
+ -webkit-tap-highlight-color: transparent;
+ -webkit-text-size-adjust: 100%
+}
+
+address, audio, blockquote, dd, details, dl, fieldset, figure, h1, h2, h3, h4, h5, h6, hr, iframe, ol, p, pre, table, ul, video {
+ margin: 0 0 1.5rem
+}
+
+h1, h2, h3, h4, h5, h6 {
+ line-height: 1.25;
+ margin-top: 2rem
+}
+
+h1 {
+ font-size: 2rem
+}
+
+h2 {
+ font-size: 1.5rem
+}
+
+h3 {
+ font-size: 1.25rem
+}
+
+h4 {
+ font-size: 1rem
+}
+
+h5 {
+ font-size: .875rem
+}
+
+h6 {
+ font-size: .75rem
+}
+
+a {
+ color: var(--b-link);
+ text-decoration: none
+}
+
+a:hover {
+ text-decoration: underline
+}
+
+img, svg, video {
+ height: auto
+}
+
+embed, iframe, img, object, svg, video {
+ max-width: 100%
+}
+
+iframe {
+ border-style: none
+}
+
+abbr[title] {
+ text-decoration: underline;
+ text-decoration: underline dotted
+}
+
+blockquote {
+ margin-left: 0;
+ padding: .5rem 0 .5rem 1.5rem;
+ border-left: .25rem solid var(--b-txt)
+}
+
+blockquote > :last-child {
+ margin-bottom: 0
+}
+
+small {
+ font-size: .875rem
+}
+
+sub, sup {
+ font-size: .75em;
+ line-height: 0;
+ position: relative;
+ vertical-align: baseline
+}
+
+sub {
+ bottom: -.25em
+}
+
+sup {
+ top: -.5em
+}
+
+hr {
+ height: 0;
+ overflow: visible;
+ border: 0;
+ border-bottom: 1px solid var(--b-line)
+}
+
+code, kbd, pre, samp, tt, var {
+ background: var(--b-bg-2);
+ border-radius: .25rem;
+ padding: .125rem .25rem;
+ font-family: var(--b-font-mono);
+ font-size: .875rem
+}
+
+pre {
+ padding: 1rem;
+ border-radius: 0;
+ overflow: auto;
+ white-space: pre
+}
+
+pre code {
+ padding: 0
+}
+
+details {
+ display: block;
+ padding: .5rem 1rem;
+ background: var(--b-bg-2);
+ border: 1px solid var(--b-line);
+ border-radius: .25rem
+}
+
+details > :last-child {
+ margin-bottom: 0
+}
+
+details[open] > summary {
+ margin-bottom: 1.5rem
+}
+
+summary {
+ display: list-item;
+ cursor: pointer;
+ font-weight: 700
+}
+
+summary:focus {
+ box-shadow: none
+}
+
+table {
+ border-collapse: collapse;
+ width: 100%;
+ text-indent: 0
+}
+
+table caption {
+ margin-bottom: .5rem
+}
+
+tr {
+ border-bottom: 1px solid var(--b-line)
+}
+
+td, th {
+ padding: .5rem 0
+}
+
+th {
+ text-align: left
+}
+
+dd, ol, ul {
+ padding-left: 2rem
+}
+
+li > ol, li > ul {
+ margin-bottom: 0
+}
+
+fieldset {
+ padding: .5rem .75rem;
+ border: 1px solid var(--b-line);
+ border-radius: .25rem
+}
+
+legend {
+ padding: 0 .25rem
+}
+
+button, input, select, textarea {
+ margin: 0;
+ padding: .5rem .75rem;
+ max-width: 100%;
+ background: var(--b-bg-2);
+ border: 0;
+ border-radius: .25rem;
+ font: inherit;
+ line-height: 1.125;
+ color: var(--b-txt)
+}
+
+input:not([size]):not([type=button i]):not([type=submit i]):not([type=reset i]):not([type=checkbox i]):not([type=radio i]), select {
+ width: 100%
+}
+
+[type=color i] {
+ min-height: 2.125rem
+}
+
+select:not([multiple]):not([size]) {
+ padding-right: 1.5rem;
+ background-repeat: no-repeat;
+ background-position: right .5rem center;
+ -moz-appearance: none;
+ -webkit-appearance: none;
+ appearance: none
+}
+
+textarea {
+ width: 100%;
+ resize: vertical
+}
+
+textarea:not([rows]) {
+ height: 8rem
+}
+
+[type=button i], [type=reset i], [type=submit i], button {
+ -webkit-appearance: button;
+ display: inline-block;
+ text-align: center;
+ white-space: nowrap;
+ background: var(--b-btn-bg);
+ color: var(--b-btn-txt);
+ border: 0;
+ cursor: pointer;
+ transition: opacity .25s
+}
+
+[type=button i]:hover, [type=reset i]:hover, [type=submit i]:hover, button:hover {
+ opacity: .75
+}
+
+[type=button i][disabled], [type=reset i][disabled], [type=submit i][disabled], button[disabled] {
+ opacity: .5
+}
+
+progress {
+ vertical-align: middle
+}
+
+[type=search i] {
+ -webkit-appearance: textfield;
+ outline-offset: -2px
+}
+
+::-webkit-inner-spin-button, ::-webkit-outer-spin-button {
+ height: auto
+}
+
+::-webkit-input-placeholder {
+ color: inherit;
+ opacity: .5
+}
+
+::-webkit-search-decoration {
+ -webkit-appearance: none
+}
+
+::-webkit-file-upload-button {
+ -webkit-appearance: button;
+ font: inherit
+}
+
+::-moz-focus-inner {
+ border-style: none;
+ padding: 0
+}
+
+:-moz-focusring {
+ outline: 1px dotted ButtonText
+}
+
+:-moz-ui-invalid {
+ box-shadow: none
+}
+
+[aria-busy=true i] {
+ cursor: progress
+}
+
+[aria-controls] {
+ cursor: pointer
+}
+
+[aria-disabled=true i], [disabled] {
+ cursor: not-allowed
+}
+
+:focus, details:focus-within {
+ outline: none;
+ box-shadow: 0 0 0 2px var(--b-focus)
+}
+
+@media (prefers-reduced-motion: reduce) {
+ html:focus-within {
+ scroll-behavior: auto
+ }
+
+ *, :after, :before {
+ animation-delay: -1ms !important;
+ animation-duration: 1ms !important;
+ animation-iteration-count: 1 !important;
+ background-attachment: scroll !important;
+ scroll-behavior: auto !important;
+ transition-delay: 0 !important;
+ transition-duration: 0 !important
+ }
+}
+
+select:not([multiple]):not([size]) {
+ background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width='16' height='16' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%232e3440'%3E%3Cpath d='M5 6l5 5 5-5 2 1-7 7-7-7 2-1z'/%3E%3C/svg%3E")
+}
+
+@media (prefers-color-scheme: dark) {
+ select:not([multiple]):not([size]) {
+ background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width='16' height='16' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23eceff4'%3E%3Cpath d='M5 6l5 5 5-5 2 1-7 7-7-7 2-1z'/%3E%3C/svg%3E")
+ }
+}
+
+</style > \ No newline at end of file