Giter VIP home page Giter VIP logo

odin's Introduction

Odin Framework

Ver essa documentação em Português do Brasil

Odin Framework

Project Description

Welcome to Odin, a base-theme developed by WordPress Brasil Group, to help on agile development of themes for WordPress.

Installation

Send the folder "odin" to the default themes folder from WordPress wp-content/themes or send the zipball using the WordPress Theme Installer.

Documentation

Informations about how-to use the classes and functions from Odin is on the Official Wiki

Plugins Support

Odin supports natively these plugins:

References

Bugs and Sugestions

The Odin Framework is an Open Source project. Anyone can (and should) help us to improve it.

Report bugs or do suggestions using the Issues/Project Forum

Contribute to the Project

To contribute, just click on the Fork button, create a Branch, improve the code and send it with a Pull Request.

More details about how to contribute and send Pull Requests in GitHub Collaborating.

How to colaborate to opensource projects on GitHub

Changelog

Changelog here!

Copyright and License

Copyright 2013 - 2018 - WordPress Brasil Group.

The PHP code is licensed with GPLv2. All the CSS, SCSS, JS, images files and others, not including the PHP files is licensed with MIT or by the license specified inside the file.

odin's People

Contributors

adammacias avatar adsoncicilioti avatar allysonsouza avatar aneto88 avatar castroalves avatar claudiosanches avatar deblynprado avatar fccoelho7 avatar fdaciuk avatar hansmosl avatar henriquesilverio avatar kvnol avatar lenivene avatar leobaiano avatar leonardohipolito avatar lguima avatar lhas-dev avatar matheuscl avatar matheusgimenez avatar pauloiankoski avatar raank avatar rafaelfunchal avatar rahmon avatar rodrigo-brito avatar romuloctba avatar ruanbarbosa avatar rudwolf avatar tadeubrasil avatar tiagofabre avatar valdirljr avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

odin's Issues

Compatibilidade com bbPress e BuddyPress

Eu particularmente gosto de utilizar esses dois plugins com alguns projetos. Pelo o que vi, acredito que seja necessário inserir/alterar algumas divs. O que acham?

Features List - Version 2

Salve galera!

Conversando com o Claudio Sanches, pensei em algumas features para a V2:

  • Painel de administração do Odin
  • Painel Multi nível ( permissões )
  • "Modularizar" : Habilidade de habilitar ou desabilitar algum pedaço do site. A idéia é padronizar a criação de blocos de informações dentro do projeto e facilitar a alteração, independente se for o desenvolvedor, administrator ou usuario sem conhecimento que irá administrar o site.

DEIXEM SUAS IDÉIAS E APÓS ISSO SELECIONAMOS PARA A FEATURE LIST DA V2


Documentação e website

Esta na hora de documentar e ter um website de verdade.

Podemos fazer isso usando o WordPress mesmo, hospedando em algum lugar, ou podemos hospedar no GitHub o site e usar a Wiki que já temos.

Também podemos hospedar no GitHub e fazer um blog/documentação em HTML estático.
Para fazer isso da para usar o Jeckyll ou Octopress.

Bom, para quem não sabe o Jeckyll serve para desenvolver blogs usando o GitHub Pages.
O Octopress é um sistema um pouco mais treta que faz isso também, mas com suporte de temas, plugins já prontos e etc.
Gostei pra caramba dele xD

Documentação do Octopress: http://octopress.org/

Octopress é bem legal, tem gente até migrando do WordPress e usando ele.
Todos os posts e páginas são escritos em Markdown e o Octopress converte para HTML, instala temas, configura plugins e fazer deploy pro GitHub xD.
E essa é a vantagem, HTML estático, leve, limpo e hospedado de graça no GitHub.

Enfim, podemos usar ele para gerar a nossa documentação.
No caso vamos precisar trocar o /blog por /docs e ai esta tudo ok...

