<%= get_flash(@conn, :info) %>
-<%= get_flash(@conn, :error) %>
- <%= @inner_content %> -diff --git a/assets/css/_variables.scss b/assets/css/_variables.scss new file mode 100644 index 0000000..6e682d5 --- /dev/null +++ b/assets/css/_variables.scss @@ -0,0 +1,5 @@ +$theme-colors: ( + "danger": #f24400, +); + +$link-color: map-get($theme-colors, "danger"); diff --git a/assets/css/app.scss b/assets/css/app.scss index a475031..32ac3d5 100644 --- a/assets/css/app.scss +++ b/assets/css/app.scss @@ -1,31 +1,109 @@ -/* This file is for your main application css. */ -@import "./phoenix.css"; +@import "variables"; +@import "~bootstrap/scss/bootstrap"; +@import url("https://fonts.googleapis.com/css2?family=Comfortaa:wght@515&family=Fira+Code:wght@515&display=swap"); -/* Alerts and form errors */ -.alert { - padding: 15px; - margin-bottom: 20px; - border: 1px solid transparent; - border-radius: 4px; +:root { + --openpod-red: #f24400; + --openpod-grey: #ccc; + --openpod-red-dark: #732100; + --border: 2px; } -.alert-info { - color: #31708f; - background-color: #d9edf7; - border-color: #bce8f1; +body, +html { + font-family: "Fira Code", monospace; } -.alert-warning { - color: #8a6d3b; - background-color: #fcf8e3; - border-color: #faebcc; + +h1, +h2, +h3, +h4, +h5, +h6 { + font-family: "Comfortaa", cursive; + font-variation-settings: "wght" 700; } -.alert-danger { - color: #a94442; - background-color: #f2dede; - border-color: #ebccd1; + +.homeBodyHtml { + height: unset; + overflow: auto; } -.alert p { - margin-bottom: 0; + +.wrapper { + height: 100%; + background: var(--openpod-grey); + // border: var(--border) solid var(--openpod-red); } -.alert:empty { - display: none; + +.border-right-red { + border-right: none; +} + +#desc { + height: 100%; +} + +#desc p { + // color: transparent; + // background: linear-gradient(90deg, var(--openpod-red), black); + // -webkit-background-clip: text; + // background-clip: text; + text-align: left; +} + +.row-central { + height: 100%; + flex: unset; + min-height: 0; +} + +.row-border-red { + border-bottom: var(--border) solid var(--openpod-red); +} + +.emoji { + font-size: 2rem; +} + +@media (min-width: 576px) { +} + +@media (min-width: 768px) { + .homeBodyHtml { + height: 100vh; + min-height: 100vh; + padding: 0; + overflow: hidden; + } + + .emoji { + font-family: "Comfortaa", cursive; + font-size: 3rem; + } + + .border-right-red { + border-right: var(--border) solid var(--openpod-red); + } + + #desc { + column-count: 2; + column-fill: auto; + column-gap: 30px; + } + + #desc p { + text-align: justify; + hyphens: auto; + } +} + +@media (min-width: 992px) { +} + +@media (min-width: 1200px) { +} + +@media (min-width: 1400px) { + #desc { + column-count: 3; + } } diff --git a/assets/package-lock.json b/assets/package-lock.json index d18f858..75c7b66 100644 --- a/assets/package-lock.json +++ b/assets/package-lock.json @@ -1192,7 +1192,6 @@ "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", "dev": true, - "optional": true, "requires": { "normalize-path": "^3.0.0", "picomatch": "^2.0.4" @@ -1480,8 +1479,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.0.0.tgz", "integrity": "sha512-Phlt0plgpIIBOGTT/ehfFnbNlfsDEiqmzE2KRXoX1bLIlir4X/MR+zSyBEkL05ffWgnRSf/DXv+WrUAVr93/ow==", - "dev": true, - "optional": true + "dev": true }, "block-stream": { "version": "0.0.9", @@ -1510,6 +1508,11 @@ "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=", "dev": true }, + "bootstrap": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-4.5.0.tgz", + "integrity": "sha512-Z93QoXvodoVslA+PWNdk23Hze4RBYIkpb5h8I2HY2Tu2h7A0LpAgLcyrhrSUyo2/Oxm2l1fRZPs1e5hnxnliXA==" + }, "brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", @@ -1824,7 +1827,6 @@ "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.4.0.tgz", "integrity": "sha512-aXAaho2VJtisB/1fg1+3nlLJqGOuewTzQpd/Tz0yTg2R0e4IGtshYvtjowyEumcBv2z+y4+kc75Mz7j5xJskcQ==", "dev": true, - "optional": true, "requires": { "anymatch": "~3.1.1", "braces": "~3.0.2", @@ -1841,7 +1843,6 @@ "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", "dev": true, - "optional": true, "requires": { "fill-range": "^7.0.1" } @@ -1851,7 +1852,6 @@ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", "dev": true, - "optional": true, "requires": { "to-regex-range": "^5.0.1" } @@ -1861,7 +1861,6 @@ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz", "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==", "dev": true, - "optional": true, "requires": { "is-glob": "^4.0.1" } @@ -1870,15 +1869,13 @@ "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true, - "optional": true + "dev": true }, "to-regex-range": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", "dev": true, - "optional": true, "requires": { "is-number": "^7.0.0" } @@ -3845,7 +3842,6 @@ "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", "dev": true, - "optional": true, "requires": { "binary-extensions": "^2.0.0" } @@ -5261,8 +5257,7 @@ "version": "2.2.2", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz", "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==", - "dev": true, - "optional": true + "dev": true }, "pify": { "version": "4.0.1", @@ -6152,7 +6147,6 @@ "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.4.0.tgz", "integrity": "sha512-0xe001vZBnJEK+uKcj8qOhyAKPzIT+gStxWr3LCB0DwcXR5NZJ3IaC+yGnHCYzB/S7ov3m3EEbZI2zeNvX+hGQ==", "dev": true, - "optional": true, "requires": { "picomatch": "^2.2.1" } @@ -6433,6 +6427,15 @@ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", "dev": true }, + "sass": { + "version": "1.26.10", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.26.10.tgz", + "integrity": "sha512-bzN0uvmzfsTvjz0qwccN1sPm2HxxpNI/Xa+7PlUEMS+nQvbyuEK7Y0qFqxlPHhiNHb1Ze8WQJtU31olMObkAMw==", + "dev": true, + "requires": { + "chokidar": ">=2.0.0 <4.0.0" + } + }, "sass-graph": { "version": "2.2.5", "resolved": "https://registry.npmjs.org/sass-graph/-/sass-graph-2.2.5.tgz", diff --git a/assets/package.json b/assets/package.json index f433fd5..f22811f 100644 --- a/assets/package.json +++ b/assets/package.json @@ -8,7 +8,8 @@ }, "dependencies": { "phoenix": "file:../deps/phoenix", - "phoenix_html": "file:../deps/phoenix_html" + "phoenix_html": "file:../deps/phoenix_html", + "bootstrap": "^4.5.0" }, "devDependencies": { "@babel/core": "^7.0.0", @@ -22,6 +23,7 @@ "optimize-css-assets-webpack-plugin": "^5.0.1", "terser-webpack-plugin": "^2.3.2", "webpack": "4.41.5", - "webpack-cli": "^3.3.2" + "webpack-cli": "^3.3.2", + "sass": "^1.26.9" } } diff --git a/assets/static/images/additional.png b/assets/static/images/additional.png new file mode 100644 index 0000000..f098084 Binary files /dev/null and b/assets/static/images/additional.png differ diff --git a/assets/static/images/correggi.png b/assets/static/images/correggi.png new file mode 100644 index 0000000..e777746 Binary files /dev/null and b/assets/static/images/correggi.png differ diff --git a/assets/static/images/cover.png b/assets/static/images/cover.png new file mode 100644 index 0000000..463d5b2 Binary files /dev/null and b/assets/static/images/cover.png differ diff --git a/assets/static/images/create.png b/assets/static/images/create.png new file mode 100644 index 0000000..7460f4b Binary files /dev/null and b/assets/static/images/create.png differ diff --git a/assets/static/images/edit.png b/assets/static/images/edit.png new file mode 100644 index 0000000..f6cb253 Binary files /dev/null and b/assets/static/images/edit.png differ diff --git a/assets/static/images/final.png b/assets/static/images/final.png new file mode 100644 index 0000000..f933638 Binary files /dev/null and b/assets/static/images/final.png differ diff --git a/assets/static/images/logo.svg b/assets/static/images/logo.svg new file mode 100644 index 0000000..6a2e314 --- /dev/null +++ b/assets/static/images/logo.svg @@ -0,0 +1,91 @@ + + + diff --git a/assets/static/images/metadata.png b/assets/static/images/metadata.png new file mode 100644 index 0000000..f2e1561 Binary files /dev/null and b/assets/static/images/metadata.png differ diff --git a/assets/static/images/nuovo.png b/assets/static/images/nuovo.png new file mode 100644 index 0000000..19ef2c4 Binary files /dev/null and b/assets/static/images/nuovo.png differ diff --git a/assets/static/images/upload.png b/assets/static/images/upload.png new file mode 100644 index 0000000..32f3730 Binary files /dev/null and b/assets/static/images/upload.png differ diff --git a/lib/openpod_web/controllers/page_controller.ex b/lib/openpod_web/controllers/page_controller.ex index 4b827eb..669af9d 100644 --- a/lib/openpod_web/controllers/page_controller.ex +++ b/lib/openpod_web/controllers/page_controller.ex @@ -4,4 +4,8 @@ defmodule OpenpodWeb.PageController do def index(conn, _params) do render(conn, "index.html") end + + def howto(conn, _params) do + render(conn, "howto.html") + end end diff --git a/lib/openpod_web/router.ex b/lib/openpod_web/router.ex index d9fa41f..23d8af9 100644 --- a/lib/openpod_web/router.ex +++ b/lib/openpod_web/router.ex @@ -13,6 +13,13 @@ defmodule OpenpodWeb.Router do plug :accepts, ["json"] end + scope "/", OpenpodWeb do + pipe_through :browser + + get "/", PageController, :index + get "/howto", PageController, :howto + end + scope "/podcast", OpenpodWeb do pipe_through :browser diff --git a/lib/openpod_web/templates/layout/app.html.eex b/lib/openpod_web/templates/layout/app.html.eex index cff8100..9228855 100644 --- a/lib/openpod_web/templates/layout/app.html.eex +++ b/lib/openpod_web/templates/layout/app.html.eex @@ -1,33 +1,14 @@
- - - -<%= get_flash(@conn, :info) %>
-<%= get_flash(@conn, :error) %>
- <%= @inner_content %> -+ Esportare la/le traccia/tracce in formato .mp3 dal tuo editor + audio preferito (es: + Audacity) + aggiungendo i seguenti tag iD3: +
++ Un consiglio su come nominare i files: + titolo_podcast-##-titolo_puntata.mp3 (es: + fuori_fase-01-diritto_alla_città.mp3) +
++ Crea un account su + archive.org, è + gratuito e non sfruttano commercialmente i tuoi dati + " /> +
++ Crea un nuovo + item e carica una + o più tracce audio + " /> + Una volta terminato l'upload ti verrà chiesto di inserire i + metadati che OpenPod interpretà nel sequente modo +
++ Successivamente clicca su Add Additional Meta e aggiungi le + seguenti key:value: +
++ A questo punto carica l'immagine di copertina podcast: l'immagine + deve essere del formato .jpg o .png. La dimensione consigliata è + 3000x3000 pixels, minimo 1300x1300 pixels. Per terminare cliccate + sul pulsante Upload and create your item +
+ " /> ++ Tutti i passaggi e le informazioni richieste fino ad ora sono + obbligatorie, se ci sono delle mancanze il tuo feed RSS potrebbe + non risulatare valido per alcune piattaforme di distribuzione +
++ Per modificare e aggiornare il tuo podcast clicca su edit nella + pagina dell'item: +
+ " /> ++ se vuoi aggiungere un nuovo episodio al podcast: +
++ se non viene riconusciuta l'immagine come copertina: +
++ se vuoi cambiare le infomazioni precedentemente inserite: +
++ Elenco delle categorie. Devono essere solo ed esclusivamente + queste elencate. Devono essere mantenute anche le maiuscole. +
++ Una produzione dalla galassia + Off Topica / ospitati dal + Collettivo Unit / + codice sorgente su + git.lattuga.net/offtopic/open-pod +
+Peace-of-mind from prototype to production
-
+ OpenPod è il tentativo di
+ restituire al podcasting la dimensione libera e conviviale che
+ lo caratterizza sin dai suoi esordi. Siamo un gruppo di persone
+ che registrano, ascoltano, producono contenuti audio. Ci
+ piacerebbe condividere soluzioni per farlo con hosting gratuito,
+ banda illimitata e software libero, senza far ricorso ad
+ account, profilazione, abbonamenti, pubblicità e
+ monetizzazione.
+ Com'è possibile? Combinando
+ l'hosting di archive.org, alcune buone pratiche per la
+ produzione dei vostri contenuti e un pizzico di codice.
+ Perché? Per liberarci dalla
+ logica prestazione e commerciale che caratterizza il business
+ model dominante, anche nelle nuove forme di fruizione sonora ma
+ specialmente per generare comunità. Un progetto aperto e
+ abilitante, che punta a mettere a fattor comune saperi
+ comunitari.
+
+ Una produzione dalla galassia + Off Topica / ospitati dal + Collettivo Unit / + codice sorgente su + git.lattuga.net/offtopic/open-pod +
+