[Projects] Make new projects into git repositories whenever possible
This commit is contained in:
parent
583d2e679c
commit
45d8f2c79e
|
@ -6,6 +6,8 @@
|
||||||
|
|
||||||
;;; Code:
|
;;; Code:
|
||||||
|
|
||||||
|
(require 'subr-x)
|
||||||
|
|
||||||
(defgroup projects nil
|
(defgroup projects nil
|
||||||
"Simple directory-based project management"
|
"Simple directory-based project management"
|
||||||
:tag "Project Management"
|
:tag "Project Management"
|
||||||
|
@ -36,19 +38,21 @@
|
||||||
(interactive "sShort Name: \nsLong Name: ")
|
(interactive "sShort Name: \nsLong Name: ")
|
||||||
(when (projects-project-exists-p short-name)
|
(when (projects-project-exists-p short-name)
|
||||||
(user-error "Project %s already exists, exiting" short-name))
|
(user-error "Project %s already exists, exiting" short-name))
|
||||||
(let ((project-directory (expand-file-name short-name
|
(let* ((project-directory (expand-file-name short-name
|
||||||
projects-main-project-directory)))
|
projects-main-project-directory))
|
||||||
|
(default-directory project-directory))
|
||||||
(make-directory project-directory)
|
(make-directory project-directory)
|
||||||
(make-directory (expand-file-name "scripts" project-directory))
|
(make-directory (expand-file-name "scripts"))
|
||||||
(make-directory (expand-file-name "data" project-directory))
|
(make-directory (expand-file-name "data"))
|
||||||
(with-temp-buffer
|
(with-temp-buffer
|
||||||
(insert (format "#+title: %s\n" long-name))
|
(insert (format "#+title: %s\n" long-name))
|
||||||
(insert (format "#+created: %s\n\n"
|
(insert (format "#+created: %s\n\n"
|
||||||
(format-time-string "[%Y-%m-%d %a %H:%M]" (current-time))))
|
(format-time-string "[%Y-%m-%d %a %H:%M]" (current-time))))
|
||||||
(write-file (expand-file-name "projekttagebuch.org" project-directory))
|
(write-file (expand-file-name "projekttagebuch.org"))
|
||||||
(bookmark-set (format "Projekttagebuch %s" long-name)))
|
(bookmark-set (format "Projekttagebuch %s" long-name)))
|
||||||
(write-region (format "%s" long-name) nil
|
(if-let ((git-executable (executable-find "git")))
|
||||||
(expand-file-name ".projectile" project-directory))
|
(call-process git-executable nil nil nil "init")
|
||||||
|
(write-region "" nil (expand-file-name ".projectile")))
|
||||||
(when (require 'projectile nil 'no-error)
|
(when (require 'projectile nil 'no-error)
|
||||||
(projectile-add-known-project project-directory))))
|
(projectile-add-known-project project-directory))))
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue