{"id":82,"date":"2023-01-26T13:32:41","date_gmt":"2023-01-26T16:32:41","guid":{"rendered":"https:\/\/www.hugocristo.com.br\/projetos\/fred23\/?p=82"},"modified":"2023-01-26T13:39:56","modified_gmt":"2023-01-26T16:39:56","slug":"progressos-23-a-26-01-2023","status":"publish","type":"post","link":"https:\/\/www.hugocristo.com.br\/projetos\/fred23\/2023\/01\/26\/progressos-23-a-26-01-2023\/","title":{"rendered":"Progressos 23 a 26\/01\/2023"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Finalizei as fun\u00e7\u00f5es e telas b\u00e1sicas de cadastro, edi\u00e7\u00e3o e exclus\u00e3o de m\u00f3dulos e atividades. Estes integram o &#8220;cora\u00e7\u00e3o&#8221; do Fred, na medida em que &#8220;servem&#8221; os conte\u00fados textuais e multim\u00eddia (via m\u00f3dulos) e &#8220;aplicam&#8221; as avalia\u00e7\u00f5es de desempenho (via atividades vinculadas aos m\u00f3dulos). <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">No Fred2, a edi\u00e7\u00e3o do conte\u00fado dos m\u00f3dulos foi baseada no editor <a href=\"https:\/\/jaredreich.com\/pell\/\" target=\"_blank\" rel=\"noopener\" title=\"\">Pell<\/a>. Gosto dele por ser minimalista, pouco intrusivo e facilmente personaliz\u00e1vel. H\u00e1 outras op\u00e7\u00f5es populares (p.ex., <a href=\"https:\/\/www.tiny.cloud\/tinymce\/\" target=\"_blank\" rel=\"noopener\" title=\"\">TinyMCE)<\/a>, que infelizmente arrastam para o editor mais recursos (e peso) do que eu preciso. Basicamente, m\u00f3dulos requerem hierarquia de t\u00edtulos (n\u00edveis 1-3), mudan\u00e7a de estilos (negrito, it\u00e1lico, monoespa\u00e7ado) e cores (algum destaque), marca\u00e7\u00e3o de links e inser\u00e7\u00e3o de imagens. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ainda assim, h\u00e1 uma consequ\u00eancia indesejada: os textos s\u00e3o armazenados no banco de dados com os marcadores HTML. Pode parecer um detalhe sem import\u00e2ncia, embora as consequ\u00eancias para a reutiliza\u00e7\u00e3o e modularidade dos conte\u00fados s\u00e3o relevantes. Por exemplo, a convers\u00e3o de textos de m\u00f3dulos formatados para outras sa\u00eddas, tal como PDF ou TXT (texto puro), requer tarefas adicionais de limpeza e remo\u00e7\u00e3o dos marcadores. A quest\u00e3o de os registros de texto ocuparem mais espa\u00e7o (em bytes) com os marcadores \u00e9 menos importante, apesar de fazer diferen\u00e7a no longo prazo. Por fim, h\u00e1 a depend\u00eancia de JavaScript para editar os conte\u00fados, o que sou contra &#8220;por defini\u00e7\u00e3o&#8221;. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Por isso, o Fred23 deixar\u00e1 de utilizar editores <em>rich-text<\/em> para os m\u00f3dulos e adotar\u00e1 <a href=\"https:\/\/daringfireball.net\/projects\/markdown\/\" target=\"_blank\" rel=\"noopener\" title=\"\">Markdown<\/a>, convertido na gera\u00e7\u00e3o da p\u00e1gina HTML de cada m\u00f3dulo. Resolverei todos os problemas acima (armazenamento menor e mais limpo, dispensando JavaScript na edi\u00e7\u00e3o) e ainda facilitarei a transposi\u00e7\u00e3o de conte\u00fados para outros formatos. Markdown \u00e9 a l\u00edngua franca de ferramentas maravilhosas como <a href=\"https:\/\/pandoc.org\/\" target=\"_blank\" rel=\"noopener\" title=\"\">pandoc<\/a>, que convertem Markdown em qualquer coisa &#8211; PDF, LaTeX, Word, EPub etc. Tenho planos para adaptar minhas disciplinas para livros autoinstrucionais, o que ser\u00e1 muito facilitado pela mudan\u00e7a.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Nas disciplinas com exemplos e atividades de c\u00f3digo, o marcador HTML &lt;code&gt; \u00e9 suficiente, e trivialmente suportado via Markdown. Adotei, no Fred2, e pretendo manter o <a href=\"https:\/\/codemirror.net\/\" target=\"_blank\" rel=\"noreferrer noopener\">CodeMirror<\/a> nas situa\u00e7\u00f5es em que estudantes precisam escrever c\u00f3digo com formata\u00e7\u00e3o autom\u00e1tica da sintaxe na entrega das atividades.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><em>A seguir: banco de m\u00eddias e banco de atividades, as grandes mudan\u00e7as de Fred23.<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Finalizei as fun\u00e7\u00f5es e telas b\u00e1sicas de cadastro, edi\u00e7\u00e3o e exclus\u00e3o de m\u00f3dulos e atividades. Estes integram o &#8220;cora\u00e7\u00e3o&#8221; do Fred, na medida em que &#8220;servem&#8221; os conte\u00fados textuais e multim\u00eddia (via m\u00f3dulos) e &#8220;aplicam&#8221; as avalia\u00e7\u00f5es de desempenho (via atividades vinculadas aos m\u00f3dulos).<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[19,15,16,17,18],"class_list":["post-82","post","type-post","status-publish","format-standard","hentry","category-fred23","tag-codemirror","tag-markdown","tag-pandoc","tag-pell","tag-tinymce"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.hugocristo.com.br\/projetos\/fred23\/wp-json\/wp\/v2\/posts\/82","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.hugocristo.com.br\/projetos\/fred23\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.hugocristo.com.br\/projetos\/fred23\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.hugocristo.com.br\/projetos\/fred23\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.hugocristo.com.br\/projetos\/fred23\/wp-json\/wp\/v2\/comments?post=82"}],"version-history":[{"count":6,"href":"https:\/\/www.hugocristo.com.br\/projetos\/fred23\/wp-json\/wp\/v2\/posts\/82\/revisions"}],"predecessor-version":[{"id":89,"href":"https:\/\/www.hugocristo.com.br\/projetos\/fred23\/wp-json\/wp\/v2\/posts\/82\/revisions\/89"}],"wp:attachment":[{"href":"https:\/\/www.hugocristo.com.br\/projetos\/fred23\/wp-json\/wp\/v2\/media?parent=82"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.hugocristo.com.br\/projetos\/fred23\/wp-json\/wp\/v2\/categories?post=82"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.hugocristo.com.br\/projetos\/fred23\/wp-json\/wp\/v2\/tags?post=82"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}