allow ascii dependency map
This commit is contained in:
		
							
								
								
									
										21
									
								
								Makefile
									
									
									
									
									
								
							
							
						
						
									
										21
									
								
								Makefile
									
									
									
									
									
								
							| @@ -6,7 +6,7 @@ FZF != command -v sk || command -v fzy || command -v fzf || \ | ||||
|  | ||||
| spill_contents = sed -e '1,/---/d' | ||||
|  | ||||
| help: ## Print the help message | ||||
| help: .git/info/exclude ## Print the help message | ||||
| 	@awk 'BEGIN {FS = ":.*?## "} /^[0-9a-zA-Z._-]+:.*?## / {printf "\033[36m%s\033[0m : %s\n", $$1, $$2}' $(MAKEFILE_LIST) | \ | ||||
| 		sort | \ | ||||
| 		column -s ':' -t | ||||
| @@ -19,6 +19,8 @@ categories = $(patsubst %/, %, $(dirs)) | ||||
| databases = $(patsubst %, .dbs/%.rec, $(categories)) | ||||
|  | ||||
| default += $(databases) | ||||
| default += db.rec | ||||
| default += .dbs/map.fmt | ||||
|  | ||||
| $(foreach dir, $(categories), \ | ||||
| 	$(eval .dbs/$(dir).rec: $(wildcard $(dir)/*)) \ | ||||
| @@ -26,6 +28,7 @@ $(foreach dir, $(categories), \ | ||||
|  | ||||
| .dbs/: | ||||
| 	mkdir $@ | ||||
|  | ||||
| $(databases): .dbs/%.rec: %/ | .dbs/ | ||||
| 	$(info making $(@F)) | ||||
| 	for entry in $(shell find $< -type f -name "*.md") ; do \ | ||||
| @@ -56,10 +59,8 @@ db.rec: $(databases) | ||||
| 	recfix --sort $@ | ||||
| 	$(info Created main database: $@) | ||||
|  | ||||
| default += db.rec | ||||
|  | ||||
| .git/info/exclude: $(default) | ||||
| 	echo $^ | tr ' ' '\n' > $@ | ||||
| 	@echo $^ | tr ' ' '\n' > $@ | ||||
|  | ||||
| default += .git/info/exclude | ||||
|  | ||||
| @@ -77,6 +78,18 @@ article: ## Write an article | ||||
| 	printf '%s\n\n' '---' >> $$path/$$filename.md ;\ | ||||
| 	$(EDITOR) +5 "$$path/$$filename.md" | ||||
|  | ||||
| .dbs/map.fmt:| .dbs/ | ||||
| 	printf '%s\n' '[ {{requires[0]}} ] --> [ {{title}} ] {border-style: dashed;}' > $@ | ||||
| 	printf '%s\n' '[ {{requires[1]}} ] --> [ {{title}} ] {border-style: dashed;}' >> $@ | ||||
| 	printf '%s\n' '[ {{requires[2]}} ] --> [ {{title}} ] {border-style: dashed;}' >> $@ | ||||
| 	printf '%s\n' '[ {{requires[3]}} ] --> [ {{title}} ] {border-style: dashed;}' >> $@ | ||||
| 	printf '%s\n' '[ {{requires[4]}} ] --> [ {{title}} ] {border-style: dashed;}' >> $@ | ||||
|  | ||||
| .PHONY: map | ||||
| map: db.rec .dbs/map.fmt ## Show knowledge dependency map | ||||
| 	recsel -t guide $< -e 'requires != ""' -p title,requires | recfmt -f .dbs/map.fmt |\ | ||||
| 	grep -vF '[  ]' | graph-easy --boxart | $${PAGER} | ||||
|  | ||||
| .PHONY: clean | ||||
| clean: ## Remove all generated files | ||||
| 	$(RM) $(default) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user