# haml-mode

> Emacs mode for Haml

**Wikidata**: [Q117288018](https://www.wikidata.org/wiki/Q117288018)  
**Source**: https://4ort.xyz/entity/haml-mode

## Summary
haml-mode is an Emacs mode for editing Haml files, providing syntax highlighting and indentation support for the Haml templating language. It was created by Nathan Weizenbaum in 2007 and is distributed as free software under the Expat license.

## Key Facts
- Created by Nathan Weizenbaum in 2007-03-08
- Latest stable version 3.2.1 released on 2023-03-22
- Distributed through NonGNU ELPA since 2021-10-24
- Written in Emacs Lisp for GNU Emacs
- Cross-platform compatibility
- Source code available on GitHub at https://github.com/nex3/haml-mode
- Licensed under the Expat license
- Part of NonGNU ELPA package repository

## FAQs
### Q: What is haml-mode used for?
A: haml-mode is used for editing Haml files in GNU Emacs, providing syntax highlighting, indentation, and other editing features specific to the Haml templating language.

### Q: Who created haml-mode?
A: Nathan Weizenbaum, a software engineer at Google, created haml-mode in 2007 and has maintained it since then.

### Q: How can I install haml-mode?
A: haml-mode can be installed through NonGNU ELPA package repository in GNU Emacs or by downloading the source code from GitHub.

## Why It Matters
haml-mode is significant because it provides essential development tools for web developers working with Haml templates in the Emacs environment. By offering specialized syntax highlighting, indentation, and editing features, it streamlines the development workflow and reduces errors when working with Haml code. The mode's integration with GNU Emacs makes it a valuable tool for developers who prefer Emacs as their primary development environment, particularly those working on Ruby on Rails or other web applications that use Haml for templating. Its free software licensing and cross-platform compatibility ensure broad accessibility to developers across different operating systems.

## Notable For
- First dedicated Emacs mode for Haml templating language
- Maintained continuously since 2007 by original creator
- Integration with NonGNU ELPA package repository
- Cross-platform compatibility across all systems supporting GNU Emacs
- Active development with regular version updates

## Body
### Development History
haml-mode was created by Nathan Weizenbaum in March 2007 as a specialized mode for editing Haml files in GNU Emacs. The initial release came at a time when Haml was gaining popularity as a cleaner alternative to traditional HTML templating.

### Technical Implementation
The mode is implemented in Emacs Lisp, the native extension language for GNU Emacs. It provides syntax highlighting, proper indentation, and other editing features specifically tailored for Haml's whitespace-sensitive syntax.

### Version History
The project has seen numerous releases since its inception:
- Version 2.0.0 released in May 2008
- Version 2.2.3 released in August 2009
- Version 3.1.10 released in October 2021
- Version 3.2.1 released in March 2023

### Distribution and Availability
haml-mode is distributed through multiple channels:
- GitHub repository at https://github.com/nex3/haml-mode
- NonGNU ELPA package repository since October 2021
- Direct source code downloads

### Licensing and Copyright
The software is released under the Expat license, with Nathan Weizenbaum holding the copyright. This permissive licensing allows for broad use and modification of the software.

## Schema Markup
```json
{
  "@context": "https://schema.org",
  "@type": "SoftwareApplication",
  "name": "haml-mode",
  "description": "Emacs mode for editing Haml files",
  "creator": {
    "@type": "Person",
    "name": "Nathan Weizenbaum"
  },
  "applicationCategory": "DeveloperApplication",
  "license": "Expat",
  "url": "https://github.com/nex3/haml-mode",
  "sameAs": [
    "https://github.com/nex3/haml-mode",
    "https://elpa.nongnu.org/nongnu/haml-mode.html"
  ],
  "softwareVersion": "3.2.1",
  "operatingSystem": "Cross-platform",
  "programmingLanguage": "Emacs Lisp"
}

## References

1. [Haml-Mode version 3.2.1. 2023](https://lists.gnu.org/archive/html/gnu-emacs-sources/2023-03/msg00051.html)
2. [Haml-Mode version 3.1.10. 2021](https://lists.gnu.org/archive/html/gnu-emacs-sources/2021-10/msg00082.html)
3. [Release 2.0.0. 2008](https://github.com/nex3/haml-mode/releases/tag/2.0.0)
4. [Release 2.0.6. 2008](https://github.com/nex3/haml-mode/releases/tag/2.0.6)
5. [Release 2.0.9. 2009](https://github.com/nex3/haml-mode/releases/tag/2.0.9)
6. [Release 2.0.10. 2009](https://github.com/nex3/haml-mode/releases/tag/2.0.10)
7. [Release 2.1.0. 2008](https://github.com/nex3/haml-mode/releases/tag/2.1.0)
8. [Release 2.2.0. 2009](https://github.com/nex3/haml-mode/releases/tag/2.2.0)
9. [Release 2.2.1. 2009](https://github.com/nex3/haml-mode/releases/tag/2.2.1)
10. [Release 2.2.3. 2009](https://github.com/nex3/haml-mode/releases/tag/2.2.3)
11. [Release 2.2.4. 2009](https://github.com/nex3/haml-mode/releases/tag/2.2.4)
12. [Release 2.2.8. 2009](https://github.com/nex3/haml-mode/releases/tag/2.2.8)
13. [Release 2.2.9. 2009](https://github.com/nex3/haml-mode/releases/tag/2.2.9)
14. [Release 2.2.10. 2009](https://github.com/nex3/haml-mode/releases/tag/2.2.10)
15. [Release 2.2.11. 2009](https://github.com/nex3/haml-mode/releases/tag/2.2.11)
16. [Release 2.2.12. 2009](https://github.com/nex3/haml-mode/releases/tag/2.2.12)
17. [Release 2.2.13. 2009](https://github.com/nex3/haml-mode/releases/tag/2.2.13)
18. [Release 2.2.14. 2009](https://github.com/nex3/haml-mode/releases/tag/2.2.14)
19. [Release 2.2.15. 2009](https://github.com/nex3/haml-mode/releases/tag/2.2.15)
20. [Release 2.2.16. 2009](https://github.com/nex3/haml-mode/releases/tag/2.2.16)
21. [Release 2.2.17. 2010](https://github.com/nex3/haml-mode/releases/tag/2.2.17)
22. [Release 2.2.18. 2010](https://github.com/nex3/haml-mode/releases/tag/2.2.18)
23. [Release 2.2.19. 2010](https://github.com/nex3/haml-mode/releases/tag/2.2.19)
24. [Release 2.2.20. 2010](https://github.com/nex3/haml-mode/releases/tag/2.2.20)
25. [Release 2.2.21. 2010](https://github.com/nex3/haml-mode/releases/tag/2.2.21)
26. [Release 2.2.22. 2010](https://github.com/nex3/haml-mode/releases/tag/2.2.22)
27. [Release 2.2.23. 2010](https://github.com/nex3/haml-mode/releases/tag/2.2.23)
28. [Release 2.2.24. 2010](https://github.com/nex3/haml-mode/releases/tag/2.2.24)
29. [Release 3.0.0. 2010](https://github.com/nex3/haml-mode/releases/tag/3.0.0)
30. [Release 3.0.1. 2010](https://github.com/nex3/haml-mode/releases/tag/3.0.1)
31. [Release 3.0.2. 2010](https://github.com/nex3/haml-mode/releases/tag/3.0.2)
32. [Release 3.0.3. 2010](https://github.com/nex3/haml-mode/releases/tag/3.0.3)
33. [Release 3.0.4. 2010](https://github.com/nex3/haml-mode/releases/tag/3.0.4)
34. [Release 3.0.5. 2010](https://github.com/nex3/haml-mode/releases/tag/3.0.5)
35. [Release 3.0.6. 2010](https://github.com/nex3/haml-mode/releases/tag/3.0.6)
36. [Release 3.0.7. 2010](https://github.com/nex3/haml-mode/releases/tag/3.0.7)
37. [Release 3.0.8. 2010](https://github.com/nex3/haml-mode/releases/tag/3.0.8)
38. [Release 3.0.9. 2010](https://github.com/nex3/haml-mode/releases/tag/3.0.9)
39. [Release 3.0.10. 2010](https://github.com/nex3/haml-mode/releases/tag/3.0.10)
40. [Release 3.0.11. 2010](https://github.com/nex3/haml-mode/releases/tag/3.0.11)
41. [Release 3.0.12. 2010](https://github.com/nex3/haml-mode/releases/tag/3.0.12)
42. [Release 3.0.13. 2010](https://github.com/nex3/haml-mode/releases/tag/3.0.13)
43. [Release 3.0.14. 2010](https://github.com/nex3/haml-mode/releases/tag/3.0.14)
44. [Release 3.0.15. 2010](https://github.com/nex3/haml-mode/releases/tag/3.0.15)
45. [Release 3.0.16. 2010](https://github.com/nex3/haml-mode/releases/tag/3.0.16)
46. [Release 3.0.17. 2010](https://github.com/nex3/haml-mode/releases/tag/3.0.17)
47. [Release 3.0.18. 2010](https://github.com/nex3/haml-mode/releases/tag/3.0.18)
48. [Release 3.1.0. 2013](https://github.com/nex3/haml-mode/releases/tag/3.1.0)
49. [Release 3.1.1. 2013](https://github.com/nex3/haml-mode/releases/tag/3.1.1)
50. [Release 3.1.2. 2013](https://github.com/nex3/haml-mode/releases/tag/3.1.2)