npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

ru-ufpe-theme

v0.1.0

Published

Tema WordPress e design system RU-only para portal de Restaurante Universitario.

Downloads

129

Readme

Portal RU Theme

Tema autoral open source para portais de restaurantes universitários de institutos de ensino, distribuído sob a licença MIT. Ele foi configurado para funcionar como landing page institucional, sem remover o fluxo editorial de posts. Todo o front público do tema deve usar Tailwind + Vite como padrão.

Objetivo

Fornecer uma base minima e funcional para o front do WordPress sem depender de temas padrao.

Arquivos principais

  • style.css: apenas cabecalho necessario para o WordPress reconhecer o tema
  • functions.php: setup basico do tema e carregamento do CSS compilado
  • inc/cardapio-semanal.php: CPT, helpers, UI do admin e queries do cardapio semanal
  • front-page.php: landing page padrao da home
  • home.php: listagem principal de avisos
  • page.php: fallback generico para paginas
  • page-unit-overview.php: visao geral publica da unidade em /{slug}/
  • page-unit-cardapio.php: pagina de cardapio da unidade em /{slug}/cardapio/
  • page-unit-avisos.php: pagina de avisos da unidade em /{slug}/avisos/
  • single-unidade.php: pagina individual de cada unidade
  • archive-unidade.php: listagem publica de unidades
  • single.php: pagina individual de aviso
  • index.php: fallback do tema
  • header.php: abertura do documento HTML e wp_head()
  • footer.php: fechamento do documento e wp_footer()
  • assets/src/css/app.css: fonte do Tailwind
  • assets/src/js/app.js: entrada do Vite
  • assets/dist/app.css: CSS compilado versionado
  • assets/dist/app.js: JS compilado versionado
  • assets/admin/cardapio-semanal.css: estilos do editor de cardapio no admin
  • assets/admin/cardapio-semanal.js: scripts do editor de cardapio no admin
  • assets/images/brand/: logos e marca do Portal RU
  • assets/images/illustrations/: ilustracoes decorativas do front
  • assets/images/patterns/: padroes de background do front
  • assets/images/favicon.png: favicon padrao do site
  • design-system/: tokens, manifests e handoff RU-only para Figma/Penpot
  • vite.config.js: configuracao do pipeline Vite
  • tailwind.config.cjs: configuracao complementar do Tailwind

Caracteristicas atuais

  • Pipeline de front com Tailwind + Vite
  • Design system RU-only versionado em design-system/, sem identidade visual institucional da UFPE
  • Pacote de icones Lucide inicializado no front via JS
  • Fonte Geist empacotada localmente no build
  • Templates publicos com componentes customizados do tema
  • Home em formato de landing page
  • Posts nativos renomeados para Avisos
  • CPT Unidades com dados estruturados
  • CPT Cardapios semanais com menu_json canonico por unidade e semana
  • Paginas publicas sincronizadas por unidade em /{slug}/, /{slug}/cardapio/ e /{slug}/avisos/
  • Links externos opcionais por unidade para Google Maps ou OpenStreetMap, Instagram, Telefone e empresa administradora
  • Configuracao de refeicoes padrao por unidade em ru_enabled_meals
  • Editor estruturado no admin para serializar o cardapio semanal em menu_json
  • Avisos gerais ou vinculados a uma ou mais unidades
  • Pagina individual de aviso via single.php com layout customizado do tema
  • Paginas sincronizadas marcadas como auto-geradas no admin
  • Favicon padrao via assets/images/favicon.png com fallback automatico quando nenhum site icon esta definido no WordPress
  • Menu primary registrado com fallback hardcoded para Inicio, Unidades e Avisos
  • Campos estruturados da unidade incluem ru_cidade, ru_status e horarios base por refeicao em ru_meal_time_desjejum, ru_meal_time_almoco e ru_meal_time_jantar
  • Campo ru_google_maps_embed_url para embed do mapa na pagina da unidade, com sanitizacao automatica de iframe colado do Google Maps ou OpenStreetMap e seletor de provedor em ru_map_provider
  • Suporte a title-tag
  • Suporte a post-thumbnails
  • Suporte basico a HTML5

Como evoluir

  1. Criar templates dedicados como page.php e arquivos de taxonomia, se necessario.
  2. Separar componentes recorrentes em template-parts.
  3. Adicionar menus, areas de widget e configuracoes de personalizacao.
  4. Refinar a identidade visual do Portal RU com layout e conteudo reais.

Desenvolvimento

Com o projeto rodando na raiz:

docker compose up -d
php -S localhost:8080 router.php

Instale as dependencias e rode o build do front:

cd wp-content/themes/ru-ufpe-theme
npm install
npm run build

Durante o desenvolvimento do front:

npm run dev

Ative o tema, se necessario:

wp theme activate ru-ufpe-theme

Convencao

  • Novos templates publicos devem usar Tailwind e componentes customizados do tema.
  • Novos icones do front devem usar Lucide.
  • O CSS fonte deve ficar em assets/src.
  • Os arquivos compilados assets/dist/app.css e assets/dist/app.js devem permanecer versionados no repositorio.
  • editor.css foi removido do fluxo e nao deve ser recriado sem necessidade real.
  • A navegacao principal deve apontar para as paginas sincronizadas por unidade, nao para /unidades/ ou /avisos/.
  • O conteudo das paginas sincronizadas deve ser editado via CPT Unidades e Cardapios semanais, nao pela edicao direta das paginas geradas.
  • /{slug}/cardapio/ deve consumir o cardapio_semanal vigente ou, na falta dele, o mais recente publicado.
  • allergens e dietary usam icones default por grupo no tema, sem mapeamento por termo individual.
  • assets/images/ organiza brand, ilustracoes, padroes e favicon em subpastas; manter a estrutura existente e nao criar subpastas novas sem necessidade real.
  • Os assets de admin em assets/admin/ sao carregados apenas nas telas de edicao relevantes e nao fazem parte do pipeline Vite.

Design system RU-only

O pacote commitavel da identidade do Restaurante Universitario fica em design-system/.

  • design-system/tokens/ru.tokens.json: fonte portavel em formato W3C Design Tokens.
  • design-system/tokens/figma-tokens.json: import para Tokens Studio/Figma.
  • design-system/penpot/ru-variables.css: variaveis CSS para Penpot e prototipos.
  • design-system/assets/manifest.json: lista fechada de assets RU aprovados.

Nao usar, importar ou recriar identidade visual institucional da UFPE neste design system. Os arquivos em assets/images/brand/institutional/ e o asset assets/images/brand/ufpe-id.png estao fora da marca RU.

Validacao:

npm run design-system:check