Ir para conteúdo

Panini - Um CMS para blogs feito em Java usando Jooby, MongoDB e Pebble Template Engine, com suporte a plugins!


MrPowerGamerBR

Posts Recomendados

PaniniCookieChowder.png

Atualmente em desenvovimento

Então você provavelmente não irá querer usar a não ser se você souber solucionar problemas sozinho!

Afinal, eu fiz isto para o meu uso pessoal, mas... Se você quiser uma CMS simples e fácil feito em Java, você pode usar o PaniniCMS!

PaniniCMS (ou "Panini") é uma CMS simples para blogs feito em java, usando Jooby + MongoDB + Pebble Template Engine, PaniniCMS foi criado devido a falta de CMS para blogs boas e customizáveis. (sim, tem várias CMS para blogs como o Wordpress, coloque a sua CMS favorita aqui, etc... mas nenhuma é fácil para customizar)... E todas elas são feitas em PHP e eu não gosto de PHP.

 

PaniniCMS também tem uma API para plugins, para que você possa criar seus próprios plugins para adicionar coisas que não vem "out of the box" no PaniniCMS! (se você quiser adicionar coisas como quantas pessoas visitaram sua página ou páginas dinâmicas, usar plugins é o caminho para o sucesso!), aqui está um exemplo para você entender como funciona: https://github.com/PaniniCMS/PaniniExamplePlugin


Como Instalar & Usar

  •  
  • Instale o MongoDB e o Java 8 se você não tem eles.
  • Baixe o PaniniCMS do pelo CircleCI (você precisa fazer login @ CircleCI antes de baixar!) ou compile usando Maven.
  • Baixe https://github.com/PaniniCMS/PaniniDefaultTheme e extraia tudo na pasta "frontend" (crie uma se ela não existe)
  • Inicie o PaniniCMS usando java -Xmx128M -Xms128M -jar Panini.jar -f SuaPastaDaFrontend -p PortaDaPaniniCMS -w URLDoSeuWebsiteComUmaBarraNoFinal -m DatabaseDoMongoDB
  • Crie uma conta usando "createauthor username password"
  • Entre no painel de administrador usando URLDoSeuWebsite/panini
  • Divirta-se!

(Dica: Use Apache ou ngix para redirecionar seus usuários da porta 80 para a porta do PaniniCMS)

Plugins

O PaniniCMS permite você criar plugins para colocar novas funções ao PaniniCMS sem precisar editar o código-fonte dele!

 

Exemplo de um plugin para o PaniniCMS:

package com.mrpowergamerbr.paninireadmore;

import com.paninicms.plugin.PaniniPlugin;
import com.paninicms.plugin.event.GetPostEvent;
import com.paninicms.utils.blog.Post;

public class PaniniReadMore extends PaniniPlugin {
	@Override
	public void onEnable() {
		System.out.println("PaniniReadMore by MrPowerGamerBR");
	}
	
	@Override
	public void onGetPost(GetPostEvent ev) {
		for (Post post : ev.getLoadedPosts()) {
			String htmlContent = post.content();
			post.softMetadata().put("hasSummary", htmlContent.contains("<!--more-->"));
			if (htmlContent.contains("<!--more-->")) {
				post.softMetadata().put("summary", htmlContent.split("<!--more-->")[0]);
			} else {
				post.softMetadata().put("summary", htmlContent);
			}
		}
	}
}

GitHub

https://github.com/PaniniCMS

 

Exemplo

Atualmente o meu blog utiliza o PaniniCMS: https://mrpowergamerbr.com/

Link para o comentário
Compartilhar em outros sites

Boa Sorte com o projeto parece impolgante :p

Valeu!

 

Isso nem é algo tão "wow", já que existe umas bilhões de CMS diferentes por aí (como o Wordpress, Ghost, etc) mas eu queria criar uma própria em Java para eu aprender e para eu usar para o meu blog. :)

Link para o comentário
Compartilhar em outros sites

Bom trabalho primeiro de tudo. Mas porque usar mongodb visto ser uma "cms fácil"? MongoDB para quem não sabe usar e ou instalar acaba por ser uma tarefa bem chata. Se nao querias grande complexidade em termos de código podias simplesmente usar hibernate ou ebean que acabava por facilitar o user do mesmo. Não sei ate que ponto é que queres levar a CMS se é apenas hobby ou algo mais asério se desejas neste ponto aconselho-te a fazer a uma tecnica chamada "Use case" antes de mandares para o codigo, acredita vai te dar uma prespetiva diferente.

Link para o comentário
Compartilhar em outros sites

Participe da Conversa

Você pode postar agora e se cadastrar mais tarde. Se você tiver uma conta, a class='ipsType_brandedLink' href='https://gamersboard.com.br/login/' data-ipsDialog data-ipsDialog-size='medium' data-ipsDialog-title='Sign In Now'>acesse agora para postar com sua conta.
Observação: sua postagem exigirá aprovação do moderador antes de ficar visível.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.

Processando...
×
×
  • Criar Novo...