make: create a new file #10

Open
igor wants to merge 1 commits from new-file into main
3 changed files with 41 additions and 6 deletions

View File

@ -6,10 +6,27 @@
.DEFAULT_GOAL:=help .DEFAULT_GOAL:=help
SHELL:=/bin/bash SHELL:=/bin/bash
# Get the output of the pandoc command
pandoc=$(shell command -v pandoc) pandoc=$(shell command -v pandoc)
# Get the version of pandoc
pandoc_version=$(shell pandoc --version | sed -e 's/.* // ; 1q') pandoc_version=$(shell pandoc --version | sed -e 's/.* // ; 1q')
# Get the output of the awk command
awk=$(shell command -v awk) awk=$(shell command -v awk)
# Get the datetime
now=$(shell date +%Y%m%d%H%M%S)
# Build the filename
filename=$(now).md
# Export date and id as environment variable to replace the variables in the
# template file
export date:=$(shell date +%Y-%m-%dT%H:%M:%S%:z)
export id:=$(now)
# Set the templates and notes directories
templates_directory=templates
notes_directory=notes
.PHONY: help deps .PHONY: help deps
help: ## Display this help help: ## Display this help
@ -18,12 +35,17 @@ help: ## Display this help
deps: ## Check dependencies deps: ## Check dependencies
$(info Checking and getting dependencies) $(info Checking and getting dependencies)
ifeq ($(strip ($pandoc)),) ifeq ($(strip ($pandoc)),)
@echo "pandoc is required" @echo "pandoc is required and not installed"
else else
@echo "pandoc" $(pandoc_version) "is installed" @echo "pandoc" $(pandoc_version) "is installed"
endif endif
ifeq ($(strip ($awk)),) ifeq ($(strip ($awk)),)
@echo "awk is required" @echo "awk is required and not installed"
else else
@echo "awk is installed" @echo "awk is installed"
endif endif
new: ## Create a new file
$(info Creating a new file)
@ envsubst <$(templates_directory)/default.md >$(notes_directory)/$(filename)
$(info Your new file is $(notes_directory)/$(filename))

View File

@ -29,10 +29,16 @@ notamment pour pouvoir gérer les citations et les références avec
## Fonctionnalités ## Fonctionnalités
Pour l'instant [`make-pandoc`][mp] ne fait strictement rien. Mais dans un `make-pandoc` est en mesure:
avenir incertain il devrait être en mesure de générer une version `HTML` d'une
arborescence de fichiers Markdown, en offrant une navigation, la mise en forme - D'afficher une aide (`make` ou `make help`).
des citations et des références, des notes. - De vérifier si les dépendances sont bien installées (`make deps`).
- De créer un nouveau fichier dans le répertoire de notes (`make new`).
Pour l'instant [`make-pandoc`][mp] ne fait pas grand chose de plus. Mais dans
un avenir incertain il devrait être en mesure de générer une version `HTML`
d'une arborescence de fichiers Markdown, en offrant une navigation, la mise en
forme des citations et des références, des notes.
## Requis ## Requis
@ -68,6 +74,7 @@ Usage:
Targets: Targets:
help Display this help help Display this help
deps Check dependencies deps Check dependencies
new Create a new file
``` ```
## Feuille de route ## Feuille de route

View File

@ -0,0 +1,6 @@
---
date: $date
id: $id
---