aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--doom.d/modules/gentemplate.org53
-rw-r--r--doom.d/modules/private/gentemplate/README.org21
-rw-r--r--doom.d/modules/private/gentemplate/config.el32
3 files changed, 53 insertions, 53 deletions
diff --git a/doom.d/modules/gentemplate.org b/doom.d/modules/gentemplate.org
deleted file mode 100644
index dfaacc9..0000000
--- a/doom.d/modules/gentemplate.org
+++ /dev/null
@@ -1,53 +0,0 @@
-#+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" "JavaTemplate"))
-#+END_SRC
-* Find if online or not
-Function which checks that the network connections are = 1. If only one network
-connection is present, the system must be offline
-#+BEGIN_SRC elisp
-(defun oreodave/templates/offline ()
- (eq (list-length (network-interface-list)) 1))
-#+END_SRC
-* Download template
-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)
- "Download a given template via its `template-name' to the `dest' folder"
- (magit-clone-regular (concat "https://github.com/oreodave/" template-name) dest nil)))
-
-#+END_SRC
-* Copy template
-For a given template name, copy the template from the local template directory
-to a destination.
-#+BEGIN_SRC elisp
-(defun oreodave/templates/copy-template (template-name dest)
- "Copy a template project via it's `template-name' to a folder called `dest'"
- (copy-directory (expand-file-name (concat "~/Code/Templates/" template-name)) dest))
-#+END_SRC
-* Generate-template
-After getting a download 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
diff --git a/doom.d/modules/private/gentemplate/README.org b/doom.d/modules/private/gentemplate/README.org
new file mode 100644
index 0000000..86e7463
--- /dev/null
+++ b/doom.d/modules/private/gentemplate/README.org
@@ -0,0 +1,21 @@
+#+TITLE: private/gentemplate
+#+DATE: March 17, 2020
+#+SINCE: {replace with next tagged release version}
+#+STARTUP: inlineimages nofold
+
+* Description
+This module allows users to clone templates from my Github to specific machines.
+These templates allow for quick and easy setup for languages or frameworks where
+this sort of thing isn't very nice to do (for example C++).
+
+This module is used through the main function =+gentemplate/generate-template=.
+It will ask what template you want to use then where to put it, finally doing
+the necessary work to get you that template. You may mutate the variables
+=+gentemplate/template-list= and =+gentemplate/profile-url= to customise your
+templates.
+* Prerequisites
+- git
+* Requirements
+- ivy
+- magit
+- cl
diff --git a/doom.d/modules/private/gentemplate/config.el b/doom.d/modules/private/gentemplate/config.el
new file mode 100644
index 0000000..ae5b973
--- /dev/null
+++ b/doom.d/modules/private/gentemplate/config.el
@@ -0,0 +1,32 @@
+;;; private/gentemplate/config.el -*- lexical-binding: t; -*-
+
+(require 'cl)
+
+(setq +gentemplate/template-list (list "CTemplate" "CPPTemplate" "PythonTemplate" "NodeTemplate" "ArduinoTemplate" "JavaTemplate"))
+(setq +gentemplate/profile-url "https://github.com/oreodave/")
+
+(defun +gentemplate/offline ()
+ (eq (list-length (network-interface-list)) 1))
+
+(after! magit-clone
+ (defun +gentemplate/download-template (template-name dest)
+ "Download a given template via its `template-name' to the `dest' folder"
+ (magit-clone-regular (concat +gentemplate/profile-url template-name) dest nil)))
+
+(defun +gentemplate/copy-template (template-name dest)
+ "Copy a template project via it's `template-name' to a folder called `dest'"
+ (copy-directory (expand-file-name (concat "~/Code/Templates/" template-name)) dest))
+
+(after! (ivy magit-clone)
+ (defun +gentemplate/generate-template ()
+ (interactive)
+ (ivy-read
+ "Enter template: "
+ +gentemplate/template-list
+ :action
+ (lambda (template-name)
+ (let ((dir (read-directory-name "Enter directory to download to: "))
+ (offline (+gentemplate/offline)))
+ (if offline
+ (+gentemplate/copy-template template-name dir)
+ (+gentemplate/download-template template-name dir)))))))