diff --git a/src/functions/DocumentationGenerator.js b/src/functions/DocumentationGenerator.js index dc85bde..fb622db 100644 --- a/src/functions/DocumentationGenerator.js +++ b/src/functions/DocumentationGenerator.js @@ -1,20 +1,21 @@ const FileParsing = require('./FileParsing'); -const OutputTitle = require('./OutputTitle'); +const OutputTitlePDF = require('./OutputTitlePDF'); const OutputNameFilePDF = require('./OutputNameFilePDF'); const WritePDF = require('./WritePDF'); const OutputTitleMarkdown = require('./OutputTitleMarkdown'); const OutputNameFileMarkdown = require('./OutputNameFileMarkdown'); const WriteMarkdown = require('./WriteMarkdown'); + /* Doc: - explication du generateur de documentation - qui est vraiment super genial + Function called by DocumentationGenerator component to generate output file (PDF and/or MD) with the help of + WritePDF and WriteMarkdown */ const DocumentationGenerator = async (formData, rows) => { const { projectName, formats } = formData; const filesParsed = await FileParsing(formData, rows); if (formats.pdf) { - const outputTitle = OutputTitle(projectName); + const outputTitle = OutputTitlePDF(projectName); const outputNameFilePDF = OutputNameFilePDF(projectName); WritePDF(outputTitle, outputNameFilePDF, filesParsed); diff --git a/src/functions/FileParsing.js b/src/functions/FileParsing.js index 581882e..5eb238e 100644 --- a/src/functions/FileParsing.js +++ b/src/functions/FileParsing.js @@ -1,3 +1,5 @@ +// Doc: Used to parse files and only keep the ones with desired extensions + const FileParsing = async (formData, rows) => { if (!formData || !formData.files || !Array.isArray(rows)) { return []; diff --git a/src/functions/FilesArray.js b/src/functions/FilesArray.js index 0110d22..11e2660 100644 --- a/src/functions/FilesArray.js +++ b/src/functions/FilesArray.js @@ -1,7 +1,7 @@ const ToArrayExtensions = require("./ToArrayExtensions"); const FilterFiles = require("./FilterFiles"); -// Doc: fonction permettant l'affichage des fichiers pris en charge par la generation de la documentation +// Doc: Use to display the files selected by FileSelector or FolderSelector. It updates based on the extensions input. async function FilesArray (files, extensionsName) { if (!extensionsName || typeof extensionsName !== "string" || extensionsName.trim().length === 0) { return []; diff --git a/src/functions/FilesArraySelection.js b/src/functions/FilesArraySelection.js index 68c097d..7acc171 100644 --- a/src/functions/FilesArraySelection.js +++ b/src/functions/FilesArraySelection.js @@ -1,4 +1,4 @@ -//doc: fonction qui retourne un dictionnaire avec le nom du fichier et l'extension +//doc: returns dictionnary with fileName and extensions const FilesArraySelection = (files) => { const rows = files.map((fileEntry) => { diff --git a/src/functions/FilesSelector.js b/src/functions/FilesSelector.js index 868eeb9..d1f5e7b 100644 --- a/src/functions/FilesSelector.js +++ b/src/functions/FilesSelector.js @@ -1,4 +1,4 @@ -// Doc: fonction permettant de sélectionner les différents fichiers +// Doc: Used to select the files const FilesSelector = async () => { const pickerOptions = { diff --git a/src/functions/FilterFiles.js b/src/functions/FilterFiles.js index cabc38c..445bb05 100644 --- a/src/functions/FilterFiles.js +++ b/src/functions/FilterFiles.js @@ -1,4 +1,12 @@ -// doc: Cette fonction filre les fichiers selon les extensions choisis et renvoie le tableau des fichiers filtres +// doc: Can filter files based on the selected extensions and returns the array of filtered files. + + + + + + + + const FilterFiles = async (files, extensions) => { let filesArray = []; diff --git a/src/functions/FolderSelector.js b/src/functions/FolderSelector.js index 2cd9c6d..05ea2a5 100644 --- a/src/functions/FolderSelector.js +++ b/src/functions/FolderSelector.js @@ -1,6 +1,6 @@ const GetAllFiles = require("./GetAllFiles"); -// doc: Fonction pour sélectionner un dossier +// doc: Used to select a folder const FolderSelector = async () => { try { const directoryHandle = await window.showDirectoryPicker(); diff --git a/src/functions/GetAllFiles.js b/src/functions/GetAllFiles.js index ab3f552..ee6a305 100644 --- a/src/functions/GetAllFiles.js +++ b/src/functions/GetAllFiles.js @@ -1,4 +1,4 @@ -// Doc: Permet d'attraper récursivement les fichiers dans les différents dossiers et sous-dossier +// Doc: Catch files recursively in subdirectories const GetAllFiles = async (directoryHandle, files) => { for await (const entry of directoryHandle.values()) { diff --git a/src/functions/OutputNameFileMarkdown.js b/src/functions/OutputNameFileMarkdown.js index 15ac174..e17790b 100644 --- a/src/functions/OutputNameFileMarkdown.js +++ b/src/functions/OutputNameFileMarkdown.js @@ -1,4 +1,4 @@ -// doc: ajoute le .md a la fin du project Name +// doc: Add .md at the end of projectName const OutputNameFileMarkdown = (projectName) => { const extension = ".md"; diff --git a/src/functions/OutputNameFilePDF.js b/src/functions/OutputNameFilePDF.js index 0fd8736..3e2a38e 100644 --- a/src/functions/OutputNameFilePDF.js +++ b/src/functions/OutputNameFilePDF.js @@ -1,4 +1,4 @@ -// doc: ajoute le .pdf a la fin du project Name +// doc: Add .pdf at the end of projectName const OutputNameFilePDF = (projectName) => { const extension = ".pdf"; diff --git a/src/functions/OutputTitleMarkdown.js b/src/functions/OutputTitleMarkdown.js index f427e69..874576d 100644 --- a/src/functions/OutputTitleMarkdown.js +++ b/src/functions/OutputTitleMarkdown.js @@ -1,4 +1,4 @@ -// Doc: Permet de rajouter la syntaxe Markdown +// Doc: Add Markdown syntax const OutputTitleMarkdown = (outputName) => { const h1 = "# "; diff --git a/src/functions/OutputTitle.js b/src/functions/OutputTitlePDF.js similarity index 54% rename from src/functions/OutputTitle.js rename to src/functions/OutputTitlePDF.js index 1ec10e7..1b8d01f 100644 --- a/src/functions/OutputTitle.js +++ b/src/functions/OutputTitlePDF.js @@ -1,10 +1,10 @@ -//doc: ajoute "Documentation de " au projectName +//doc: Add PDF syntax -const OutputTitle = (projectName) => { +const OutputTitlePDF = (projectName) => { const documentation = "Documentation de"; const outputTitle = documentation.concat(" ", projectName); return outputTitle; } -module.exports = OutputTitle; \ No newline at end of file +module.exports = OutputTitlePDF; \ No newline at end of file diff --git a/src/functions/ToArrayExtensions.js b/src/functions/ToArrayExtensions.js index dbf04d3..da95c42 100644 --- a/src/functions/ToArrayExtensions.js +++ b/src/functions/ToArrayExtensions.js @@ -1,4 +1,4 @@ -// Doc: Transforme le string extensions en array +// Doc: Transform extensions string into an array const ToArrayExtensions = (extensionsName) => { const extensions = extensionsName.split(","); @@ -6,13 +6,4 @@ const ToArrayExtensions = (extensionsName) => { return extensions; }; -/* Doc: Plusieurs fonctions -dans un seul et meme fichier */ - -async function Test () { - -}; - -//Doc: troisieme test - module.exports = ToArrayExtensions; \ No newline at end of file diff --git a/src/functions/WriteMarkdown.js b/src/functions/WriteMarkdown.js index 62dbe5b..865ce4b 100644 --- a/src/functions/WriteMarkdown.js +++ b/src/functions/WriteMarkdown.js @@ -1,5 +1,6 @@ const { saveAs } = require('file-saver'); +// Doc: Use file-saver to generate the Markdown file const WriteMarkdown = (outputTitleMarkdown, outputNameFileMarkdown, filesParsed) => { const star = "*"; const tabStar = " *"; diff --git a/src/functions/WritePDF.js b/src/functions/WritePDF.js index 5d0dcf1..c1e3a51 100644 --- a/src/functions/WritePDF.js +++ b/src/functions/WritePDF.js @@ -1,4 +1,6 @@ -const WritePDF = (outputTitle, outputNameFilePDF, filesParsed) => { +//Doc: Use jspdf to generate the final pdf file + +const WritePDF = (outputTitlePDF, outputNameFilePDF, filesParsed) => { const { jsPDF } = require("jspdf"); const doc = new jsPDF(); const pageHeight = 280; @@ -8,7 +10,7 @@ const WritePDF = (outputTitle, outputNameFilePDF, filesParsed) => { doc.setFontSize(22); doc.setFont("Helvetica", "Bold"); - doc.text(outputTitle, 10, 20); + doc.text(outputTitlePDF, 10, 20); doc.setFontSize(16); for (let i = 0; i < filesParsed.length; i++) { diff --git a/src/pages/components/HelpButton.jsx b/src/pages/components/ButtonHelp.jsx similarity index 100% rename from src/pages/components/HelpButton.jsx rename to src/pages/components/ButtonHelp.jsx diff --git a/src/pages/components/Fichier test.c b/src/pages/components/Fichier test.c deleted file mode 100644 index 8b13789..0000000 --- a/src/pages/components/Fichier test.c +++ /dev/null @@ -1 +0,0 @@ - diff --git a/src/pages/index.jsx b/src/pages/index.jsx index b371c46..f717ed6 100644 --- a/src/pages/index.jsx +++ b/src/pages/index.jsx @@ -8,7 +8,7 @@ import TextBoxExtensions from "./components/TextBoxExtensions.jsx"; import CheckBoxOutputFormat from "./components/CheckBoxOutputFormat.jsx"; import ButtonGenerateDocumentation from "./components/ButtonGenerateDocumentation.jsx"; import TableDetectedFiles from "./components/TableDetectedFiles.jsx"; -import HelpButton from "./components/HelpButton.jsx"; +import ButtonHelp from "./components/ButtonHelp.jsx"; const MainFrame = () => { const [rows, setRows] = useState([]); @@ -35,32 +35,29 @@ const MainFrame = () => { Générateur de documentation - - Outil permettant la génération automatique de documentation en fonction des commentaires et des liens entre les différentes méthodes - - + - + - + - + diff --git a/src/tests/DocumentationGenerator.test.js b/src/tests/DocumentationGenerator.test.js index 023fde2..ba434ff 100644 --- a/src/tests/DocumentationGenerator.test.js +++ b/src/tests/DocumentationGenerator.test.js @@ -1,7 +1,7 @@ // tests/DocumentationGenerator.test.js const DocumentationGenerator = require('../functions/DocumentationGenerator'); const FileParsing = require('../functions/FileParsing'); -const OutputTitle = require('../functions/OutputTitle'); +const OutputTitlePDF = require('../functions/OutputTitlePDF'); const OutputNameFilePDF = require('../functions/OutputNameFilePDF'); const WritePDF = require('../functions/WritePDF'); const OutputTitleMarkdown = require('../functions/OutputTitleMarkdown'); @@ -9,7 +9,7 @@ const OutputNameFileMarkdown = require('../functions/OutputNameFileMarkdown'); const WriteMarkdown = require('../functions/WriteMarkdown'); jest.mock('../functions/FileParsing', () => jest.fn()); -jest.mock('../functions/OutputTitle', () => jest.fn()); +jest.mock('../functions/OutputTitlePDF', () => jest.fn()); jest.mock('../functions/OutputNameFilePDF', () => jest.fn()); jest.mock('../functions/WritePDF', () => jest.fn()); jest.mock('../functions/OutputTitleMarkdown', () => jest.fn()); @@ -26,13 +26,13 @@ describe('DocumentationGenerator', () => { const filesParsed = [{ name: 'file1', functions: [] }]; FileParsing.mockResolvedValue(filesParsed); - OutputTitle.mockReturnValue('Test Project Documentation'); + OutputTitlePDF.mockReturnValue('Test Project Documentation'); OutputNameFilePDF.mockReturnValue('TestProject.pdf'); await DocumentationGenerator(formData, rows); expect(FileParsing).toHaveBeenCalledWith(formData, rows); - expect(OutputTitle).toHaveBeenCalledWith('TestProject'); + expect(OutputTitlePDF).toHaveBeenCalledWith('TestProject'); expect(OutputNameFilePDF).toHaveBeenCalledWith('TestProject'); expect(WritePDF).toHaveBeenCalledWith('Test Project Documentation', 'TestProject.pdf', filesParsed); }); @@ -66,7 +66,7 @@ describe('DocumentationGenerator', () => { const filesParsed = [{ name: 'file1', functions: [] }]; FileParsing.mockResolvedValue(filesParsed); - OutputTitle.mockReturnValue('Test Project Documentation'); + OutputTitlePDF.mockReturnValue('Test Project Documentation'); OutputNameFilePDF.mockReturnValue('TestProject.pdf'); OutputTitleMarkdown.mockReturnValue('Test Project Documentation'); OutputNameFileMarkdown.mockReturnValue('TestProject.md'); @@ -74,7 +74,7 @@ describe('DocumentationGenerator', () => { await DocumentationGenerator(formData, rows); expect(FileParsing).toHaveBeenCalledWith(formData, rows); - expect(OutputTitle).toHaveBeenCalledWith('TestProject'); + expect(OutputTitlePDF).toHaveBeenCalledWith('TestProject'); expect(OutputNameFilePDF).toHaveBeenCalledWith('TestProject'); expect(WritePDF).toHaveBeenCalledWith('Test Project Documentation', 'TestProject.pdf', filesParsed); expect(OutputTitleMarkdown).toHaveBeenCalledWith('TestProject'); diff --git a/src/tests/OutputTitle.test.js b/src/tests/OutputTitlePDF.test.js similarity index 73% rename from src/tests/OutputTitle.test.js rename to src/tests/OutputTitlePDF.test.js index 534a417..e725122 100644 --- a/src/tests/OutputTitle.test.js +++ b/src/tests/OutputTitlePDF.test.js @@ -1,31 +1,31 @@ -const OutputTitle = require('../functions/OutputTitle'); +const OutputTitlePDF = require('../functions/OutputTitlePDF'); -describe('OutputTitle', () => { +describe('OutputTitlePDF', () => { it('should return the correct title for a given project name', () => { const projectName = 'MonProjet'; const expectedTitle = 'Documentation de MonProjet'; - const result = OutputTitle(projectName); + const result = OutputTitlePDF(projectName); expect(result).toBe(expectedTitle); }); it('should handle empty project name', () => { const projectName = ''; const expectedTitle = 'Documentation de '; - const result = OutputTitle(projectName); + const result = OutputTitlePDF(projectName); expect(result).toBe(expectedTitle); }); it('should handle project name with spaces', () => { const projectName = 'Projet Test'; const expectedTitle = 'Documentation de Projet Test'; - const result = OutputTitle(projectName); + const result = OutputTitlePDF(projectName); expect(result).toBe(expectedTitle); }); it('should handle project name with special characters', () => { const projectName = 'Projet@123'; const expectedTitle = 'Documentation de Projet@123'; - const result = OutputTitle(projectName); + const result = OutputTitlePDF(projectName); expect(result).toBe(expectedTitle); }); }); \ No newline at end of file