diff options
-rw-r--r-- | doom.d/modules/gentemplate.org | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/doom.d/modules/gentemplate.org b/doom.d/modules/gentemplate.org new file mode 100644 index 0000000..6df07db --- /dev/null +++ b/doom.d/modules/gentemplate.org @@ -0,0 +1,48 @@ +#+TITLE: Generate Template + + +* Preclude +Generate templates from my set on Github or on computer currently. +* List of templates +Make a list of possible templates for my system to use +#+BEGIN_SRC elisp +(setq oreodave/templates/template-list (list "CTemplate" "CPPTemplate" "PythonTemplate" "NodeTemplate" "ArduinoTemplate")) +#+END_SRC +* Download template for given template name and directory +For a given template name and destination, map the template name to +a URL and clone to the destination using magit-clone-regular. +#+BEGIN_SRC elisp +(after! magit-clone + (defun oreodave/templates/download-template (template-name dest) + (magit-clone-regular (concat "https://github.com/oreodave/" template-name) dest nil))) + +#+END_SRC +* Copy and move template for a template name and destination directory +#+BEGIN_SRC elisp +(defun oreodave/templates/copy-template (template-name dest) + (copy-file (expand-file-name (concat "~/Projects/Templates/" template-name)) dest)) +#+END_SRC +* Find if online or not +Function which checks that the network connections are = 1. If only one network +connection, must be offline +#+BEGIN_SRC elisp +(defun oreodave/templates/offline () + (eq (list-length (network-interface-list)) 1)) +#+END_SRC +* Generate-template +After getting a downloader function, write a new function that asks for the +template and destination of clone for cloning to begin. +#+BEGIN_SRC elisp +(after! (ivy magit-clone) + (defun oreodave/templates/generate-template () + (interactive) + (ivy-read "Enter template: " + oreodave/templates/template-list + :action + (lambda (template-name) + (let ((dir (read-directory-name "Enter directory to download to: ")) + (offline (oreodave/templates/offline))) + (if offline + (oreodave/templates/copy-template template-name dir)) + (oreodave/templates/download-template template-name dir)))))) +#+END_SRC |