Skip to content

Projeto NPM para a geração de html's de projeto ADVPL baseado no ProtheusDOC.

Notifications You must be signed in to change notification settings

robsonrosilva/protheusDoc

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

42 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

protheusdoc

Extension for interprate ProtheusDoc and generate HTML.

Install

npm install protheusdoc --save

Test

npm run test

Example usage in global scope

Single File

let protheusDoc = require('../lib/protheusDoc');
const fileSystem = require('fs');
let directoryPath = __dirname + '\\files';
let objeto = new protheusDoc.ProtheusDoc();

let conteudo = fileSystem.readFileSync(
  'C:\\Users\\robso\\eclipse-workspace\\TEMP\\tmp\\CNTA121.PRW',
  'latin1'
);

fileSystem.mkdir('./test/out/file/', { recursive: true }, err => {
  if (err) throw err;
});

objeto
  .FileHtml(conteudo)
  .then(file => {
    fileSystem.writeFile(
      './test/out/file/CNTA121.html',
      file.html,
      { flag: 'w' },
      function(err) {
        if (err) return console.log(err);
      }
    );
  })
  .catch(e => {
    console.log(e);
  });

Multiple Files

let protheusDoc = require('../lib/protheusDoc');
const fileSystem = require('fs');
let directoryPath = __dirname + '\\files';
let objeto = new protheusDoc.ProtheusDoc();

// cria estrutura de saída
fileSystem.mkdir('./test/out/project/files/', { recursive: true }, err => {
  if (err) throw err;
});

objeto
  .ProjectHtml(['D:\\Dropbox\\Trabalho\\WORKSPACE\\POUPEX\\ADVPL\\protheus\\'])
  .then(project => {
    fileSystem.writeFile(
      './test/out/project/index.html',
      project.html,
      { flag: 'w' },
      function(err) {
        if (err) return console.log(err);
      }
    );

    for (var x = 0; x < project.files.length; x++) {
      const names = project.files[x].fileName.split(/\/|\\/);
      fileSystem.writeFile(
        './test/out/project/files/' + names[names.length - 1] + '.html',
        project.files[x].html,
        { flag: 'w' },
        function(err) {
          if (err) return console.log(err);
        }
      );
    }
  })
  .catch(e => {
    console.log(e);
  });