power_stencil.yaml 4.41 KB
Newer Older
Laurent B's avatar
Laurent B committed
1
---
Laurent B's avatar
Laurent B committed
2 3 4 5 6 7 8 9 10
# This file defines `power_stencil` executable defaults.
# It can be overridden via various mechanisms (mainly coming from
# the `climatic` gem), so system-wide config file, user config file,
# executable config file, project config file or for some of the
# properties directly from command line.


# PROJECT PATHS

11 12 13 14 15 16
# Default Power Stencil project configuration directory
:default_config_directory_name: .ps_project
# Ignore files for files/directory to completely skip in the process
:ignore_filename_for_files_to_skip: .copy_ignore
# Ignore files for files/directory to simply copy and apply no substitution
:ignore_filename_for_files_to_copy: .subst_ignore
17 18 19
# Ignore files for files/directory to simply copy and apply no renaming (see
# below :file_renaming_patterns: for more info)
:ignore_filename_for_files_to_rename: .rename_ignore
20 21
# Versioned project config file name.
:versioned_project_config_file_name: versioned-config.yaml
Laurent B's avatar
Laurent B committed
22
# Non versioned user's personal project config file name.
23
:unversioned_user_project_config_file_name: personal-config.yaml
24 25
# Entity definitions specific to the project
:project_entity_definitions_directory_name: entity_definitions
26
# Templates templates specific to the project
27
:project_templates_directory_name: templates-templates
Laurent B's avatar
Laurent B committed
28 29
# Directory name where entities are stored
:project_entities_directory_name: entities
Laurent B's avatar
Laurent B committed
30 31
# Directory name where user (unversioned) entities are stored
:user_entities_directory_name: user_entities
Laurent B's avatar
Laurent B committed
32 33
# Directory name where repository plugins are stored
:project_plugins_directory_name: plugins
Laurent B's avatar
Laurent B committed
34 35
# Root directory where builds are generated
:project_build_root_directory_name: build
36 37 38 39
# Versioned entities templates directory
:versioned_entities_templates_directory_name: templates
# Unversioned entities templates directory
:unversioned_user_entities_templates_directory_name: unversioned-templates
40 41 42 43
# Last build link name
:project_build_last_stable_path: last_build
# Previous build link name
:project_build_previous_stable_path: previous_build
Laurent B's avatar
Laurent B committed
44 45 46 47 48 49 50 51 52


# DSL CUSTOMIZATIONS

# Customizations for the shell. Basically defining various behaviors
# of Pry which is the underlying REPL.
:shell_dsl:
  :prompt_level_1: 'PowerStencil DSL> '
  :prompt_level_2: 'PowerStencil DSL --> '
Laurent Briais's avatar
Minor  
Laurent Briais committed
53
  :session_greetings: |+
54
    -------------------------------------------------------------------------------
Laurent B's avatar
Laurent B committed
55 56
     Welcome to the PowerStencil shell session
     In this shell you have access to anything the templating engine has access to.
Laurent Briais's avatar
Minor  
Laurent Briais committed
57
     On top of this, you can view, edit, save and delete entities.
Laurent B's avatar
Laurent B committed
58

59 60
     - Retrieve and manipulate entities using the `entities` hash.
     - Persist your changes using the `save` method on each entity.
Laurent Briais's avatar
Laurent Briais committed
61 62 63
     - Create new project or user entities using `new_<entity_type>` and
       `user_new_<entity_type>` methods (see `available_entity_types` for a list of
       possible types).
Laurent B's avatar
Laurent B committed
64 65
     - And of course, it is a fully fledged Ruby Pry REPL, so you can do anything
       you want...
66 67 68

     Type `exit` to end your session.
    -------------------------------------------------------------------------------
Laurent B's avatar
Laurent B committed
69 70

# TEMPLATING ENGINE
Laurent B's avatar
Laurent B committed
71

Laurent B's avatar
Laurent B committed
72
# Map to define which kind of template engine for which type of file. Be careful if you
Laurent B's avatar
Laurent B committed
73
# overlap two definitions. Warning, it is ruby Regex not shell pattern !
Laurent B's avatar
Laurent B committed
74
:templating_engines_map:
Laurent Briais's avatar
Laurent Briais committed
75 76 77
  # Haml for .haml files
  :haml: '\.haml$'
  # All the rest with ERB
Laurent B's avatar
Laurent B committed
78
  :erb: '.*'
Laurent B's avatar
Laurent B committed
79

80 81
# Files matching particular patterns can be changed on the fly
:file_renaming_patterns:
Laurent Briais's avatar
Minor  
Laurent Briais committed
82 83
  # Specific .gitignore hack for `power_stencil init` as .gitignore should be processed
  # *after* .ps_project
84
  ^(.+)\.zzzgitignore\.erb$: '\1.gitignore'
85 86
  # Erb files
  ^(.+)\.erb$: '\1'
Laurent Briais's avatar
Laurent Briais committed
87 88
  # Haml files
  ^(.+)\.haml$: '\1'
89

Laurent B's avatar
Laurent B committed
90 91 92 93 94 95

# PLUGINS

# Define the property to avoid a nil. It represents the plugins that are provided
# as real Ruby gems. Local plugins defined in the `:project_plugins_directory_name:`
# are automatically discovered and loaded.
Laurent B's avatar
Laurent B committed
96
:project_plugins: []
Laurent B's avatar
Laurent B committed
97

Laurent B's avatar
Laurent B committed
98 99 100 101 102 103 104
# Graphviz

# Customize graphviz properties
:graphviz:
  :label: < Repository Entities <br/> >
  :labelloc: :t
  :show_config: false
Laurent Briais's avatar
Laurent Briais committed
105
  :file_type: :svg
106
  :graph_type: :digraph
Laurent B's avatar
Laurent B committed
107
  :node:
108 109 110
    :shape: box
    :style: filled
    :fillcolor: grey95
Laurent B's avatar
Laurent B committed
111
  :customizations: {}
Laurent B's avatar
Laurent B committed
112

113 114 115 116
# COMPLETION
:completion_target:
  :zsh:
    :completion_dir: ~/.zsh/completion
117
    :project_completion_filename: .zsh_project_completion
118 119 120



Laurent B's avatar
Laurent B committed
121 122 123 124 125 126
# MISC

# Default log level (warn)
:log-level: 2
# Maximum number of retries when editing a file
:max_file_edit_retry_times: 3
127 128
# Integration with git
:no-git: false
Laurent B's avatar
Laurent B committed
129