-
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathplugins.html
271 lines (216 loc) · 14.8 KB
/
plugins.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
<!doctype html>
<html lang="pt">
<head>
<meta http-equiv="X-UA-Compatible" content="IE=Edge">
<meta charset="utf-8">
<meta content="width=device-width, initial-scale=1, maximum-scale=1" name="viewport">
<title>Bludit CMS em Língua Portuguesa | Plugins</title>
<meta name="description" content="Informações referente aos plugins do Bludit CMS">
<meta name="author" content="Fabiano Santos - @fabianosantosnet">
<meta property="og:locale" content="pt, pt_BR, pt_PT">
<meta property="og:type" content="website">
<meta property="og:title" content="Extensões do Bludit CMS">
<meta property="og:site_name" content="bluditCMS">
<meta property="og:description" content="Expanda as funcionalidades do Bludit CMS com os plugins">
<meta property="og:url" content="https://fabianosantosnet.github.io/bluditCMS/plugins.html">
<meta property="og:image" content="https://fabianosantosnet.github.io/bluditCMS/assets/logo-bludit-fb.png">
<meta property="og:image:width" content="1200">
<meta property="og:image:height" content="630">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:creator" content="@fabianosantos_n">
<meta name="twitter:image" content="https://fabianosantosnet.github.io/bluditCMS/assets/logo-bludit-tw.png">
<link rel="canonical" href="https://fabianosantosnet.github.io/bluditCMS/">
<link rel="stylesheet" href="assets/styles.css" />
<script src="assets/scripts.js" defer></script>
</head>
<body>
<div class="parent">
<div class="top">
<header>
<img src="assets/logo.png" alt="Logo" />
<h1><a href="https://fabianosantosnet.github.io/bluditCMS/">Bludit CMS</a></h1>
<p>Informações referente ao Bludit CMS em lingua portuguesa</p>
<p class="view"><a href="https://github.com/fabianosantosnet/bluditCMS">GitHub deste site</a></p><!-- https://git.fabianosantos.net -->
</header>
</div>
<div class="menu">
<div class="links"><!-- dinamyc links --></div>
</div>
<div class="content">
<section>
<h2 id="bludit-cms-em-lingua-portuguesa">Bludit CMS | Plugins</h2>
<h3>Informações diversas sobre as extensões e seu desenvolvimento</h3>
<p>Plugins são extensões de funcionalidades criadas tanto pelos desenvolvedores do Bludit quanto terceiros.</p>
<p>Essa função é localizada em <em>Ajustes->Plugins</em> no Painel de Administração do Bludit.</p>
<p>O CMS por padrão deixa ativo poucos plugins. O download de outros pode ser efetuado na página de <a href="https://plugins.bludit.com/">plugins do Bludit</a>, e descompactado na pasta <em>bl-plugins</em>. O usuário pode ativá-los ou desativá-los conforme a necessidade.</p>
<p>Clique na imagem para ver a lista de plugins padrões.</p>
<div class="zoomimg">
<div id="showimg"></div>
<div class="z1">
<img src="assets/img/bludit-pt-br_v3.11/adjust/bludit-adjust-plugins.png" alt="Ajustes - Plugins" class="z">
</div>
</div>
<h4>Extensões criadas por mim</h4>
<p>Você pode verificar as extensões que desenvolvi no site <a href="https://git.fabianosantos.net/">fabianosantosnet - projetos e ideias</a>.</p>
<h4>Extensões pré-instaladas</h4>
<p>No Bludit 3.12, as extensões ativas são: </p>
<ul>
<li>About - clicando em ajustes, coloque o titulo e um texto referente ao conteúdo do blog/site;</li>
<li>Canonical - não deve ser desativado, utilizado pelos mecanismos de busca para tratar conteúdo duplicado <a href="https://support.google.com/webmasters/answer/139066">[+]</a>;</li>
<li>Robots - usado para informar aos sites de buscas para ignorar ou não uma determinada página, sendo configurado em Opções->SEO->Robots de um artigo <a href="https://www.robotstxt.org/meta.html">[+]</a>;</li>
<li>Simple Stats - mostra o número de visitas e visualizações de páginas por dia no seu painel de controle e estatística de conteúdo;</li>
<li>TinyMCE - editor padrão do Bludit;</li>
</ul>
<p>As extensões desativadas são: </p>
<ul>
<li>API - interface programável utilizada por desenvolvedores que queiram integrar o CMS em seus projetos;</li>
<li>Backup - faz backup quanto restore da pasta /bl-content;</li>
<li>Categories - mostra as categorias na barra lateral do site;</li>
<li>Custom fields parser - defina o código para os campos personalizados e analisa o conteúdo da página;</li>
<li>Disqus - ativa o comentário para o artigo (necessário prévio registro no <a href="https://disqus.com/">site</a>);</li>
<li>EasyMDE - editor para quem gosta de usar o MarkDown <a href="https://blog.da2k.com.br/2015/02/08/aprenda-markdown/">[+]</a></li>
<li>Hit Counter - mostra o número de visitantes únicos do site/blog na lateral da página;</li>
<li>HTML Code - adicione código no cabeçalho ou no rodapé da página;</li>
<li>Links - visualize links pré configurados na lateral da página;</li>
<li>Maintenance mode - coloque o site no modo manutenção e mostre uma mensagem padrão;</li>
<li>Navigation - um menu de navegação com subpáginas para a lateral do site/blog (sidebar);</li>
<li>Open Graph - são meta tags específicas para compartilhamento de publicação em sites como Facebook ou outra rede que entenda as regras do protocolo <a href="https://ogp.me/">[+]</a>;</li>
<li>Remote Content - provê um jeito fácil de sincronizar conteúdo do GitHub e similares e sincronizar com o Bludit;</li>
<li>RSS Feed - gera um conteúdo feed de seu site com padrão <code>https://seuSite.com.br/<em>rss.xml</em></code>;</li>
<li>Search - implementa uma caixa de pesquisa para busca no site/blog;</li>
<li>Sitemap - gera um sitemap.xml do site/blog para ser utilizado em mecanismos de busca;</li>
<li>Static Pages - menu de navegação com as páginas estáticas criadas;</li>
<li>Tags list - mostra todas as tags no painel lateral (sidebar);</li>
<li>Twitter Cards - trata-se de uma versão do Open Graph mas específica para o Twitter que implementa meta tags que descrevem o conteúdo da postagem;</li>
<li>Version - mostra a versão do Bludit na lateral do painel de administração e informa quando há novas atualizações;</li>
</ul>
<p>Dica: desative o plugin TinyMCE, e ative os plugins Backup, Categories, Hit Counter, Links, Navigation, RSS Feed, Search, Sitemap, Static Pages e Tags list. Alguns deles são programados, dependendo do tema, para aparecerem em <a href="func.html#hook">determinados locais</a> ou no sidebar (barra lateral), e você pode alterar a posição em <em>Plugins->Alterar as posições dos plugins</em>. Verifique qual é o mais interessante para o modelo de seu site/blog e desative os que não usar.</p>
<p>Caso queira ignorar alguns plugins padrões, substitua pelos vários melhorados que criei: Header Content (substitui Meta Canonical, Robots, RSS e Maintenance mode - e adiciona Keywords e Description, Author, Copyright, Bloco CSS e Notificação de Navegador); FS SEO (substitui Twitter, OpenGraph e Sitemap); FS Essential Blocks (substitui Search, Tags e Categories - e adiciona o Caixa de Código); FS Page Menu (substitui Links, Navigation e Static Pages).</p>
<h4 id="plgrecommended">Plugins recomendados</h4>
<p>Atenção ! Lembre-se de fazer backup antes de qualquer alteração.</p>
<p>Listo alguns plugins interessantes:</p>
<ul>
<li>Download plugins - Jeito fácil de fazer o download e instalar plugins (faça o download na página, e coloque dentro da pasta <em>bl-plugins</em>, em seguida ative);</li>
<li>Theme Download - lista todos temas disponíveis no site oficial, baixa e instala;</li>
<li>Theme Uninstaller - lista os temas instalados, e com um clique exclua;</li>
<li>Extension Manager - Substitui os dois plugins acima, tem a função de baixar, instalar, desinstalar plugins e temas;</li>
<li>TinyMCEfileman - plugin customizado com um gerenciador de arquivos, não esqueça de desativar o TinyMCE que vem por padrão;</li>
<li>Cachy - gera o cache para as páginas do Bludit;</li>
<li>Contact3 - adiciona um formulário de contato em uma página estática com suporte a CAPTCHA, SMTP além de suporte a GDPR;</li>
<li>Simple Stats Plus - trata-se de versão melhorada do plugin Simple Stats (também depende dele para funcionar);</li>
<li>Hit Counter Plus - implementa um contador personalizado para o seu projeto, e para funcionar precisa do Simple Stats Plus e Hit Counter ativo;</li>
<li>Snicker - implementa um sistema de comentário próprio com captcha;</li>
</ul>
<p>Use os plugins abaixo com cautela</p>
<ul>
<li>Auto Updater for Bludit 3.X - faz o download e atualiza o CMS com a última versão disponível no site oficial;</li>
</ul>
<!-- <p>Para o caso de perda do password https://github.com/bludit/password-recovery-tool</p> -->
<h4>Estrutura de diretório</h4>
<p>Pasta dos plugins</p>
<code class="minilight"> /bl-plugins/ <-- Contem todos os plugins
Novas extensões devem ser carregadas nessa pasta
pastaNomePlugin1/ <-- Nome da pasta do plugin
languages/ <-- Implementa os arquivos de idioma do plugin
O desenvolvedor pode criar uma ou mais versões de tradução
en.json <-- Arquivo de tradução inglesa
...
ja_JP.json <-- Tradução japonesa do plugin
metadata.json <-- Descreve informações do plugin
plugin.php <-- Classe com padrão plugin'NomePlugin' que herda a classe Plugin e
contém todas informações programáveis do plugin
pastaNomePlugin2/
...
pastaNomePlugin3/
...
</code>
<h4>Informações de Desenvolvimento</h4>
<p>Nessa primeira introdução iremos analisar o plugin que insere a informação sobre o site ou pessoa na lateral da página.</p>
<p>O arquivo metadata.json apresenta algumas informações sobre o plugin, porém o que aparece na página de plugins são: a versão e o autor com o link da página.</p>
<code class="minilight">{
"author": "Bludit",
"email": "",
"website": "https://plugins.bludit.com",
"version": "3.10.0",
"releaseDate": "2019-10-19",
"license": "MIT",
"compatible": "3.10.0",
"notes": ""
}</code>
<p>O arquivo na pasta en.json, por exemplo, localizado dentro da pasta languages, apresenta a descrição sobre o plugin que aparece na página de plugins. O arquivo apresenta a chave "plugin-data" (nome que não deve ser alterado) que engloba os dois pares name e description.</p>
<code class="minilight">{
"plugin-data":
{
"name": "About",
"description": "Show a small description of your site or about yourself."
}
}</code>
<p>Caso queira adicionar mais traduções apenas adicione outra virgula e insira conforme exemplo abaixo. Depois é só criar o arquivo json com o outro idioma, exemplo um pt_BR.json e outro en.json e efetuar as traduções nos valores das chaves.</p>
<code class="minilight">{
"plugin-data":
{
...
},
"chave1": "info chave1",
"chave2": "info chave2",
...
}</code>
<p>Caso queira retornar o valor da "chave1", por exemplo use $L->get('chave1'). O valor será retornado de acordo com o idioma que você deixou padrão no Bludit. O comando $L->get('Label') do exemplo abaixo retorna a chave definida em <em>bl-languages</em>, já que não existe no JSON desse plugin.</p>
<p>Verificando o código do pluginAbout abaixo (arquivo plugin.php), temos a noção de alguns padrões:</p>
<ul>
<li>O padrão de nome plugin<strong>Nome</strong> nesse caso <strong>Nome</strong> é About ficando pluginAbout que herda da classe Plugin</li>
<li>init() - Método padrão para iniciar as propriedades</li>
<li>form() - Método padrão que mostrará o conteúdo de configuração do plugin (link Ajustes)</li>
<li>siteSidebar() - Método implementado - chamado de <a href="func.html#hook">hook</a>, que será chamado se o modelo (template) executar esse gancho (hook), esse é o conteúdo que irá aparecer para o usuário quando acessa a página, note também as classes css padrões</li>
</ul>
<code class="minilight"><?php
class pluginAbout extends Plugin {
	public function init()
	{
		$this->dbFields = array(
			'label'=>'About',
			'text'=>''
		);
	}
	public function form()
	{
		global $L;
		$html = '<div class="alert alert-primary" role="alert">';
		$html .= $this->description();
		$html .= '</div>';
		$html .= '<div>';
		$html .= '<label>'.$L->get('Label').'</label>';
		$html .= '<input name="label" type="text" value="'.$this->getValue('label').'">';
		$html .= '<span class="tip">'.$L->get('This title is almost always used in the sidebar'.
'of the site').'</span>';
		$html .= '</div>';
		$html .= '<div>';
		$html .= '<label>'.$L->get('About').'</label>';
		$html .= '<textarea name="text" id="jstext">'.$this->getValue('text').'</textarea>';
		$html .= '</div>';
		return $html;
	}
	public function siteSidebar()
	{
		$html = '<div class="plugin plugin-about">';
		$html .= '<h2 class="plugin-label">'.$this->getValue('label').'</h2>';
		$html .= '<div class="plugin-content">';
		$html .= html_entity_decode(nl2br($this->getValue('text')));
		$html .= '</div>';
		$html .= '</div>';
		return $html;
	}
}
?></code>
</section>
</div>
<div class="bottom">
<footer>
<p>Projeto mantido por <a href="https://github.com/fabianosantosnet"><i class="fab fa-github"></i> fabianosantosnet</a><br>
<small>Hospedado no GitHub Pages — Tema criado por <a href="https://www.fabianosantos.net">fabianosantos.net</a></small></p>
<p><small>Tecnologias <i class="fab fa-css3"> CSS3</i> - <i class="fab fa-html5"> HTML5</i> - <i class="fab fa-js-square"> JavaScript</i> - <i class="fab fa-font-awesome-flag"> Fonte Awesome</i></small></p>
</footer>
</div>
</div>
</body>
</html>