Qual a vantagem de usar o Octopress no lugar de WordPress?
Vantagem seria ter ele hospedado gratuitamente no GitHub Pages e também que qualquer um do grupo vai poder atualizar ele usando GIT, em vez de distribuir usuário e senha para 100 pessoas xD (além que com GiT, podemos ver o que foi atualizado e por quem).

Vantagem do WordPress eu nem preciso falar né? Todo mundo aqui usa xD

Enfim as opções são:

  1. Criar um site em WordPress e documentar nele.
  2. Criar um site em WordPress e usar a Wiki do GitHub como documentação.
  3. Criar um site no GitHub Pages com Octopress e usar a Wiki do GitHub como documentação.
  4. Criar um site no GitHub Pages com Octopress e documentar nele.

Template padrão para Attachments

Talvez seria legal deixar um esquema de galeria igual tem no Twentyten.

Geralmente e muito chato clicar em uma imagem que esta linkando para a página dela... Layout sempre fica quebrado e tudo confuso.

No esquema do Twentyten tem link para retornar para o post e também ver as outras imagens.

Classe Metabox e Imagens no Post

Estava desenvolvendo um template quando me deparei com o erro e resolvi testar no Odin puro.

Ao ativar o suporte aos Metaboxes, descomentando a linha 290 do functions.php não consigo inserir imagens em post/páginas.

Usando o botão de inserir mídia, após clicar em "Inserir no post" não é gerado o referente à imagem.

Bug com odin_admin_css()

Ao fazer a chamada no functions.php recebo a seguinte mensagem no Admin

"Notice: wp_register_style foi chamada incorretamente. Scripts e estilos não devem ser registrados ou enfileirados até os ganchos wp_enqueue_scripts, admin_enqueue_scripts ou init. Consulte Depuração no WordPress para mais informações. (Esta mensagem foi adicionada na versão 3.3.) in /Applications/XAMPP/xamppfiles/htdocs/wordpress/wp-includes/functions.php on line 2944"

tentei algumas alterações na ordem de chamada das funções no functions.php mas não consegui resolver.

Melhorar classe de menu do tema

Será necessário melhorar a classe do menu do tema:

  • Mover as variáveis de private para protected;
  • Corrigir o Javascript do campo de upload (tem uma classe que não existe nele);
  • Mover o JS e CSS das opções para arquivos externos;
  • Adicionar hook para inserir novos campos;
  • Adicionar filtro para higienizar os campos antes de salvar.

Adicionar LazyLoad

O que vocês acham de adicionar LazyLoad?

Podemos aproveitar já a função para chamar as thumbnails e adicionar isso.

Adicionar Grunt.js

Adicionar Grunt.js no projeto.

Desta forma é possível comprimir todos os arquivos em apenas um.
Mas vamos deixar isso como alternativa para quem quiser usar e saber usar xD.

Traduzir para o inglês

Não é um issue, mas seria interessante se traduzirmos toda a documentação para inglês. O que vocês acham?

UI/Design

Acredito que estamos prontos para fazer algum design para começar o tema.

Como já expliquei para algumas pessoas, não vamos fazer o Twitter Bootstrap.
Apenas inserir uns estilos para marcar classes e ids importantes do tema.

Configurei um grid para ser usado no PS por aqui:
http://gridcalculator.dk/#/1180/12/20/10

Ele usa o tamanho padrão que foi usado no grid system que criamos.

@cristianoweb pode ajudar?

Adicionar o Odin Grid System

Falta adicionar o Odin Grid System no projeto.

Pretendo terminar algumas coisas dele e já substituir o Semantic.gs.

Criar shortcodes

Acho que seria interessante ter alguns shortcodes padrões no core.
Isso pode ajudar bastante no desenvolvimento de temas e de sites também.
Todo tema pago se destaca por causa disso.

Estava pensando em criar shortcode para:

  • Botões
  • Caixas de alerta
  • Conteúdo em aba (acho que não vai rolar legal com o Bootstrap puro, vamos ter que meter um JS)
  • FAQ/Accordion (aquelas caixa do tipo toggle)
  • Colunas
  • Tooltips
  • Dropcaps
  • Well (Twitter Bootstrap)
  • QR Code
  • Label (Twitter Bootstrap)
  • Progress (Twitter Bootstrap)
  • Icon (Twitter Bootstrap)

