From 51a84644e6e0d756a8c917a500d95053cbb27d4a Mon Sep 17 00:00:00 2001 From: Tom Willemse Date: Tue, 27 Aug 2019 23:25:50 -0700 Subject: Add snippets to ‘oni-html’ --- .gitlab-ci.yml | 11 ++++++ GNUmakefile | 16 ++++++++- oni-html.el | 33 ----------------- oni-html/Cask | 10 ++++++ oni-html/oni-html.el | 58 ++++++++++++++++++++++++++++++ oni-html/snippets/html-mode/block | 7 ++++ oni-html/snippets/html-mode/for | 8 +++++ oni-html/snippets/html-mode/generic-block | 8 +++++ oni-html/snippets/html-mode/script | 5 +++ oni-html/snippets/html-mode/trans-with-cap | 6 ++++ 10 files changed, 128 insertions(+), 34 deletions(-) delete mode 100644 oni-html.el create mode 100644 oni-html/Cask create mode 100644 oni-html/oni-html.el create mode 100644 oni-html/snippets/html-mode/block create mode 100644 oni-html/snippets/html-mode/for create mode 100644 oni-html/snippets/html-mode/generic-block create mode 100644 oni-html/snippets/html-mode/script create mode 100644 oni-html/snippets/html-mode/trans-with-cap diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 010ac69..721e20a 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -46,6 +46,16 @@ package-oni-haml: paths: - oni-haml/dist/ +package-oni-html: + stage: pre-package-multifile + before_script: + - rm -rf oni-elisp/dist + script: + - cask --path oni-html package + artifacts: + paths: + - oni-html/dist/ + test-oni-alert: stage: test script: make test-oni-alert @@ -94,6 +104,7 @@ package: - package-oni-css - package-oni-elisp - package-oni-haml + - package-oni-html before_script: - rm -rf bin/ - mkdir bin/ diff --git a/GNUmakefile b/GNUmakefile index ce985ac..82bb3f6 100644 --- a/GNUmakefile +++ b/GNUmakefile @@ -3,7 +3,7 @@ FILES := $(wildcard *.el) PACKAGE_TARGETS := $(addprefix package-,$(FILES)) package: $(PACKAGE_TARGETS) package-oni-conf package-oni-css package-oni-elisp \ - package-oni-haml + package-oni-haml package-oni-html package-%: % emacs --batch \ @@ -35,6 +35,12 @@ package-oni-haml: --funcall package-initialize \ --eval "(package-upload-file (car (sort (file-expand-wildcards \"oni-haml/dist/*.tar\") #'string>)))" +package-oni-html: + emacs --batch \ + --load oni-package.el \ + --funcall package-initialize \ + --eval "(package-upload-file (car (sort (file-expand-wildcards \"oni-html/dist/*.tar\") #'string>)))" + install-%: emacs --batch \ --load oni-package.el \ @@ -75,6 +81,14 @@ install-oni-haml: $(foreach DEP,$(DEPS),--eval "(package-install-file \"$(DEP).el\")") \ --eval "(package-install-file (car (sort (file-expand-wildcards \"oni-haml/dist/*.tar\") #'string>)))" +install-oni-html: + emacs --batch \ + --load oni-package.el \ + --fluncall package-initialize \ + --eval '(package-refresh-contents)' \ + $(foreach DEP,$(DEPS),--eval "(package-install-file \"$(DEP).el\")") \ + --eval "(package-install-file (car (sort (file-expand-wildcards \"oni-html/dist/*.tar\") #'string>)))" + test-%: install-% emacs --batch \ --load oni-package.el \ diff --git a/oni-html.el b/oni-html.el deleted file mode 100644 index 417d40e..0000000 --- a/oni-html.el +++ /dev/null @@ -1,33 +0,0 @@ -;;; oni-html.el --- HTML configuration -*- lexical-binding: t; -*- - -;; Copyright (C) 2019 Tom Willemse - -;; Author: Tom Willemse -;; Keywords: local -;; Version: 20190306232557 - -;; This program is free software; you can redistribute it and/or modify -;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation, either version 3 of the License, or -;; (at your option) any later version. - -;; This program is distributed in the hope that it will be useful, -;; but WITHOUT ANY WARRANTY; without even the implied warranty of -;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -;; GNU General Public License for more details. - -;; You should have received a copy of the GNU General Public License -;; along with this program. If not, see . - -;;; Commentary: - -;; HTML configuration - -;;; Code: - -(add-hook 'html-mode-hook 'electric-pair-local-mode) - -;;;###autoload(with-eval-after-load 'sgml-mode (require 'oni-html)) - -(provide 'oni-html) -;;; oni-html.el ends here diff --git a/oni-html/Cask b/oni-html/Cask new file mode 100644 index 0000000..e6e2ebf --- /dev/null +++ b/oni-html/Cask @@ -0,0 +1,10 @@ +(source gnu) +(source melpa) + +(package-file "./oni-html.el") + +(depends-on "oni-yasnippet" :git "../" :files ("oni-yasnippet.el")) + +(files + "*.el" + ("snippets" "./snippets/*")) diff --git a/oni-html/oni-html.el b/oni-html/oni-html.el new file mode 100644 index 0000000..ba77ffa --- /dev/null +++ b/oni-html/oni-html.el @@ -0,0 +1,58 @@ +;;; oni-html.el --- HTML configuration -*- lexical-binding: t; -*- + +;; Copyright (C) 2019 Tom Willemse + +;; Author: Tom Willemse +;; Keywords: local +;; Version: 20190827231602 +;; Package-Requires: (oni-yasnippet) + +;; This program is free software; you can redistribute it and/or modify +;; it under the terms of the GNU General Public License as published by +;; the Free Software Foundation, either version 3 of the License, or +;; (at your option) any later version. + +;; This program is distributed in the hope that it will be useful, +;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;; GNU General Public License for more details. + +;; You should have received a copy of the GNU General Public License +;; along with this program. If not, see . + +;;; Commentary: + +;; HTML configuration + +;;; Code: + +(require 'yasnippet) + +(defconst oni-html-root + (file-name-directory + (or load-file-name + (buffer-file-name))) + "The directory where ‘oni-html’ was loaded from.") + +(defconst oni-html-snippets-dir + (expand-file-name "snippets" oni-html-root) + "The directory where ‘oni-html’ stores its snippets.") + +;;;###autoload +(defun oni-html-snippets-initialize () + "Initialize the snippets for ‘oni-html’." + (when (boundp 'yas-snippet-dirs) + (add-to-list 'yas-snippet-dirs oni-html-snippets-dir t)) + (yas-load-directory oni-html-snippets-dir)) + +(add-hook 'html-mode-hook 'electric-pair-local-mode) + +;;;###autoload +(with-eval-after-load 'sgml-mode + (with-eval-after-load 'yasnippet + (oni-html-snippets-initialize))) + +;;;###autoload(with-eval-after-load 'sgml-mode (require 'oni-html)) + +(provide 'oni-html) +;;; oni-html.el ends here diff --git a/oni-html/snippets/html-mode/block b/oni-html/snippets/html-mode/block new file mode 100644 index 0000000..6510011 --- /dev/null +++ b/oni-html/snippets/html-mode/block @@ -0,0 +1,7 @@ +# -*- mode: snippet; require-final-newline: nil -*- +# name: block +# key: block +# -- +{% block $1 %} + $0 +{% endblock %} \ No newline at end of file diff --git a/oni-html/snippets/html-mode/for b/oni-html/snippets/html-mode/for new file mode 100644 index 0000000..01d9c44 --- /dev/null +++ b/oni-html/snippets/html-mode/for @@ -0,0 +1,8 @@ +# -*- mode: snippet -*- +# name: for +# key: for +# condition: pony-tpl-minor-mode +# -- +{% for $1 in $2 %} + $0 +{% endfor %} \ No newline at end of file diff --git a/oni-html/snippets/html-mode/generic-block b/oni-html/snippets/html-mode/generic-block new file mode 100644 index 0000000..82d40c7 --- /dev/null +++ b/oni-html/snippets/html-mode/generic-block @@ -0,0 +1,8 @@ +# -*- mode: snippet -*- +# name: Template Block +# key: % +# condition: pony-tpl-minor-mode +# -- +{% $1 %} + $0 +{% end$1 %} \ No newline at end of file diff --git a/oni-html/snippets/html-mode/script b/oni-html/snippets/html-mode/script new file mode 100644 index 0000000..e50dbf5 --- /dev/null +++ b/oni-html/snippets/html-mode/script @@ -0,0 +1,5 @@ +# -*- mode: snippet -*- +# name: script +# key: script +# -- + \ No newline at end of file diff --git a/oni-html/snippets/html-mode/trans-with-cap b/oni-html/snippets/html-mode/trans-with-cap new file mode 100644 index 0000000..4f20a33 --- /dev/null +++ b/oni-html/snippets/html-mode/trans-with-cap @@ -0,0 +1,6 @@ +# -*- mode: snippet -*- +# name: trans with cap +# key: trans +# condition: pony-tpl-minor-mode +# -- +{% trans "$1"|capfirst %} \ No newline at end of file -- cgit v1.3-2-g0d8e