
Security News
Attackers Are Hunting High-Impact Node.js Maintainers in a Coordinated Social Engineering Campaign
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.
Conversor de arquivos `markdown` para páginas `Angular` que utilizam a biblioteca `THF`
Este projeto utiliza a versão do Node.js 12 ou superior.
Conversor de arquivos markdown para componentes Angular utilizando recursos da biblioteca THF.
npm install md2thf -g
ou
npm install md2thf --save-dev
const md2thf = require('md2thf');
md2thf('C:/pathFromMdFiles', 'C:/pathToAngularFiles');
ou
md2thf C:/pathFromMdFiles C:/pathToAngularFiles
Nova funcionalidade na conversão de icones para o padrão do GitHub.
Exemplo: :warning: será :warning:.
Incluídas novas opções de configuração createHelpers e copyExternalFiles.
Mais informações disponíveis no item
options.
exclusions a execução era interrompida.function md2thf(srcDir: string, destDir: string, options?: Options): void {}
srcDirDiretório de origem dos arquivos markdown que serão convertidos. São considerados todos os arquivos com extensão .md encontrados na pasta raiz e nas subpastas do diretório informado.
Exemplo: C:/zoologico.
destDirDiretório de destino dos arquivos Angular que serão criados a partir da conversão dos arquivos markdown.
Exemplo: C:/portal/src/app/zoologico.
Arquivos existentes no diretório de destino não são excluídos.
optionsObjeto opcional com as configurações e definições customizadas de conversão dos arquivos:
{
exclusions: string[] = [],
flatDirs: boolean = false,
createHelpers: boolean = true,
moduleName: string = 'wiki',
copyExternalFiles: boolean = true,
resourceFolderName: string = 'resources',
resourcePathName: string = 'src/app/wiki/resources'
}
options.exclusionsLista com os arquivos markdown que serão desconsiderados da conversão. O caminho informado nesta lista pode ser completo ou relativo ao diretório informado no parâmetro srcDir.
Valor padrão: []
Exemplo: ['C:/zoologico/onca/README.md', 'chimpanze/README.md'].
options.flatDirsSe verdadeiro, irá criar todas as pastas dos componentes Angular na pasta raíz informada no parâmetro destDir, caso contrário, irá obedecer a mesma estrutura encontrada na pasta informada no parâmetro srcDir.
Valor padrão: true
Exemplo:
srcDir
C:\
└── zoologico\
└── animais\
│ └── leao\
│ | ├── README.md
│ └── zebra\
│ | ├── README.md
└── atracoes\
│ ├── README.md
├── README.md
destDir com options.flatDirs=true
C:\portal\src\app\
└── zoologico/
└── leao/
│ ├── leao.component.ts
└── zebra/
│ ├── zebra.component.ts
└── atracoes/
│ ├── atracoes.component.ts
├── zoologico.component.ts
├── zoologico.module.ts
├── zoologico.service.ts
├── zoologico-routing.module.ts
destDir com options.flatDirs=false
C:\portal\src\app\
└── zoologico/
└── animais/
│ └── leao/
│ | ├── leao.component.ts
│ └── zebra/
│ | ├── zebra.component.ts
└── atracoes/
│ ├── atracoes.component.ts
├── zoologico.component.ts
├── zoologico.module.ts
├── zoologico.service.ts
├── zoologico-routing.module.ts
options.createHelpersSe verdadeiro, irá criar os arquivos auxiliares de module, routing e service e irá utilizar o parâmetro options.moduleName para a criação do nome do módulo Angular.
Valor padrão: true.
options.moduleNameNome do módulo Angular que será criado para agrupar os componentes gerados a partir da conversão dos arquivos markdown.
Valor padrão: wiki.
O nome do módulo deve ser informado em
CamelCase.
options.copyExternalFilesSe verdadeiro, irá copiar os arquivos externos referenciados nos arquivos markdown para a pasta de recursos, cujo nome poderá ser definido no parâmetro options.resourceFolderName.
Valor padrão: true.
options.resourceFolderNameNome da pasta que será criada, abaixo da pasta informada no parâmetro destDir, para armazenar os arquivos externos referenciados nos arquivos markdown convertidos.
Os arquivos encontrados na conversão são copiados para dentro desta pasta com um nome único gerado automaticamente, para que não haja conflitos, e as referências são alteradas para apontar para o arquivo copiado.
Valor padrão: resources.
Esta pasta deve ser incluída como
assetda aplicaçãoAngular.
Geralmente estes arquivos são imagens referenciadas pela marcação
markdownouHTML, como nos exemplos abaixo:
>ou
><img alt="Minha Imagem" src="imagens/minhaImagem.png" />
options.resourcePathNameCaminho que será utilizado para referenciar os arquivos externos copiados durante a conversão dos arquivos markdown.
Padrão: app/src/wiki/resources.
Este caminho deve ser acessível pela aplicação
Angular.
Além da conversão e criação dos componentes Angular são criados mais três arquivos auxiliares: módulo, roteamento e serviço.
O arquivo de módulo agrega todos os componentes criados e o roteamento destes componentes - com o uso do arquivo de roteamento. Já o arquivo de serviço possui facilitadores para retornar a lista das rotas dos componentes no formato esperado pelo ThfMenu.
Module
import { NgModule } from '@angular/core';
import { ThfModule } from '@totvs/thf-ui';
import { WikiRoutingModule } from './wiki-routing.module';
import { WikiService } from './wiki.service';
import { SampleComponent } from './sample/sample.component';
@NgModule({
declarations: [SampleComponent],
imports: [ThfModule, WikiRoutingModule],
providers: [WikiService]
})
export class WikiModule {}
Routing
import { NgModule } from '@angular/core';
import { Routes, RouterModule } from '@angular/router';
import { SampleComponent } from './sample/sample.component';
const routes: Routes = [
{
path: 'sample',
component: SampleComponent
}
];
@NgModule({
imports: [RouterModule.forChild(routes)],
exports: [RouterModule]
})
export class WikiRoutingModule {}
Service
import { Injectable } from '@angular/core';
import { ThfMenuItem } from '@totvs/thf-ui';
@Injectable({
providedIn: 'root'
})
export class WikiService {
constructor() {}
public getWikiMenuItems(): ThfMenuItem[] {
return [
{
label: 'Sample Component',
link: 'wiki/sample'
}
];
}
}
Todos os arquivos externos referenciados nos arquivos markdown são copiados para a pasta de recursos (conforme parâmetro options.resourceFolderName) com outro nome gerado dinâmicamente.
Para que seja possível a visualização dos arquivos desta pasta pela aplicação Angular é necessário adicioná-la como asset alterando o arquivo angular.json da aplicação:
{
"assets": [
"src/favicon.ico",
"src/assets",
"src/app/zoologico/resources"
]
}
Toda a área de documentação do portal TOTVS Java Framework foi desenvolvida utilizando o md2thf.
FAQs
Conversor de arquivos markdown para páginas Angular que utilizam a biblioteca TOTVS HTML Framework (THF)
The npm package md2thf receives a total of 4 weekly downloads. As such, md2thf popularity was classified as not popular.
We found that md2thf demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.

Security News
Axios compromise traced to social engineering, showing how attacks on maintainers can bypass controls and expose the broader software supply chain.

Security News
Node.js has paused its bug bounty program after funding ended, removing payouts for vulnerability reports but keeping its security process unchanged.