smalljs$molPesquisar⌘ KDocsPlaygroundCompararEcossistemaSobrePT
FerramentasGetting StartedIntroduçãoModelo mentalPrimeiros passosDe TypeScript para view.treeEstrutura do projetoFerramentasEssentialsInstalaçãoViewsEstado e reatividadeRoteamentoRenderizaçãoTestesDeploySolução de problemasDataBusca de dadosEsquemas de dadosGiper BazaMoreVitrineDe React, Vue e SvelteLivro de receitasAdvancedPluginsMetadados de móduloOfflineVistas fantasmaAboutFAQEquipeLançamentosAPI$mol_button_major$mol_button_minor$mol_string$mol_number$mol_text$mol_paragraph$mol_list$mol_row$mol_link$mol_check$mol_switch$mol_select$mol_scroll$mol_page$mol_pick

Ferramentas

O $mol funciona em qualquer editor, mas um pequeno conjunto de ferramentas torna o .view.tree e os estilos tipados bem mais confortáveis: um gerador de projeto, um language server, integrações para os editores Zed e VS Code e uma skill que ensina o framework a assistentes de LLM.

Gerar um projeto

O create-view-tree-lsp gera um módulo $mol pronto para rodar, para você não montar o boilerplate à mão:1npx create-view-tree-lsp bog/myappRode a partir da raiz da sua cópia do MAM: os caminhos de módulo são resolvidos dali, e é lá que o projeto tem de morar. Fora de um workspace o comando avisa, em vez de deixar você descobrir no primeiro build.O argumento é o caminho do módulo (namespace/name, ou o equivalente bog_myapp). Ele escreve view.tree, view.ts, view.css.ts e index.html de uma app funcional, além das GitHub Actions para fazer o deploy.Tudo o que o gerador sabe adicionar vem incluído por padrão. Você nomeia apenas o que não quer:1npx create-view-tree-lsp bog/myapp --no-tauri --no-backend--no-baza — um armazenamento local-first Giper Baza--no-docker — uma configuração Docker com docker-compose.yml e config do nginx--no-tauri — uma casca desktop Tauri--no-backend — um backend REST $mol_server com armazenamento node:sqlite e um tipo de item TypeScript compartilhado--no-prerender, --no-seo — visibilidade para mecanismos de busca, descrita abaixo em Integração contínuaUma flag desconhecida interrompe a execução, para que um erro de digitação não deixe algo lá calado.O gerador é um wrapper fino sobre a CLI do language server, então npx view-tree-lsp create bog/myapp faz o mesmo diretamente.

Traduções

As traduções ficam ao lado do seu módulo, em <módulo>/<nome>.locale=<lang>.json. Para o código isso é conveniente; para o tradutor, nem tanto: em vez de uma lista de frases, ele recebe trinta arquivos pequenos. $yuf_localizer resolve essa distância. Aponte-o para as URLs dos seus projetos e os códigos de idioma, e ele mostra todas as chaves em uma única lista pesquisável, marcando o que ainda falta: chaves que só existem em inglês, chaves alteradas mas não salvas, e chaves obsoletas que o projeto já não tem. As traduções ficam no navegador até você exportá-las, então nada se perde entre sessões.Quando o tradutor terminar, exporte o resultado e distribua-o de volta pelos módulos:1# a partir da raiz do MAM2npx view-tree-lsp locale bog/myapp/app/- --exclude=mol --updateO argumento é uma pasta ou um único arquivo de locale. Opções:Cada chave carrega o caminho do próprio módulo, então $my_page_greeting vai parar em my/page/page.locale=ru.json, ao lado dos fontes a que pertence. Descobrir qual é esse módulo, porém, é mais sutil do que parece: _ separa tanto pastas quanto palavras, então o caminho correspondente mais longo é a resposta errada. Em $my_page_lang_hint a propriedade começa com lang, e um submódulo real my/page/lang ao lado engoliria a chave. Por isso o comando pergunta a cada módulo candidato quais chaves ele declara — o MAM escreve exatamente essas no seu arquivo de locale em -view.tree — e entrega a chave a quem é dono dela.

Integração contínua

O gerador escreve as GitHub Actions em .github/workflows/, de modo que um novo projeto faz deploy e release sem configuração extra.O deploy.yml roda a cada push. Ele constrói a app com hyoo-ru/mam_build, publica app/- no GitHub Pages a partir de main e dá a cada branch feature/* sua própria pasta de pré-visualização — removida automaticamente quando o branch é excluído.
Editar esta página no GitHubIsto foi útil?SimNãoAnteriorEstrutura do projetoPróximoInstalação
Nesta páginaGerar um projetoTraduçõesIntegração contínuaSEODesktop TauriLanguage serverZedVS CodeSkill de LLMLinks
Type to search the documentation.