Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/kairyou/sublimetmpl

Create File From Templates for SublimeText 2 / SublimeText 3
https://github.com/kairyou/sublimetmpl

snippets sublime sublime-package sublimetmpl templates

Last synced: 4 days ago
JSON representation

Create File From Templates for SublimeText 2 / SublimeText 3

Awesome Lists containing this project

README

        

SublimeTmpl
===========

A Sublime Text 2/3 plugin for create file from templates.

Installation
------------

**Github**

Go to the "Packages" directory (`Preferences` / `Browse Packages`). Then clone this repository:

$ git clone https://github.com/kairyou/SublimeTmpl.git

**Package Control**

Install [Package Control][1]. Then `Package Control: Install Package`, look for `SublimeTmpl` / `tmpl` and install it.

Usage
-----

- Create file with menu
`File - New File (SublimeTmpl)`

- Create file with command
use `cmd+shift+p` then look for `tmpl:`

Settings
--------

Default Settings: `Preferences` > `Packages Settings` > `SublimeTmpl` > `Settings - Default`

Custom settings (**Recommend*): `Preferences` > `Package Settings` > `SublimeTmpl` > `Settings - User`

Default template files: `Packages/SublimeTmpl/templates`

Custom template files (**Recommend**): `Packages/User/SublimeTmpl/templates/`

Project-specific template files (ST3 only): via `settings`: `SublimeTmpl`: `template_folder` key within your sublime-project file (see "Features added" below)

Default key bindings
--------------------

ctrl+alt+h html
ctrl+alt+j javascript
ctrl+alt+c css
ctrl+alt+p php
ctrl+alt+r ruby
ctrl+alt+shift+p python

**Disable shortcuts**

If you’re unhappy with default keymap, you can disable keyboard shortcuts with `disable_keymap_actions` preference of `SublimeTmpl.sublime-settings`.

Use a comma-separated list of action names which default keyboard shortcuts should be disabled. For example, if you want to disable creat `html` and `css` shortcuts, your must set the following value:

"disabled_keymap_actions": "html, css"

To disable all default shortcuts, set value to `all`.

## Features added

- custom template files

> put your custom template files in `Packages/User/SublimeTmpl/templates`
> Project-specific template files can be specified in project files, along with overriding other templating options.

- `*.tmpl` file support `${date}` variable

> default "date_format" : "%Y-%m-%d %H:%M:%S" .

- `*.tmpl` file support `${saved_filename}`, `${saved_filepath}` on save file

> Enable: `SublimeTmpl > settings - user` add `"enable_file_variables_on_save": true,`

- `*.tmpl` file support `${project_base_name}`, `${project_path}` and `${platform}`

NOTE: This will only work with SublimeText 3.0 or above.

> Enable: `SublimeTmpl > settings - user` add `"enable_project_variables": true,`

It is recommended that you put your own custom settings in `settings - user`. Please see note below in "*Detailed Instructions for Sublime Newbies"

- custom variables: `attr`

> custom the attr variables in settings, example:
>
``` json
"attr": {
"author": "Your Name" ,
"email": "[email protected]",
"link": "http://example.org",
"hello": "word"
}
```

> The `*.tmpl` file will support `${author}` `${email}` `${link}` `${hello}` variables.

- Project specific overrides via `SublimeTmpl` attribute in sublime-project file.
>
``` json
"settings":
{
"SublimeTmpl":
{
"template_folder": "Path\\to\\some\\custom\\template\\folder",
"template_replace_pattern": "{{%s}}",
"enable_project_variables": true,
"enable_file_variables_on_save": true,
"attr": { // Fully overrides "attr" settings (i.e. elements missing here will not attempt to be replaced in template)
"author": "Alternative Name"
},
"project_variables": {
// Allows for use with other template formats, provide mapping here
// "tmpl_formatted_name": "current_template_name"
"project_base_name": "projectbase",
"project_path": "projectpath",
"platform": "plat"
},

"file_variables_on_save": {
// Allows for use with other template formats, provide mapping here
// "tmpl_formatted_name": "current_template_name"
"saved_filename": "name",
"saved_filepath": "filepath"
},
},
},
```

*Detailed Instructions for Sublime Newbies
-----------------------------------------

Sublime Text keeps settings in bunch of files in a folder. For example, OS X, it is located at

```/Users/yourusername/Library/Application Support/Sublime Text 3/Packages```

You can navigate to it easily by using the following menu item in Sublime, for example: `Sublime Text>Preferences>Browse Packages`

Now go to `Packages\SublimeTmpl` folder and open the file SublimeTmpl.sublime-settings. Save the file with the same file name under `Packages\User`. Delete everything except the variables that are custom to you. By the time you are finished, the file might look as simple as this (JSON format):
```
{
"attr": {
"author": "Chuck Norris" ,
"email": "[email protected]",
}
}
```

If you don't want the `"link"` and `"hello"` variables to show up, you should copy the (for example) python.tmpl file to `Packages/User/SublimeTmpl/templates` and remove those elements from it.

Contributors
-------
- [View Contributors](https://github.com/kairyou/SublimeTmpl/graphs/contributors)

### Donate
PayPal donate button

FAQ
---
- SublimeTmpl not work after update the package.

Please open `Preferences` / `Settings - User`, remove "SublimeTmpl" from `ignored_packages`.
- Alert message `Replace pattern None doesn't seem to work: unsupported operand type(s) for %: 'NoneType' and 'str'`

Please restart Sublime Text and try again.

--------------------
Source: [https://github.com/kairyou/SublimeTmpl][0]

Docs: [中文文档](https://xhl.me/archives/sublime-template-engine-sublimetmpl/)

[0]: https://github.com/kairyou/SublimeTmpl
[1]: https://packagecontrol.io