Skip to content

Latest commit

 

History

History
162 lines (129 loc) · 6.64 KB

README.org

File metadata and controls

162 lines (129 loc) · 6.64 KB

HTML layer

img/html.png

Table of Contents

Description

This layer adds support for editing HTML and CSS.

Features:

Install

To use this configuration layer, add it to your ~/.spacemacs. You will need to add html to the existing dotspacemacs-configuration-layers list in this file.

SCSS linting requires SCSS-Lint version >= 0.43.0. You can get it from GitHub:

gem install scss_lint_reporter_checkstyle
gem install scss_lint

LSP

To enable LSP, set the layer variables below to t:

  • css-enable-lsp
  • less-enable-lsp
  • scss-enable-lsp
  • html-enable-lsp

web-beautify

See web-beautify layer documentation.

prettier

See prettier layer documentation.

Choosing a formatter

To choose a formatter, set the layer variable web-fmt-tool:

(html :variables web-fmt-tool 'web-beautify)

Formatter can be chosen on a per project basis using directory local variables (files named .dir-locals.el at the root of a project), an example to use the prettier formatter:

;;; Directory Local Variables
;;; For more information see (info "(emacs) Directory Variables")

((html-mode (web-fmt-tool . prettier)))

Note: you can easily add a directory local variable with SPC f v d.

Activate leex support

To activate support for .leex files set below config variable to a non-nil value.

(html :variables html-enable-leex-support t)

Backends

Language Server Protocol

For css files, you have to install vscode-css-languageserver-bin

npm i -g vscode-css-languageserver-bin

For html files, you will need to install vscode-html-languageserver-bin

npm install -g vscode-html-languageserver-bin

Don’t forget to set the corresponding layer variables mentioned above to t

Live display in browser

Use SPC m I to enable impatient mode, opening a live view of a HTML file in your browser. You may wish to enable impatient mode in referenced CSS or JS files, too.

When the underlying file is an HTML file, SPC m I automatically opens the page in the browser. For other buffers, a list of available views can be found on http://localhost:8080/imp.

For more information visit the help page on GitHub.

Key bindings

Web mode

Key bindingDescription
SPC m g pquickly navigate CSS rules using helm
SPC m e hhighlight DOM errors
SPC m Iopen live view in browser
SPC m g bgo to the beginning of current element
SPC m g cgo to the first child element
SPC m g pgo to the parent element
SPC m g sgo to next sibling
SPC m h pshow xpath of the current element
SPC m r cclone the current element
SPC m r ddelete the current element (does not delete the children)
SPC m r rrename current element
SPC m r wwrap current element
SPC m zfold/unfold current element
%evil-matchit key binding to jump to closing tag
C-returnemmet-expand snippet

A transient-state is also defined, start it with SPC m . or ~, .~

Key bindingDescription
?Toggle full help
cclone current element
ddelete (vanish) current element (does not delete the children)
Ddelete current element and children
jnext element
J / gjnext sibling element
hparent element
kprevious element
K / gkprevious sibling element
lfirst child element
pshow xpath of current element
qleave the transient-state
rrename current element
wwrap current element

CSS/SCSS

Key bindingDescription
SPC m g hquickly navigate CSS rules
SPC m z cfold css statement to one line
SPC m z ounfold css statement to one line