O que vocês acham?
Desta forma podemos fazer isso e começar a criar uma UI pro tema.

Tags <h1> duplicadas

Olá pessoal, enviei um commit com uma sugestão para o título do blog e sua descrição, pois as páginas estão com duas tags 'h1'. Já o motivo da retirada da tag 'h2' foi devido a ordem lógica (não ter nenhuma tag 'h1' antes).

Adicionar CSS Reset

Comecei a desenvolver um tema e tive algumas problemas por causa do Normalize.css.

Além de que temos o sass/source/_global.scss que faz algo similar que o Normalize.css faz...

Estou pensando em "roubar" algumas coisas do Nornalize para o esse nosso global.scss e adicionar também um reset...

Desta forma o CSS Reset faz o papel dele removendo tudo e depois o nosso global.scss adicionar novamente os estilos deixando tudo OK.

Adicionar jQuery e modificar main.js

Poderiamos adicionar o jQuery ao footer.
Podemos usar o seguinte código antes do wp_footer()

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"></script>
<script>window.jQuery || document.write('<script src="<?php echo get_template_directory_uri(); ?>/js/jquery.js"><\/script>')</script>
<script src="<?php echo get_template_directory_uri(); ?>/js/main.js"></script>

Além disto poderiamos trocar o código do main.js para
Assim podemos usar o $ sem problema de conflitos
jQuery.noConflict();
(function($){
$(function(){
// Seu código vai aqui!
});
})(jQuery);

Criar README.md do projeto

Precisamos criar um README.md descente para o projeto, pois falta pouco para colocar ele para o mundo com a versão 1.0 e seria interessante ter isso pronto :P

Alguém ai bom em redação esta afim de fazer?

Precisa ter o seguinte formato:

  • Título
  • Descrição do projeto
  • "Instalação" (na verdade links para a nossa wiki onde tem as explicações gerais de quase tudo)
  • Referencias (isso esta quase pronto e eu vou adicionando as outras coisas depois)
  • Como informar bugs ou fazer sugestões (ensinar a usar os issues xD)
  • Como contribuir (explicação de como enviar pull requests, ajudo a escrever isso)
  • "Autores" (na verdade um merchan do grupo do WP xD)
  • Copyright e licença (CopyRight do grupo do WP e licença GPLv2)

Se quem for fazer não manjar MarkDown não tem problema.
Podemos fazer no Google Docs, Word ou qualquer outra coisa e eu passo MarkDown.

Correção do LazyLoad com o JetPack Infinite Scroll

Precisamos fazer uma correção no jQuery do LazyLoad para funcionar com o Infinite Scroll do JetPack.

Precisamos mudar o script dele para:

function make_lazyload() {
    $('img[data-original]').lazyload({
        effect: 'fadeIn',
        failure_limit: 26 // Mystical number to correct the behavior in magazine layouts.
    });
}

make_lazyload();

$('body').on('post-load',function(){
    make_lazyload();
});

Ajustes no Aqua Resizer

No arquivo inc/thumbnails.php, ajustar nas linhas:

  • 138: Passar a variável $crop no lugar do true;
  • 140: No return, a variável $image já está retornando a URL da imagem. Remover o parâmetro ['url'].

Não posso mexer agora, mas 12h30 eu ajusto isso xD

Organização dos "features" e pastas

Precisamos ver um jeito melhor para organizar os "features" para eles não virarem dependências do tema.

Estava adicionando o colorbox agora e deixei arquivos dentro do images/, js/, sass/ e inc/.

Acho que seria melhor construir uma estrutura do tipo:

inc/scriptX/
    images/...
    js/...
    css/...
    scriptX-init.php

No functions.php apenas chamamos o scriptX-init.php e já liga tudo de uma vez.
Se quiser remover isso do projeto basta deletar uma pasta e descomentar no functions.php :P

O que vocês acham?

