Skip to content

subreddit-emportugues/site

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Site

Descrição

Site que mostra informações sobre subreddits lusófonos linkados em postagens do subreddit r/EmPortugues.

O site extrai dados serializados em JSON armazenado em servidor usando jQuery para exibir os resultados paginados numa tabela com funcionalidades de DataTables numa página responsiva estilizada com auxílio de Bootstrap.

A página principal do site carrega o arquivo JSON com $.getJSON(), extrai os dados em tabela com $().DataTable() e propicia a filtragem dos dados com search, a reordenação das colunas da tabela com colReorder e a paginação com page além de dispor de um footer com links para o subreddit, o aplicativo e este repositório.

As informações apresentadas no site são: "icon", "name", "description", "recent_submissions" e "recent_comments", "members", "age", "moderators", "nsfw" e o link de cada subreddit listado.

Sumário

Instalação

  1. Clone o repositório;
  2. navegue até a pasta;
  3. selecione o arquivo "index.html";
  4. e edite com um editor de texto.

Instruções

Para alterar o endereço do arquivo JSON, em app.js, edite:

$.getJSON("../../../data/subreddits.json", function (data) {

Para alterar as chaves do objeto JSON, em app.js, edite:

id: data.subreddits[i].id,
icon: data.subreddits[i].icon,
name: data.subreddits[i].name,
description: data.subreddits[i].description,
recent_submissions: data.subreddits[i].recent_submissions,
recent_comments: data.subreddits[i].recent_comments,
members: data.subreddits[i].members,
age: data.subreddits[i].age,
moderators: data.subreddits[i].moderators,
nsfw: data.subreddits[i].nsfw

Para alterar os cabeçalhos das colunas, em index.html, edite:

<th scope="col"></th>
<th class="hidden-column" scope="col">Ícone</th>
<th scope="col">Subreddit</th>
<th scope="col">Descrição</th>
<th scope="col">Atividade</th>
<th class="hidden-column" scope="col">Comentários</th>
<th scope="col">Membros</th>
<th scope="col">Início</th>
<th scope="col">Mods</th>
<th scope="col">NSFW</th>

Para alterar as propriedades da tabela, em app.js, edite:

data: table,
colReorder: true,
fixedHeader: true,
responsive: true,
mark: true,
"processing": true,
"lengthMenu": [
    [5, 25, 100, -1],
    [5, 25, 100, "Todos"]
],
"order": [],
"pageLength": 100,
"pagingType": "full_numbers",
"language": {
    "url": "https://emportugues.org/assets/lang/pt-BR.json"
},
"columnDefs": [{
        "visible": false,
        "targets": [1, 5]
    },
    {
        "searchable": false,
        "orderable": false,
        "targets": 0
    }
],
columns: [{
        data: 'id'
    },
    {
        data: 'icon'
    },
    {
        data: 'name',
        render: $.fn.dataTable.render.name()
    },
    {
        data: 'description',
        render: $.fn.dataTable.render.description()
    },
    {
        data: 'recent_submissions',
        render: $.fn.dataTable.render.activity()
    },
    {
        data: 'recent_comments'
    },
    {
        data: 'members',
        render: $.fn.dataTable.render.members()
    },
    {
        data: 'age',
        render: $.fn.dataTable.render.age()
    },
    {
        data: 'moderators',
        render: $.fn.dataTable.render.moderators()
    },
    {
        data: 'nsfw',
        render: $.fn.dataTable.render.nsfw()
    }
],
colReorder: {
    fixedColumnsLeft: 1
},
"initComplete": function (settings, json) {
    tlite(el => el.classList.contains('data-tooltip'));
    $("#loading-screen").css("visibility", "hidden");
    $("#loading-screen").css("opacity", 0);
}

Dependências

Bootstrap

<link rel="stylesheet" type="text/css" href="assets/vendor/Bootstrap-4-4.1.1/css/bootstrap.min.css"/>

DataTables

<link rel="stylesheet" type="text/css" href="assets/vendor/datatables.css"/>
<script type="text/javascript" src="assets/vendor/datatables.min.js"></script>

Tlite

<link rel="stylesheet" type="text/css" href="assets/vendor/Tlite/tlite.css"/>
<script type="text/javascript" src="assets/vendor/Tlite/tlite.min.js"></script>

Spinner

<link rel="stylesheet" type="text/css" href="assets/vendor/Spinner/spinner.css"/>

FontAwesome

<link rel="stylesheet" href="assets/vendor/font-awesome-4.7.0/css/font-awesome.min.css">

Mark

<script type="text/javascript" src="assets/vendor/Mark/jquery.mark.min.js"></script>
<script type="text/javascript" src="assets/vendor/Mark/datatables.mark.es6.min.js"></script>

Marked

<script type="text/javascript" src="assets/vendor/Marked/marked.min.js"></script>

Colaboração

Você pode colaborar com o desenvolvimento deste projeto!

Confira os kanbans deste projeto, entre em contato com a equipe de moderação e participe da equipe de desenvolvimento para saber a respeito do progresso deste repositório caso queira colaborar antes de reportar um novo problema ou solicitar o recebimento de uma modificação.

Página Inicial

Referências