diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..93d6a99 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,29 @@ +# Changelog + +Toutes les modifications importantes de ce projet seront documentées dans ce fichier. + +## [1.0.0] - 2026-07-17 + +### Added +- Création automatique de modèles de projets dans Acode. +- Ajout du template HTML5 : + - `index.html` + - `style.css` + - `script.js` +- Ajout du template PHP : + - `index.php` +- Ajout du template JavaScript : + - `index.js` +- Ajout de la commande Acode `Templates`. +- Ajout d'un menu de sélection pour choisir le type de projet. +- Intégration avec le système de fichiers Acode (`fsOperation`). +- Détection automatique du dossier ouvert dans Acode. + +### Fixed +- Correction de la récupération du dossier actif avec `addedFolder`. +- Correction de la création des fichiers dans le dossier sélectionné. +- Amélioration de la compatibilité avec Acode v1.12.6. + +### Notes +- Version initiale du plugin Templates. +- Créé Hacker2.0. diff --git a/README.md b/README.md new file mode 100644 index 0000000..a66671e --- /dev/null +++ b/README.md @@ -0,0 +1,30 @@ +# Templates + +Templates is an Acode plugin that helps developers quickly create project templates. + +## Features + +- Create HTML5 projects +- Create PHP projects +- Create JavaScript projects + +## Generated files + +### HTML5 Template +- index.html +- style.css +- script.js + +### PHP Template +- index.php + +### JavaScript Template +- index.js + +## Installation + +Install the plugin from the generated `plugin.zip` file in Acode. + +## Author + +Hacker2.0 diff --git a/icon.png b/icon.png index 2d5d3c6..4cb6fea 100644 Binary files a/icon.png and b/icon.png differ diff --git a/main.js b/main.js new file mode 100644 index 0000000..2213c1f --- /dev/null +++ b/main.js @@ -0,0 +1,25 @@ +(()=>{var i={$schema:"https://acode.app/schema/plugin/v0.1.0.json",id:"com.degrace.templates",name:"Templates",main:"dist/main.js",version:"1.0.0",icon:"icon.png",minVersionCode:290,license:"MIT",price:0,keywords:["template","html","php","javascript"],author:{name:"Hacker2.0",email:"kiminoudegrace64@gmail.com",github:"Degrace15"},description:"Create HTML, PHP and JavaScript project templates in Acode."};function n(c,d,p){let o=acode.require("commands"),s=acode.require("select"),r=acode.require("fsOperation");o.addCommand({name:"templates",description:"Create project templates",exec:async()=>{let t=await s("Choose a template",[["html","HTML5 Template"],["php","PHP Template"],["js","JavaScript Template"]]);if(!t)return;let a=addedFolder[0];if(!a){acode.alert("Error","Please open a folder in Acode first.");return}try{let e=await r(a.url);t==="html"?(await e.createFile("index.html",` + + + + +My Project + + + + + +

Hello Acode \u{1F680}

+ + + + +` + ); + + + await fs.createFile( + "style.css", +`body { + margin: 0; + padding: 20px; + font-family: Arial, sans-serif; +}` + ); + + + await fs.createFile( + "script.js", +`console.log("JavaScript loaded successfully");` + ); + + + } + else if (choice === "php") { + + await fs.createFile( + "index.php", +`` + ); + + + } else if (choice === "js") { + + await fs.createFile( + "index.js", +`console.log("Hello JavaScript 🚀");` + ); + + } + + + folder.reload(); + + + window.toast( + "Template created successfully ✅" + ); + + + } catch (error) { + + + acode.alert( + "Error", + error.message + ); + + + } - async destroy() { - // plugin clean up - } -} -if (window.acode) { - const acodePlugin = new AcodePlugin(); - acode.setPluginInit(plugin.id, async (baseUrl, $page, { cacheFileUrl, cacheFile }) => { - if (!baseUrl.endsWith('/')) { - baseUrl += '/'; } - acodePlugin.baseUrl = baseUrl; - await acodePlugin.init($page, cacheFile, cacheFileUrl); - }); - acode.setPluginUnmount(plugin.id, () => { - acodePlugin.destroy(); + }); + + +} + + +function unmount() { + + const commands = acode.require("commands"); + + commands.removeCommand("templates"); + } + + +acode.setPluginInit( + plugin.id, + init +); + + +acode.setPluginUnmount( + plugin.id, + unmount +);