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 🙏

© 2024 – Pkg Stats / Ryan Hefner

eta-carinae-1

v0.1.8

Published

Webcomponent lexml-eta following open-wc recommendations

Downloads

3

Readme

Editor de Textos Articulados

Demo

  • https://lexml.github.io/lexml-eta/

Motivação

A autoria de normas jurídicas pode se beneficiar de uma solução que codifique as regras de técnica legislativa estabelecidas em normas jurídicas como também as regras convencionadas pela tradição legislativa do Brasil.

Uma norma jurídica se expressa por meio de textos e outros elementos visuais, sendo todos eles manifestados em edições de algum periódico oficial. Além de texto hierárquico e articulado, a norma jurídica pode se manifestar por outros meios, tais como fórmulas, figuras, tabelas, texto corrido não articulado e partitura.

Este projeto visa desenvolver um componente para elaboração de componentes que suportem a edição do texto articulado de uma norma ou proposição legislativa.

Trata-se de uma proposta inicial, a ser discutida com todos os interessados em sua implementação. Mas, desde já, apresentamos o que seriam alguns objetivos específicos da solução proposta:

  • Implementar uma plataforma tecnológica que possa suportar a redação de textos normativos articulados;
  • Desenvolver um ambiente para a autoria legislativa baseado na edição e manipulação de textos estruturados, como a norma e a proposição;
  • Permitir a validação da articulação de documentos disponíveis em outros formatos, como o DOCX;
  • Especificar formato de documento para atender às necessidades de todos os tipos de documento previstos para o LexEdit e que seja sustentável a longo prazo;
  • Atender a requisitos de usabilidade e portabilidade, ampliando as possibilidades de uso da ferramenta sem necessidade de treinamento e de plataformas de hardware e ambiente operacional específicos;
  • Desenvolver um produto que possa ser distribuído e incorporado em diferentes ambientes e sistemas, e extensível para atender a necessidades de outras instituições;
  • Criar um ambiente de colaboração, de modo a facilitar a incorporação de desenvolvedores de outras instituições, empresas ou indivíduos no esforço de desenvolvimento do editor e de outras ferramentas relacionadas.

Principais funcionalidades

  • Apresentar o texto articulado em consonância com padrões previstos em normas vigentes (LC 95 e Decreto 9.191/2017, entre outros);
  • Permitir que sejam utilizadas mais de uma instância do editor para a edição de textos articulados;
  • Oferecer recursos de navegação com o teclado, de maneira similar ao que ocorre em processadores de texto;
  • Permitir a criação e edição do texto articulado em consonância com as normas vigentes (LC 95) e a especificação contida no padrão LexML;
  • Oferecer recursos básicos de formatação de dispositivo, quando isso for permitido;
  • Numerar automaticamente os dispositivos do texto articulado que estejam em consonância com as normas vigentes;
  • Numerar dispositivos agrupadores (Livros, Partes, Capítulos, Títulos, Subtítulos)
  • Numerar artigos sequencialmente;
  • Numerar sequencialmente dispositivos filhos de artigos, como parágrafo (único e sequencial), alíneas, incisos e itens;
  • Definir regras de edição do texto articulado;
  • Oferecer ações permitidas sobre os dispositivos, segundo as regras previstas;
  • Possibilitar a criação de dispositivos automaticamente, à medida que o usuário for digitando, inclusive gerando automaticamente os rótulos de dispositivo:
    • O uso dos dois pontos comanda o desdobramento dos dispositivos em filhos;
    • O uso de ponto e vírgula indica continuação de sequência de dispositivos do mesmo tipo, admitindo-se o uso de " ; e " e "; ou " quando se tratar do penúltimo dispositivo
    • No caso de artigos e parágráfos não há distinção entre continuação e fim de sequência pois só é admitido o uso de ponto final;
    • Essas regras não se aplicam a dispositivos agrupadores, pois esses não podem possuir pontuação.
  • Bloquear a edição dos rótulos de dispositivo;
  • Promover mudança estrutural de artigos e dispositivos de artigo, considerando os dispositivos dependentes:
    • Alinea em Inciso;
    • Alinea em Item;
    • Artigo em Parágrafo;
    • Inciso em Alínea;
    • Inciso em Parágrafo;
    • Item em Alínea;
    • Parágrafo em Artigo.
  • Manter histórico das modificações efetuadas sobre a articulação, permitindo desfazer e refazer operações efetuadas no documento;
  • Validar a situação atual do dispositivo;
  • Permitir a incorporação dos componentes desenvolvidos em página HTML e sua utilização em frameworks JavaScript;
  • Permitir a edição de um texto articulado independente do seu tamanho;
  • Definir estilos consistentes e protegidos contra alteração não intencional;

Como usar

Ainda não está disponível para utilização em produção. Para testá-lo, basta seguir os seguintes passos:

git clone https://github.com/lexml/lexml-eta.git
npm install
npm start

Será aberta uma janela do browser com uma aplicação exemplo que permite testar o componente. Em breve, iremos disponibilizar um link aqui para testar a aplicação sem necessidade de baixar o projeto.

Quando estiver disponível uma versão para uso, teremos instruções mais detalhadas de como utilizar o componente em página html e frameworks mais populares.

Desenvolvimento

Para rodar um servidor para desenvolvimento, que serve um demo localizado em demo/index.html

npm start

Para rodar o servidor em modo de desenvolvimento:

npm run start:watch

Teste

Para executar os testes apenas uma vez:

npm run test

Para executar os testes em modo de desenvolvimento:

npm run test:watch

Para executar um teste apenas:

npm run test -- --grep out-tsc/test/**/parte.test.js

Linting

Para varrer o projeto em buscar de erros (lint):

npm run lint

Créditos

Este projeto partiu de muita idéias do editor Lexedit, do projeto Lexml, e do Editor de Articulação da Assembléia Legislativa de Minas Gerais, disponível como código aberto, no github. Desse último editor, devemos muito à sua abordagem moderna e amigável de edição.

Este componente segue as recomendações do open-wc e utiliza-se dos seguintes softwares e componentes, entre outros:

Contribua com o projeto

O projeto está apenas iniciando. Toda ajuda é bem-vinda!