Criar templates padrões do WP

Faltam ainda:

  • 404.php
  • archive.php
  • archive-post_type.php (arquivo de exemplo para CPT)
  • author.php
  • category.php
  • comments.php
  • page.php
  • search.php
  • searchform.php
  • single.php
  • single-post_type.php (single de exemplo para CPT)
  • tag.php

Deixar o layout repsonsivo

Adicionar algumas tags para deixar ele responsivo.
E também para ser usado como exemplo do grid responsivo em SASS.

Adicionar Lightbox

Não sei vocês, mas em todo projeto acabo usando algum lightbox.

Gosto bastante do Colorbox.
Ele é bem documentado e ainda vem com 5 temas nativos.

Talvez seria legal ter uma opção nos settings do tema no admin para selecionar os temas (mas isso fica para depois quando terminar a classe de theme options).

Criar pasta Core

Estava olhando aqui e certas coisas que estão no inc deveria ficar em uma pasta que não deve ser alterada em cada projeto...

Desta forma deixamos a pasta inc para adicionar funções e outras coisas para cada projeto.

E criar uma pasta core com o core do Odin que não deve ser alterado no projeto.
Com isso será possível desenvolver um projeto com Odin e atualizar o core sem matar crianças xD

Validação form comentários

Pessoal,
Acho interessante incluir uma validação no form de comentários, geralmente os temas de WP o pessoal esquece disso.

Não vou conseguir fazer isso agora, se alguém puder.. seria legal..

Adicionar Slideshow/Galeria

Pensando aqui em adicionar já suporte para montar galerias e slideshows.

Acho que o melhor candidato é o bxSlider.
Ele não tem frufru igual o NivoSlider, entretanto ele é responsivo (funciona com touch e etc) e atende qualquer necessidade.

Exemplos do bxSlider:
http://bxslider.com/examples

Funções e shortcode para botões de compartilhar

Estou pensando em adicionar o Socialite.js no projeto e deixar funções e shortcodes prontos para chamar ele no tema.

Prefiro usar ele no lugar de inserir todos os botões um a um, pois ele tem opções de carregar tudo apenas quando rola a página ou passa o mouse nos botões.
Isso ajuda bastante no carregamento da página (já que o Facebook e Twitter gostam de zuar tudo xD).

O que vocês acham?

Corrigir o ID da Sidebar no functions.php

O id da sidebar estava errado no functions.php

Estava como 'mao=in-sidebar', só reparei por que um cara disse no grupo do Facebook que não estava conseguindo inserir os widgets.

Adicionar filtro na função odin_related_posts_custom_thumbnails()

A função odin_related_posts_custom_thumbnails() esta no functions.php na linha 174.

Precisa adicionar o filtro odin_thumbnail_html, pois ele é utilizado pelo LazyLoad.

No caso precisa alterar:

return '<img class="wp-image-thumb" src="' . $image . '" width="' . $width . '" height="' . $height . '" alt="' . get_the_title() . '" />';

Para:

$html = '<img class="wp-image-thumb" src="' . $image . '" width="' . $width . '" height="' . $height . '" alt="' . get_the_title() . '" />';

return apply_filters( 'odin_thumbnail_html', $html );

Criar XML de "Sample Data"

Seria interessante desenvolver um XML de Sample Data e deixar aqui junto nesse repo.

Ajuda bastante ter um XML com imagens, vídeos, tipografia, formatos de posts e comentários.

Atualmente existe o:
https://wpcom-themes.svn.automattic.com/demo/theme-unit-test-data.xml

Entretanto a última vez que eu testei ele faltavam imagens e tinha algumas coisas quebradas.
Além da falta de teste para oEmbed =/

E ae galera?
Fazemos um do zero ou forkamos esse?

Poderíamos fazer um WordPress.com Lorem Ipsum para gerar esse XML e atualizar ele sempre que for necessário.

Criar favicon default

Acabei de lembrar que sempre esqueço de colocar favicon xD
Seria legal já deixar um set default para esse tipo de coisa.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.