Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
36 changes: 35 additions & 1 deletion config.php
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,42 @@
'production' => false,
'matomo_container' => 'Ux1Y5m98_dev_08f02616a270a3d80b35beb7',
'baseUrl' => '/',
'title' => 'LibreCode',
'title' => 'LibreCode Cooperativa de Software Livre',
'siteName' => 'LibreCode',
'description' => 'Cooperativa de tecnologia da informação especializada em desenvolvimento de soluções com licença livre.',
'organization' => [
'name' => 'LibreCode',
'legalName' => 'LibreCode Cooperativa de Trabalho em Tecnologia da Informação',
'url' => 'https://librecode.coop/',
'logo' => 'assets/images/logo/librecode.png',
'email' => 'contato@librecode.coop',
'telephone' => '+55-21-2042-2073',
'sameAs' => [
'https://github.com/librecodecoop',
'https://www.linkedin.com/company/librecode/',
'https://www.instagram.com/librecodecoop/',
'https://www.facebook.com/librecodecoop/',
'https://t.me/LibreCodeCoop',
],
],
'homepageFaq' => [
[
'question' => 'O que a LibreCode faz?',
'answer' => 'A LibreCode e uma cooperativa de tecnologia que desenvolve, implanta e customiza solucoes de software livre para organizacoes publicas, privadas e do terceiro setor.',
],
[
'question' => 'Quais solucoes a LibreCode oferece?',
'answer' => 'A cooperativa oferece solucoes como nuvem privada com Nextcloud, assinatura digital com LibreSign e servicos de desenvolvimento, consultoria e suporte em software livre.',
],
[
'question' => 'Por que escolher software livre com a LibreCode?',
'answer' => 'O software livre permite auditoria, autonomia tecnologica, transparencia e customizacao. A LibreCode aplica esses principios para entregar seguranca, colaboracao e independencia tecnologica.',
],
[
'question' => 'Como entrar em contato com a LibreCode?',
'answer' => 'Voce pode falar com a LibreCode pelo e-mail contato@librecode.coop, pelo telefone (21) 2042-2073 ou pela pagina de contato do site.',
],
],
'collections' => [
'posts' => [
'path' => 'posts/{-title}',
Expand Down
3 changes: 2 additions & 1 deletion source/_layouts/header.blade.php
Original file line number Diff line number Diff line change
@@ -1,13 +1,14 @@
<header id="header" class="fixed-top">
<div class="container">
<div class="logo float-left">
<a href="{{ locale_path($page, $page->baseUrl) }}" class="scrollto"><img src="{{ $page->baseUrl }}assets/images/logo/librecode.png" alt="" class="img-fluid"></a>
<a href="{{ locale_path($page, $page->baseUrl) }}" class="scrollto"><img src="{{ $page->baseUrl }}assets/images/logo/librecode.png" alt="Logo da LibreCode" class="img-fluid"></a>
</div>
<nav class="main-nav float-right d-none d-lg-block">
<ul>
<li><a href="{{ locale_path($page, $page->baseUrl) }}#about">Quem somos</a></li>
<li><a href="{{ locale_path($page, $page->baseUrl) }}#why-us">Soluções</a></li>
<li><a href="{{ locale_path($page, $page->baseUrl) }}#clients">Clientes</a></li>
<li><a href="{{ locale_path($page, $page->baseUrl) }}#faq">FAQ</a></li>
<li><a href="{{ locale_path($page, $page->baseUrl) }}#apoie">Apoie</a></li>
<li><a href="{{ locale_path($page, $page->baseUrl) }}#contact">Contato</a></li>
<li><a href="{{ locale_path($page, $page->baseUrl) }}posts">Blog</a></li>
Expand Down
113 changes: 100 additions & 13 deletions source/_layouts/main.blade.php
Original file line number Diff line number Diff line change
@@ -1,22 +1,108 @@
<!DOCTYPE html>
<html lang="{{ $page->language ?? 'en' }}">
<head>
@php
$siteName = $page->siteName ?? 'LibreCode';
$defaultTitle = $page->title ?? 'LibreCode Cooperativa de Software Livre';
$metaTitle = trim(\Illuminate\Support\Str::limit($defaultTitle, 70, ''));
$metaDescription = $page->description ?? 'Cooperativa de tecnologia da informação especializada em desenvolvimento de soluções com licença livre.';
$currentUrl = $page->getUrl();
$organization = $page->organization ?? [];
$organizationName = $organization['name'] ?? 'LibreCode';
$organizationLegalName = $organization['legalName'] ?? $organizationName;
$organizationUrl = $organization['url'] ?? $currentUrl;
$organizationLogo = $organization['logo'] ?? 'assets/images/logo/librecode.png';
$organizationEmail = $organization['email'] ?? 'contato@librecode.coop';
$organizationTelephone = $organization['telephone'] ?? '+55-21-2042-2073';
$organizationSameAs = $organization['sameAs'] ?? [];
$logoUrl = str_starts_with($organizationLogo, 'http')
? $organizationLogo
: rtrim($page->baseUrl, '/') . '/' . ltrim($organizationLogo, '/');
$ogImage = !empty($og_image) ? $og_image : $logoUrl;
$isArticle = !empty($page->date);
$isHomePage = rtrim($currentUrl, '/') === rtrim($page->baseUrl, '/');

$organizationSchema = [
'@context' => 'https://schema.org',
'@type' => 'Organization',
'name' => $organizationName,
'legalName' => $organizationLegalName,
'url' => $organizationUrl,
'logo' => $logoUrl,
'email' => $organizationEmail,
'telephone' => $organizationTelephone,
'sameAs' => $organizationSameAs,
];

$webPageSchema = [
'@context' => 'https://schema.org',
'@type' => $isArticle ? 'Article' : 'WebPage',
'name' => $metaTitle,
'headline' => $page->title ?? $metaTitle,
'description' => $metaDescription,
'url' => $currentUrl,
'isPartOf' => [
'@type' => 'WebSite',
'name' => $siteName,
'url' => $organizationUrl,
],
];

if ($isArticle) {
$webPageSchema['author'] = [
'@type' => 'Organization',
'name' => $page->author ?? $siteName,
];
$webPageSchema['publisher'] = [
'@type' => 'Organization',
'name' => $organizationName,
'logo' => [
'@type' => 'ImageObject',
'url' => $logoUrl,
],
];
$webPageSchema['datePublished'] = date('c', $page->date);
$webPageSchema['image'] = $page->banner ?? $page->cover_image ?? $ogImage;
$webPageSchema['mainEntityOfPage'] = $currentUrl;
}

$schemas = [$organizationSchema, $webPageSchema];

if ($isHomePage && !empty($page->homepageFaq)) {
$schemas[] = [
'@context' => 'https://schema.org',
'@type' => 'FAQPage',
'mainEntity' => array_map(function ($item) {
return [
'@type' => 'Question',
'name' => $item['question'],
'acceptedAnswer' => [
'@type' => 'Answer',
'text' => $item['answer'],
],
];
}, $page->homepageFaq),
];
}
@endphp
<meta charset="utf-8">
<title>{{ $page->title }}</title>
<title>{{ $metaTitle }}</title>
<meta content="width=device-width, initial-scale=1.0" name="viewport">
<meta content="" name="keywords">
@if (!empty($og_image))
<meta property="og:image" content="{{ $og_image }}"/>
@else
<meta property="og:image" content="{{ $page->baseUrl }}assets/images/logo.png"/>
@endif
<meta property="og:url" content="{{ $page->getUrl() }}">
<meta property="og:type" content="website">
<meta property="og:title" content="LibreCode">
<meta property="og:description" content="{{ $page->description }}">

<link rel="canonical" href="{{ $page->getUrl() }}">
<meta name="description" content="{{ $page->description }}">
<meta name="description" content="{{ $metaDescription }}">
<meta name="robots" content="index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1">
<meta property="og:image" content="{{ $ogImage }}"/>
<meta property="og:url" content="{{ $currentUrl }}">
<meta property="og:type" content="{{ $isArticle ? 'article' : 'website' }}">
<meta property="og:site_name" content="{{ $siteName }}">
<meta property="og:title" content="{{ $metaTitle }}">
<meta property="og:description" content="{{ $metaDescription }}">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="{{ $metaTitle }}">
<meta name="twitter:description" content="{{ $metaDescription }}">
<meta name="twitter:image" content="{{ $ogImage }}">

<link rel="canonical" href="{{ $currentUrl }}">

<!-- Favicons -->
<link href="{{ $page->baseUrl }}assets/images/favico.png" rel="icon">
Expand All @@ -33,6 +119,7 @@

<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/glightbox/dist/css/glightbox.min.css" />
<script src="https://cdn.jsdelivr.net/gh/mcstudios/glightbox/dist/js/glightbox.min.js"></script>
<script type="application/ld+json">{!! json_encode($schemas, JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT) !!}</script>

</head>

Expand Down
8 changes: 4 additions & 4 deletions source/_layouts/post.blade.php
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@

<article class="article-detail-blog">
<div class="article-img">
<img src="{{ $page->banner }}" alt="banner-image" class="img-fluid rounded mx-auto d-block">
<img src="{{ $page->banner }}" alt="Banner do artigo {{ $page->title }}" class="img-fluid rounded mx-auto d-block">
</div>

<div class="container mt-4 mb-5 p-3">
Expand Down Expand Up @@ -54,7 +54,7 @@
@break
@endif
<div class="post-item">
<img src="assets/img/blog/blog-recent-1.jpg" alt="" class="flex-shrink-0">
<img src="{{ $article->cover_image }}" alt="Imagem de capa do artigo {{ $article->title }}" class="flex-shrink-0">
<div>
<h4><a href="{{ $article->getUrl() }}">{{ $article->title }}</a></h4>
<time datetime="2020-01-01">{{ date('F j, Y', $article->date) }}</time>
Expand All @@ -77,10 +77,10 @@
@if($option->name == $page->author)
@if($option->name == 'LibreCode')
<img src="{{$page->baseUrl }}assets/images/logo/librecode_author.jpg"
alt="{{ $option->name }}" class="rounded-circle flex-shrink-0" alt="author_image">
alt="Foto institucional da {{ $option->name }}" class="rounded-circle flex-shrink-0">
@else
<img src="https://www.gravatar.com/avatar/{{$option->gravatar}}?size=170"
alt="{{ $option->name }}" class="rounded-circle flex-shrink-0" alt="author_image">
alt="Foto de perfil de {{ $option->name }}" class="rounded-circle flex-shrink-0">
@endif
<div>
<h4>{{ $option->name }}</h4>
Expand Down
4 changes: 4 additions & 0 deletions source/contato.blade.php
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
---
title: Contato da LibreCode
description: Entre em contato com a LibreCode para conhecer soluções em software livre, Nextcloud e assinatura digital.
---
@extends('_layouts.main')
@section('body')
@include('_partials.contact_form')
Expand Down
46 changes: 32 additions & 14 deletions source/index.blade.php
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
<div class="row about-container">
<div class="col-lg-6 icon-box wow fadeInUp">
<div class="icon">
<img src="{{ $page->baseUrl }}assets/images/coop.png" class="img-fluid" alt="">
<img src="{{ $page->baseUrl }}assets/images/coop.png" class="img-fluid" alt="Ilustração sobre cooperativismo e trabalho coletivo">
</div>
<h4 class="title"><a href="">Por que uma cooperativa?</a></h4>
<p class="description">Cooperativas são organizações democráticas, cujas decisões são tomadas de forma coletiva e transparente e onde os cooperados contribuem equitativamente dentro de um princípio de intercooperação e trabalho em conjunto que potencializam a qualidade, produtividade e a economia de escala nos serviços.
Expand All @@ -32,7 +32,7 @@
<div class="col-lg-6 icon-box wow fadeInUp" data-wow-delay="0.2s">
<div class="icon">
<i>
<img src="{{ $page->baseUrl }}assets/images/gnu.png" class="img-fluid" alt="">
<img src="{{ $page->baseUrl }}assets/images/gnu.png" class="img-fluid" alt="Mascote GNU representando software livre">
</i>
</div>
<h4 class="title"><a href="">Por que software livre (SL)?</a></h4>
Expand All @@ -57,7 +57,7 @@
<div class="row row-eq-height justify-content-center">
<div class="col-lg-6 mb-6">
<div class="card wow bounceInUp pr-5 pl-5">
<img class="rounded mx-auto d-block mt-3" src="{{ $page->baseUrl }}assets/images/nextcloud/logo.png" alt="nextcloud logo" width="150px">
<img class="rounded mx-auto d-block mt-3" src="{{ $page->baseUrl }}assets/images/nextcloud/logo.png" alt="Logo do Nextcloud" width="150px">
<p class="mb-4 mt-2 h4">Sua nuvem privada para armazenamento de documentos e colaboração eficiente para equipes de qualquer tamanho.</p>
<div class="card-body">
<a href="{{ $page->baseUrl }}nextcloud" class="btn btn-secondary btn-lg btn-block">Conheça!</a>
Expand All @@ -66,10 +66,10 @@
</div>
<div class="col-lg-6 mb-6">
<div class="card wow bounceInUp pr-5 pl-5">
<img class="rounded mx-auto d-block mt-3" src="{{ $page->baseUrl }}assets/images/logo/libresign.png" alt="libresign logo" width="150px">
<img class="rounded mx-auto d-block mt-3" src="{{ $page->baseUrl }}assets/images/logo/libresign.png" alt="Logo do LibreSign" width="150px">
<p class="mt-5 mb-4 h4">Plataforma completa para assinatura digital de documentos, com praticidade e segurança e validade jurídica.</p>
<div class="card-body">
<a href="https://libresign.coop/" class="btn btn-secondary btn-lg btn-block" target=_blank>Conheça!</a>
<a href="https://libresign.coop/" class="btn btn-secondary btn-lg btn-block" target="_blank">Conheça!</a>
</div>
</div>
</div>
Expand All @@ -88,47 +88,65 @@
<div class="row no-gutters clients-wrap clearfix wow fadeInUp">
<div class="col-lg-3 col-md-4 col-xs-6">
<div class="client-logo">
<img src="{{ $page->baseUrl }}assets/images/clients/prefeitura-nikiti.png" class="img-fluid" alt="">
<img src="{{ $page->baseUrl }}assets/images/clients/prefeitura-nikiti.png" class="img-fluid" alt="Logo da Prefeitura de Niterói">
</div>
</div>
<div class="col-lg-3 col-md-4 col-xs-6">
<div class="client-logo">
<img src="{{ $page->baseUrl }}assets/images/clients/client-2.png" class="img-fluid" alt="">
<img src="{{ $page->baseUrl }}assets/images/clients/client-2.png" class="img-fluid" alt="Logo do cliente apresentado pela LibreCode">
</div>
</div>
<div class="col-lg-3 col-md-4 col-xs-6">
<div class="client-logo">
<img src="{{ $page->baseUrl }}assets/images/clients/client-3.png" class="img-fluid" alt="">
<img src="{{ $page->baseUrl }}assets/images/clients/client-3.png" class="img-fluid" alt="Logo do cliente apresentado pela LibreCode">
</div>
</div>
<div class="col-lg-3 col-md-4 col-xs-6">
<div class="client-logo">
<img src="{{ $page->baseUrl }}assets/images/clients/client-4.jpg" class="img-fluid" alt="">
<img src="{{ $page->baseUrl }}assets/images/clients/client-4.jpg" class="img-fluid" alt="Logo do cliente apresentado pela LibreCode">
</div>
</div>
<div class="col-lg-3 col-md-4 col-xs-6">
<div class="client-logo">
<img src="{{ $page->baseUrl }}assets/images/clients/client-5.png" class="img-fluid" alt="">
<img src="{{ $page->baseUrl }}assets/images/clients/client-5.png" class="img-fluid" alt="Logo do cliente apresentado pela LibreCode">
</div>
</div>
<div class="col-lg-3 col-md-4 col-xs-6">
<div class="client-logo">
<img src="{{ $page->baseUrl }}assets/images/clients/client-6.png" class="img-fluid" alt="">
<img src="{{ $page->baseUrl }}assets/images/clients/client-6.png" class="img-fluid" alt="Logo do cliente apresentado pela LibreCode">
</div>
</div>
<div class="col-lg-3 col-md-4 col-xs-6">
<div class="client-logo">
<img src="{{ $page->baseUrl }}assets/images/clients/nicbr.png" class="img-fluid" alt="">
<img src="{{ $page->baseUrl }}assets/images/clients/nicbr.png" class="img-fluid" alt="Logo do NIC.br">
</div>
</div>
<div class="col-lg-3 col-md-4 col-xs-6">
<div class="client-logo">
<img src="{{ $page->baseUrl }}assets/images/clients/amperj.jpg" class="img-fluid" alt="">
<img src="{{ $page->baseUrl }}assets/images/clients/amperj.jpg" class="img-fluid" alt="Logo da AMPERJ">
</div>
</div>
</div>
</div>
</section>
<section id="faq" class="section-bg">
<div class="container">
<div class="section-header">
<h3>Perguntas frequentes</h3>
<p>Respostas objetivas para facilitar a compreensão do trabalho da LibreCode por pessoas e mecanismos de busca baseados em IA.</p>
</div>
<div class="row">
@foreach ($page->homepageFaq as $item)
<div class="col-lg-6 mb-4">
<div class="card h-100 p-4">
<h4 class="h5">{{ $item['question'] }}</h4>
<p class="mb-0">{{ $item['answer'] }}</p>
</div>
</div>
@endforeach
</div>
</div>
</section>
<!--==========================
Apoie Section
============================-->
Expand All @@ -147,7 +165,7 @@
<p class="text-justify p-5">
O GitHub Sponsors permite à comunidade de desenvolvedores apoiar financeiramente as pessoas e organizações que projetam, criam e mantêm projetos de código aberto do qual dependem, diretamente no GitHub.
</p>
<a class="pl-5" href="https://github.com/sponsors/LibreSign" target=_blank>
<a class="pl-5" href="https://github.com/sponsors/LibreSign" target="_blank">
Ir para Github Sponsor
</a>
</div>
Expand Down
6 changes: 5 additions & 1 deletion source/jobs/index.blade.php
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
---
title: Coopere com a LibreCode
description: Conheça a cultura cooperativista da LibreCode e as oportunidades para colaborar com a cooperativa.
---
@extends('_layouts.main')
@section('body')
<main id="main" class="hight-jobs-page">
Expand Down Expand Up @@ -31,7 +35,7 @@
</div>

<div class="col-lg-6 background order-lg-2 mt-3">
<img src="{{ $page->baseUrl }}assets/images/librecode_team.jpeg" class="img-fluid" alt="imagem_grupo_librecode">
<img src="{{ $page->baseUrl }}assets/images/librecode_team.jpeg" class="img-fluid" alt="Equipe da LibreCode reunida">
</div>
</div>
</div>
Expand Down
Loading
Loading