Crayon Syntax Highlighter - Version 1.14

Version Description

  • All AJAX functions are now using the wp_ajax action and admin-ajax.php method defined here: http://codex.wordpress.org/AJAX_in_Plugins. This means Crayon no longer passes around the wp_load path and doesn't use it as a $_GET variable to load AJAX requests. The security vulnerability in 1.13 is no longer present and that code has been removed.
  • font-size and line-height has been removed from the crayon style CSS and is specified using the settings screen - the custom font size is enabled at 12px. This allows you to disable the custom font size and allow your own CSS to take control of the sizing for you. With the custom size disabled the inherited size is applied, so the code will appear at the size of its parent element based on your wordpress theme.
  • Update functionality has been improved so the CrayonWP update function is only called when an update is detected from a change in the version string, not every time you load the page! If using lower than 1.14 the custom font size setting is enabled for you, since this setting was disabled by default in previous versions.
  • Fixed a bug preventing Tag Editor from showing on the front end (related to the AJAX fix)
  • Moved global js variables to the init functions which are called on ready()
  • Fancybox now uses "fancybox" as the script name and checks if another version is already queued
  • Fixed a bug where post previews were not displaying any Crayon code
  • Fixed an issue with code wrap not reverting when disabled
  • Fixed a bug causing code wrap from distorting the style of the popup
  • Added Erlang thanks to Daniel (adostudio.it)
  • Fixed a bug where languages were parsed too late to pick up language modes
  • Updated German translation.
Download this release

Release Info

Developer akarmenia
Plugin Icon wp plugin Crayon Syntax Highlighter
Version 1.14
Comparing to
See all releases

Code changes from version 1.10.0 to 1.14

Files changed (96) hide show
  1. .gitignore +0 -6
  2. crayon_formatter.class.php +37 -33
  3. crayon_highlighter.class.php +14 -0
  4. crayon_settings.class.php +22 -15
  5. crayon_settings_wp.class.php +320 -149
  6. crayon_wp.class.php +514 -234
  7. css/admin_style.css +8 -201
  8. css/{style.css → crayon_style.css} +49 -20
  9. css/global_style.css +271 -0
  10. css/images/toolbar/wrap.png +0 -0
  11. fonts/droid-sans-mono.css +14 -0
  12. fonts/droid-sans-mono/droid-sans-mono-webfont.eot +0 -0
  13. fonts/droid-sans-mono/droid-sans-mono-webfont.svg +149 -0
  14. fonts/droid-sans-mono/droid-sans-mono-webfont.ttf +0 -0
  15. fonts/droid-sans-mono/droid-sans-mono-webfont.woff +0 -0
  16. fonts/inconsolata.css +14 -0
  17. fonts/inconsolata/inconsolata-webfont.eot +0 -0
  18. fonts/inconsolata/inconsolata-webfont.svg +147 -0
  19. fonts/inconsolata/inconsolata-webfont.ttf +0 -0
  20. fonts/inconsolata/inconsolata-webfont.woff +0 -0
  21. fonts/liberation-mono.css +14 -0
  22. fonts/liberation-mono/liberation-mono-webfont.eot +0 -0
  23. fonts/liberation-mono/liberation-mono-webfont.svg +153 -0
  24. fonts/liberation-mono/liberation-mono-webfont.ttf +0 -0
  25. fonts/liberation-mono/liberation-mono-webfont.woff +0 -0
  26. fonts/ubuntu-mono.css +14 -0
  27. fonts/ubuntu-mono/ubuntu-mono-webfont.eot +0 -0
  28. fonts/ubuntu-mono/ubuntu-mono-webfont.svg +146 -0
  29. fonts/ubuntu-mono/ubuntu-mono-webfont.ttf +0 -0
  30. fonts/ubuntu-mono/ubuntu-mono-webfont.woff +0 -0
  31. global.php +27 -10
  32. js/crayon.js +174 -70
  33. js/crayon_admin.js +35 -36
  34. js/fancybox/fancybox_loading.gif +0 -0
  35. js/fancybox/fancybox_overlay.png +0 -0
  36. js/fancybox/fancybox_sprite.png +0 -0
  37. js/fancybox/jquery.fancybox.css +246 -0
  38. js/fancybox/jquery.fancybox.pack.js +44 -0
  39. js/jquery.popup.js +1 -0
  40. js/util.js +27 -28
  41. langs/applescript/.DS_Store +0 -0
  42. langs/default/type.txt +1 -0
  43. langs/delphi/.DS_Store +0 -0
  44. langs/diff/diff.txt +13 -0
  45. langs/erlang/erlang.txt +24 -0
  46. langs/erlang/modifier.txt +3 -0
  47. langs/erlang/operators.txt +38 -0
  48. langs/erlang/statements.txt +11 -0
  49. langs/extensions.txt +1 -0
  50. langs/go/go.txt +25 -0
  51. langs/go/reserved.txt +3 -0
  52. langs/miva/miva.txt +23 -0
  53. langs/reg/operator.txt +2 -0
  54. langs/reg/reg.txt +14 -0
  55. langs/reg/rootkeys.txt +12 -0
  56. langs/reg/type.txt +2 -0
  57. langs/reg/version.txt +2 -0
  58. langs/tsql/keyword.txt +357 -0
  59. langs/tsql/operator.txt +14 -0
  60. langs/tsql/procedure.txt +483 -0
  61. langs/tsql/tsql.txt +21 -0
  62. langs/tsql/type.txt +14 -0
  63. log.txt +0 -0
  64. readme.txt +123 -33
  65. themes/ado/ado.css +172 -0
  66. themes/classic-spaced/classic-spaced.css +190 -0
  67. trans/crayon-syntax-highlighter-de_DE.mo +0 -0
  68. trans/crayon-syntax-highlighter-de_DE.po +292 -193
  69. trans/crayon-syntax-highlighter-es_ES.mo +0 -0
  70. trans/crayon-syntax-highlighter-es_ES.po +363 -530
  71. trans/crayon-syntax-highlighter-ru_RU.mo +0 -0
  72. trans/crayon-syntax-highlighter-ru_RU.po +327 -218
  73. trans/crayon-syntax-highlighter-tr_TR.mo +0 -0
  74. trans/crayon-syntax-highlighter-tr_TR.po +320 -220
  75. util/ajax.php +6 -8
  76. util/crayon_log.class.php +1 -1
  77. util/crayon_util.class.php +50 -0
  78. util/help.htm +1 -1
  79. util/list_langs.php +3 -0
  80. util/list_posts.php +27 -0
  81. util/preview.php +3 -2
  82. util/sample/diff.txt +9 -0
  83. util/sample/erlang.txt +12 -0
  84. util/sample/go.txt +11 -0
  85. util/sample/reg.txt +7 -0
  86. util/sample/tsql.txt +4 -0
  87. util/scraper/file_concat.py +21 -0
  88. util/scraper/keyword_join.py +26 -0
  89. util/scraper/keyword_scraper.py +73 -0
  90. util/scraper/keyword_scraper_tool.py +18 -0
  91. util/tag-editor/crayon_qt.js +30 -24
  92. util/tag-editor/crayon_tag_editor_wp.class.php +205 -41
  93. util/tag-editor/crayon_te.js +583 -557
  94. util/tag-editor/crayon_te_content.php +0 -133
  95. util/tag-editor/crayon_tinymce.js +174 -171
  96. util/theme-editor/theme_editor_content.php +3 -3
.gitignore DELETED
@@ -1,6 +0,0 @@
1
- .svn
2
- # .project
3
- Thumbs.db
4
- .DS_Store*
5
- # .settings
6
- # .buildpath
 
 
 
 
 
 
crayon_formatter.class.php CHANGED
@@ -81,6 +81,15 @@ class CrayonFormatter {
81
  public static function print_code($hl, $code, $line_numbers = TRUE, $print = TRUE) {
82
  global $CRAYON_VERSION;
83
 
 
 
 
 
 
 
 
 
 
84
  // We can print either block or inline, inline is treated differently, factor out common stuff here
85
  $output = '';
86
  // Used for style tag
@@ -106,7 +115,6 @@ class CrayonFormatter {
106
  // Inline margin
107
  if ($hl->is_inline()) {
108
  $inline_margin = $hl->setting_val(CrayonSettings::INLINE_MARGIN) . 'px !important;';
109
- //$output .= '<style type="text/css" media="all">' . "#$uid { margin: 0 {$inline_margin} }</style>";
110
  }
111
 
112
  // Determine font size
@@ -116,36 +124,24 @@ class CrayonFormatter {
116
  $font_height = $font_size * 1.25 . 'px !important;';
117
  $toolbar_height = $font_size * 1.5 . 'px !important;';
118
  $info_height = $font_size * 1.25 . 'px !important;';
119
- //$font_style .= "#$uid * { font-size: $font_size line-height: $font_height }";
120
 
121
  $font_style .= "font-size: $font_size line-height: $font_height";
122
- // $inline_font_style .= "font-size: $font_size line-height: $font_height";
123
  $line_style .= "height: $font_height";
124
 
125
  if ($hl->is_inline()) {
126
- //$font_style .= "#$uid { font-size: $font_size }\n";
127
  $font_style .= "font-size: $font_size";
128
  } else {
129
- //$font_style .= "#$uid .crayon-toolbar, #$uid .crayon-toolbar * { height: $toolbar_height line-height: $toolbar_height }\n";
130
  $toolbar_style .= "height: $toolbar_height line-height: $toolbar_height";
131
  $info_style .= "min-height: $info_height line-height: $info_height";
132
- // $font_style .= "#$uid .crayon-num, #$uid .crayon-line, #$uid .crayon-toolbar a.crayon-button { height: $font_height }\n";
133
  }
134
  } else if (!$hl->is_inline()) {
135
  if (($font_size = CrayonGlobalSettings::get(CrayonSettings::FONT_SIZE)) !== FALSE) {
136
  $font_size = $font_size->def() . 'px !important;';
137
  $font_height = ($font_size + 4) . 'px !important;';
138
- // Correct font CSS for WP 3.3
139
- // $font_style .= "#$uid .crayon-plain { font-size: $font_size line-height: $font_height }";
140
  }
141
  }
142
 
143
- // Produce style for individual crayon
144
- // TODO
145
- if (!empty($font_style)) {
146
- //$output .= '<style type="text/css" media="all">'.$font_style.'</style>';
147
- }
148
-
149
  // This will return from function with inline print
150
  if ($hl->is_inline()) {
151
  $wrap = !$hl->setting_val(CrayonSettings::INLINE_WRAP) ? 'crayon-syntax-inline-nowrap' : '';
@@ -167,7 +163,16 @@ class CrayonFormatter {
167
  $start_line = $hl->setting_val(CrayonSettings::START_LINE);
168
  $marking = $hl->setting_val(CrayonSettings::MARKING);
169
  $striped = $hl->setting_val(CrayonSettings::STRIPED);
 
170
  for ($i = 1; $i <= $hl->line_count(); $i++) {
 
 
 
 
 
 
 
 
171
  $code_line = $code_lines[0][$i - 1];
172
  // Check if the current line has been selected
173
  $marked_lines = $hl->marked();
@@ -197,9 +202,10 @@ class CrayonFormatter {
197
  }
198
  // Generate the lines
199
  $line_num = $start_line + $i - 1;
200
- $print_code .= '<div class="crayon-line' . $marked_line . $striped_line . '" id="'. $uid .'-' . $line_num . '" style="'.$line_style.'">' . $code_line . '</div>';
 
201
  if (!is_string($line_numbers)) {
202
- $print_nums .= '<div class="crayon-num' . $marked_num . $striped_num . '" style="'.$line_style.'">' . $line_num . '</div>';
203
  }
204
  }
205
  // If $line_numbers is a string, display it
@@ -267,20 +273,17 @@ class CrayonFormatter {
267
  }
268
 
269
  $print_plain_button = $hl->setting_val(CrayonSettings::PLAIN_TOGGLE) ? '<a class="crayon-plain-button crayon-button" title="'.crayon__('Toggle Plain Code').'"></a>' : '';
 
270
  $print_copy_button = !$touch && $hl->setting_val(CrayonSettings::PLAIN) && $hl->setting_val(CrayonSettings::COPY) ?
271
  '<a class="crayon-copy-button crayon-button" data-text="'.crayon__('Press %s to Copy, %s to Paste').'" title="'.crayon__('Copy Plain Code').'"></a>' : '';
272
  $print_popup_button = $hl->setting_val(CrayonSettings::POPUP) ?
273
  '<a class="crayon-popup-button crayon-button" title="'.crayon__('Open Code In New Window').'" onclick="return false;"></a>' : '';
274
 
275
- if ($hl->setting_val(CrayonSettings::NUMS_TOGGLE)) {
276
- $print_nums_button = '<a class="crayon-nums-button crayon-button" title="'.crayon__('Toggle Line Numbers').'"></a>';
277
- } else {
278
- $print_nums_button = '';
279
- }
280
  /* The table is rendered invisible by CSS and enabled with JS when asked to. If JS
281
  is not enabled or fails, the toolbar won't work so there is no point to display it. */
282
- $print_plus = $hl->setting_val(CrayonSettings::MIXED) && $hl->setting_val(CrayonSettings::SHOW_MIXED) ? '<span class="crayon-mixed-highlight" title="'.crayon__('Contains Mixed Languages').'"></span>' : '';
283
- $buttons = $print_plus.$print_nums_button.$print_copy_button.$print_popup_button.$print_plain_button.$print_lang;
284
  $toolbar = '
285
  <div class="crayon-toolbar" data-settings="'.$toolbar_settings.'" style="'.$toolbar_style.'">'.$print_title.'
286
  <div class="crayon-tools">'.$buttons.'</div></div>
@@ -313,8 +316,8 @@ class CrayonFormatter {
313
  $plain_style = "-moz-tab-size:$tab; -o-tab-size:$tab; -webkit-tab-size:$tab; tab-size:$tab;";
314
  $readonly = $touch ? '' : 'readonly';
315
  $print_plain = $print_plain_button = '';
316
- // TODO remove wrap
317
- $print_plain = '<textarea wrap="off" class="crayon-plain print-no" data-settings="' . $plain_settings . '" '. $readonly .' style="' . $plain_style .' '. $font_style . '">' . self::clean_code($hl->code()) . '</textarea>';
318
  } else {
319
  $print_plain = $plain_settings = $plain_settings = '';
320
  }
@@ -335,6 +338,11 @@ class CrayonFormatter {
335
  $code_settings .= ' disable-anim';
336
  }
337
 
 
 
 
 
 
338
  // Determine dimensions
339
  if ($hl->setting_val(CrayonSettings::HEIGHT_SET)) {
340
  $height_style = self::dimension_style($hl, CrayonSettings::HEIGHT);
@@ -516,12 +524,14 @@ class CrayonFormatter {
516
  }
517
 
518
  /* Converts the code to entities and wraps in a <pre><code></code></pre> */
519
- public static function plain_code($code) {
520
  if (is_array($code)) {
521
  // When used as a preg_replace_callback
522
  $code = $code[1];
523
  }
524
- $code = CrayonUtil::htmlentities($code);
 
 
525
  if (CrayonGlobalSettings::val(CrayonSettings::TRIM_WHITESPACE)) {
526
  $code = trim($code);
527
  }
@@ -529,13 +539,7 @@ class CrayonFormatter {
529
  }
530
 
531
  public static function split_lines($code, $class) {
532
-
533
- // var_dump($code);
534
- // exit;
535
-
536
  $code = self::clean_code($code, TRUE, TRUE, TRUE, FALSE);
537
- // $code = preg_replace('#^[^\r\n]+#m', '<span class="'.$class.'">', $code);
538
- // $code = preg_replace('#(?<=[^\r\n])(?=\r\n|\r|\n)#m', '</span>', $code);
539
  $code = preg_replace('#^([^\r\n]+)(?=\r\n|\r|\n|$)#m', '<span class="'.$class.'">$1</span>', $code);
540
  return $code;
541
  }
81
  public static function print_code($hl, $code, $line_numbers = TRUE, $print = TRUE) {
82
  global $CRAYON_VERSION;
83
 
84
+ $before = $hl->setting_val(CrayonSettings::WHITESPACE_BEFORE);
85
+ if ($before > 0) {
86
+ $code = str_repeat("\n", $before) . $code;
87
+ }
88
+ $after = $hl->setting_val(CrayonSettings::WHITESPACE_AFTER);
89
+ if ($after > 0) {
90
+ $code = $code . str_repeat("\n", $after);
91
+ }
92
+
93
  // We can print either block or inline, inline is treated differently, factor out common stuff here
94
  $output = '';
95
  // Used for style tag
115
  // Inline margin
116
  if ($hl->is_inline()) {
117
  $inline_margin = $hl->setting_val(CrayonSettings::INLINE_MARGIN) . 'px !important;';
 
118
  }
119
 
120
  // Determine font size
124
  $font_height = $font_size * 1.25 . 'px !important;';
125
  $toolbar_height = $font_size * 1.5 . 'px !important;';
126
  $info_height = $font_size * 1.25 . 'px !important;';
 
127
 
128
  $font_style .= "font-size: $font_size line-height: $font_height";
 
129
  $line_style .= "height: $font_height";
130
 
131
  if ($hl->is_inline()) {
 
132
  $font_style .= "font-size: $font_size";
133
  } else {
 
134
  $toolbar_style .= "height: $toolbar_height line-height: $toolbar_height";
135
  $info_style .= "min-height: $info_height line-height: $info_height";
136
+
137
  }
138
  } else if (!$hl->is_inline()) {
139
  if (($font_size = CrayonGlobalSettings::get(CrayonSettings::FONT_SIZE)) !== FALSE) {
140
  $font_size = $font_size->def() . 'px !important;';
141
  $font_height = ($font_size + 4) . 'px !important;';
 
 
142
  }
143
  }
144
 
 
 
 
 
 
 
145
  // This will return from function with inline print
146
  if ($hl->is_inline()) {
147
  $wrap = !$hl->setting_val(CrayonSettings::INLINE_WRAP) ? 'crayon-syntax-inline-nowrap' : '';
163
  $start_line = $hl->setting_val(CrayonSettings::START_LINE);
164
  $marking = $hl->setting_val(CrayonSettings::MARKING);
165
  $striped = $hl->setting_val(CrayonSettings::STRIPED);
166
+ $range = $hl->setting_val(CrayonSettings::RANGES) ? $hl->range() : FALSE;
167
  for ($i = 1; $i <= $hl->line_count(); $i++) {
168
+ // Check if the current line is in the range of code to display
169
+ if ($range){
170
+ if ($i < $range[0]) {
171
+ continue;
172
+ } else if ($i > $range[1]) {
173
+ break;
174
+ }
175
+ }
176
  $code_line = $code_lines[0][$i - 1];
177
  // Check if the current line has been selected
178
  $marked_lines = $hl->marked();
202
  }
203
  // Generate the lines
204
  $line_num = $start_line + $i - 1;
205
+ $line_id = $uid.'-' . $line_num;
206
+ $print_code .= '<div class="crayon-line' . $marked_line . $striped_line . '" id="'.$line_id.'">' . $code_line . '</div>';
207
  if (!is_string($line_numbers)) {
208
+ $print_nums .= '<div class="crayon-num' . $marked_num . $striped_num . '" data-line="'.$line_id.'">' . $line_num . '</div>';
209
  }
210
  }
211
  // If $line_numbers is a string, display it
273
  }
274
 
275
  $print_plain_button = $hl->setting_val(CrayonSettings::PLAIN_TOGGLE) ? '<a class="crayon-plain-button crayon-button" title="'.crayon__('Toggle Plain Code').'"></a>' : '';
276
+ $print_wrap_button = $hl->setting_val(CrayonSettings::WRAP_TOGGLE) ? '<a class="crayon-wrap-button crayon-button" title="'.crayon__('Toggle Line Wrap').'"></a>' : '';
277
  $print_copy_button = !$touch && $hl->setting_val(CrayonSettings::PLAIN) && $hl->setting_val(CrayonSettings::COPY) ?
278
  '<a class="crayon-copy-button crayon-button" data-text="'.crayon__('Press %s to Copy, %s to Paste').'" title="'.crayon__('Copy Plain Code').'"></a>' : '';
279
  $print_popup_button = $hl->setting_val(CrayonSettings::POPUP) ?
280
  '<a class="crayon-popup-button crayon-button" title="'.crayon__('Open Code In New Window').'" onclick="return false;"></a>' : '';
281
 
282
+ $print_nums_button = $hl->setting_val(CrayonSettings::NUMS_TOGGLE) ? '<a class="crayon-nums-button crayon-button" title="'.crayon__('Toggle Line Numbers').'"></a>' : '';
 
 
 
 
283
  /* The table is rendered invisible by CSS and enabled with JS when asked to. If JS
284
  is not enabled or fails, the toolbar won't work so there is no point to display it. */
285
+ $print_plus = $hl->is_mixed() && $hl->setting_val(CrayonSettings::SHOW_MIXED) ? '<span class="crayon-mixed-highlight" title="'.crayon__('Contains Mixed Languages').'"></span>' : '';
286
+ $buttons = $print_plus.$print_nums_button.$print_wrap_button.$print_copy_button.$print_popup_button.$print_plain_button.$print_lang;
287
  $toolbar = '
288
  <div class="crayon-toolbar" data-settings="'.$toolbar_settings.'" style="'.$toolbar_style.'">'.$print_title.'
289
  <div class="crayon-tools">'.$buttons.'</div></div>
316
  $plain_style = "-moz-tab-size:$tab; -o-tab-size:$tab; -webkit-tab-size:$tab; tab-size:$tab;";
317
  $readonly = $touch ? '' : 'readonly';
318
  $print_plain = $print_plain_button = '';
319
+ $textwrap = !$hl->setting_val(CrayonSettings::WRAP) ? 'wrap="off"' : '';
320
+ $print_plain = '<textarea '.$textwrap.' class="crayon-plain print-no" data-settings="' . $plain_settings . '" '. $readonly .' style="' . $plain_style .' '. $font_style . '">' . self::clean_code($hl->code()) . '</textarea>';
321
  } else {
322
  $print_plain = $plain_settings = $plain_settings = '';
323
  }
338
  $code_settings .= ' disable-anim';
339
  }
340
 
341
+ // Wrap
342
+ if ($hl->setting_val(CrayonSettings::WRAP)) {
343
+ $code_settings .= ' wrap';
344
+ }
345
+
346
  // Determine dimensions
347
  if ($hl->setting_val(CrayonSettings::HEIGHT_SET)) {
348
  $height_style = self::dimension_style($hl, CrayonSettings::HEIGHT);
524
  }
525
 
526
  /* Converts the code to entities and wraps in a <pre><code></code></pre> */
527
+ public static function plain_code($code, $encoded = TRUE) {
528
  if (is_array($code)) {
529
  // When used as a preg_replace_callback
530
  $code = $code[1];
531
  }
532
+ if (!$encoded) {
533
+ $code = CrayonUtil::htmlentities($code);
534
+ }
535
  if (CrayonGlobalSettings::val(CrayonSettings::TRIM_WHITESPACE)) {
536
  $code = trim($code);
537
  }
539
  }
540
 
541
  public static function split_lines($code, $class) {
 
 
 
 
542
  $code = self::clean_code($code, TRUE, TRUE, TRUE, FALSE);
 
 
543
  $code = preg_replace('#^([^\r\n]+)(?=\r\n|\r|\n|$)#m', '<span class="'.$class.'">$1</span>', $code);
544
  return $code;
545
  }
crayon_highlighter.class.php CHANGED
@@ -17,6 +17,7 @@ class CrayonHighlighter {
17
  private $title = '';
18
  private $line_count = 0;
19
  private $marked_lines = array();
 
20
  private $error = '';
21
  // Determine whether the code needs to be loaded, parsed or formatted
22
  private $needs_load = FALSE;
@@ -179,6 +180,7 @@ class CrayonHighlighter {
179
  $this->code = $code;
180
 
181
  // Allow mixed if langauge supports it and setting is set
 
182
  if (!$this->setting_val(CrayonSettings::MIXED) || !$this->language->mode(CrayonParser::ALLOW_MIXED)) {
183
  // Format the code with the generated regex and elements
184
  $this->formatted_code = CrayonFormatter::format_code($code, $this->language, $this);
@@ -313,6 +315,18 @@ class CrayonHighlighter {
313
  }
314
  return CrayonUtil::arr($this->marked_lines, $lines);
315
  }
 
 
 
 
 
 
 
 
 
 
 
 
316
 
317
  function log($var) {
318
  if ($this->setting_val(CrayonSettings::ERROR_LOG)) {
17
  private $title = '';
18
  private $line_count = 0;
19
  private $marked_lines = array();
20
+ private $range = NULL;
21
  private $error = '';
22
  // Determine whether the code needs to be loaded, parsed or formatted
23
  private $needs_load = FALSE;
180
  $this->code = $code;
181
 
182
  // Allow mixed if langauge supports it and setting is set
183
+ CrayonParser::parse($this->language->id());
184
  if (!$this->setting_val(CrayonSettings::MIXED) || !$this->language->mode(CrayonParser::ALLOW_MIXED)) {
185
  // Format the code with the generated regex and elements
186
  $this->formatted_code = CrayonFormatter::format_code($code, $this->language, $this);
315
  }
316
  return CrayonUtil::arr($this->marked_lines, $lines);
317
  }
318
+
319
+ function range($str = NULL) {
320
+ if ($str === NULL) {
321
+ return $this->range;
322
+ } else {
323
+ $range = CrayonUtil::range_str_single($str);
324
+ if ($range) {
325
+ $this->range = $range;
326
+ }
327
+ }
328
+ return FALSE;
329
+ }
330
 
331
  function log($var) {
332
  if ($this->setting_val(CrayonSettings::ERROR_LOG)) {
crayon_settings.class.php CHANGED
@@ -59,6 +59,8 @@ class CrayonSettings {
59
  const NUMS = 'nums';
60
  const NUMS_TOGGLE = 'nums-toggle';
61
  const TRIM_WHITESPACE = 'trim-whitespace';
 
 
62
  const TAB_SIZE = 'tab-size';
63
  const FALLBACK_LANG = 'fallback-lang';
64
  const LOCAL_PATH = 'local-path';
@@ -93,11 +95,14 @@ class CrayonSettings {
93
  const COMMENTS = 'comments';
94
  const DECODE = 'decode';
95
  const DECODE_ATTRIBUTES = 'decode-attributes';
96
- const TINYMCE_USED = 'tinymce-used';
97
  const ATTR_SEP = 'attr-sep';
98
  const EXCERPT_STRIP = 'excerpt-strip';
99
- // const TINYMCE_LINE_BREAK = 'tinymce-line-break';
100
- // const TINYMCE_ADD_OVERRIDDEN = 'tinymce-add-overridden';
 
 
 
101
 
102
  private static $cache_array;
103
 
@@ -143,7 +148,7 @@ class CrayonSettings {
143
  new CrayonSetting(self::VERSION, $CRAYON_VERSION, NULL, TRUE),
144
  new CrayonSetting(self::THEME, CrayonThemes::DEFAULT_THEME),
145
  new CrayonSetting(self::FONT, CrayonFonts::DEFAULT_FONT),
146
- new CrayonSetting(self::FONT_SIZE_ENABLE, FALSE),
147
  new CrayonSetting(self::FONT_SIZE, 12),
148
  new CrayonSetting(self::PREVIEW, TRUE),
149
  new CrayonSetting(self::HEIGHT_SET, FALSE),
@@ -177,7 +182,9 @@ class CrayonSettings {
177
  new CrayonSetting(self::START_LINE, 1),
178
  new CrayonSetting(self::NUMS, TRUE),
179
  new CrayonSetting(self::NUMS_TOGGLE, TRUE),
180
- new CrayonSetting(self::TRIM_WHITESPACE, TRUE),
 
 
181
  new CrayonSetting(self::TAB_SIZE, 4),
182
  new CrayonSetting(self::FALLBACK_LANG, CrayonLangs::DEFAULT_LANG),
183
  new CrayonSetting(self::LOCAL_PATH, ''),
@@ -213,11 +220,14 @@ class CrayonSettings {
213
  new CrayonSetting(self::COMMENTS, TRUE),
214
  new CrayonSetting(self::DECODE, FALSE),
215
  new CrayonSetting(self::DECODE_ATTRIBUTES, TRUE),
216
- new CrayonSetting(self::TINYMCE_USED, FALSE),
217
  new CrayonSetting(self::ATTR_SEP, array(':', '_')),
218
  new CrayonSetting(self::EXCERPT_STRIP, FALSE),
219
- // new CrayonSetting(self::TINYMCE_LINE_BREAK, array(crayon__('Before & After'), crayon__('After'), crayon__('Before'), crayon__('None'))),
220
- // new CrayonSetting(self::TINYMCE_ADD_OVERRIDDEN, TRUE),
 
 
 
221
  );
222
 
223
  $this->set($settings);
@@ -390,11 +400,11 @@ class CrayonSettings {
390
  return '';
391
  }
392
  // Validations
393
- if ($name == CrayonSettings::HEIGHT || $name == CrayonSettings::WIDTH) {
394
- if ($value < 0) {
395
- $value = 0;
396
- }
397
  }
 
398
  switch ($name) {
399
  case CrayonSettings::LOCAL_PATH:
400
  $path = parse_url($value, PHP_URL_PATH);
@@ -407,9 +417,6 @@ class CrayonSettings {
407
  $path .= '/';
408
  }
409
  return $path;
410
- case CrayonSettings::TAB_SIZE:
411
- $value = abs($value);
412
- break;
413
  case CrayonSettings::FONT_SIZE:
414
  if ($value < 1) {
415
  $value = 1;
59
  const NUMS = 'nums';
60
  const NUMS_TOGGLE = 'nums-toggle';
61
  const TRIM_WHITESPACE = 'trim-whitespace';
62
+ const WHITESPACE_BEFORE = 'whitespace-before';
63
+ const WHITESPACE_AFTER = 'whitespace-after';
64
  const TAB_SIZE = 'tab-size';
65
  const FALLBACK_LANG = 'fallback-lang';
66
  const LOCAL_PATH = 'local-path';
95
  const COMMENTS = 'comments';
96
  const DECODE = 'decode';
97
  const DECODE_ATTRIBUTES = 'decode-attributes';
98
+ // const TINYMCE_USED = 'tinymce-used';
99
  const ATTR_SEP = 'attr-sep';
100
  const EXCERPT_STRIP = 'excerpt-strip';
101
+ const RANGES = 'ranges';
102
+ const TAG_EDITOR_FRONT = 'tag-editor-front';
103
+ const TAG_EDITOR_SETTINGS = 'tag-editor-front-hide';
104
+ const WRAP_TOGGLE = 'wrap-toggle';
105
+ const WRAP = 'wrap';
106
 
107
  private static $cache_array;
108
 
148
  new CrayonSetting(self::VERSION, $CRAYON_VERSION, NULL, TRUE),
149
  new CrayonSetting(self::THEME, CrayonThemes::DEFAULT_THEME),
150
  new CrayonSetting(self::FONT, CrayonFonts::DEFAULT_FONT),
151
+ new CrayonSetting(self::FONT_SIZE_ENABLE, TRUE),
152
  new CrayonSetting(self::FONT_SIZE, 12),
153
  new CrayonSetting(self::PREVIEW, TRUE),
154
  new CrayonSetting(self::HEIGHT_SET, FALSE),
182
  new CrayonSetting(self::START_LINE, 1),
183
  new CrayonSetting(self::NUMS, TRUE),
184
  new CrayonSetting(self::NUMS_TOGGLE, TRUE),
185
+ new CrayonSetting(self::TRIM_WHITESPACE, TRUE),
186
+ new CrayonSetting(self::WHITESPACE_BEFORE, 0),
187
+ new CrayonSetting(self::WHITESPACE_AFTER, 0),
188
  new CrayonSetting(self::TAB_SIZE, 4),
189
  new CrayonSetting(self::FALLBACK_LANG, CrayonLangs::DEFAULT_LANG),
190
  new CrayonSetting(self::LOCAL_PATH, ''),
220
  new CrayonSetting(self::COMMENTS, TRUE),
221
  new CrayonSetting(self::DECODE, FALSE),
222
  new CrayonSetting(self::DECODE_ATTRIBUTES, TRUE),
223
+ // new CrayonSetting(self::TINYMCE_USED, FALSE),
224
  new CrayonSetting(self::ATTR_SEP, array(':', '_')),
225
  new CrayonSetting(self::EXCERPT_STRIP, FALSE),
226
+ new CrayonSetting(self::RANGES, TRUE),
227
+ new CrayonSetting(self::TAG_EDITOR_FRONT, TRUE),
228
+ new CrayonSetting(self::TAG_EDITOR_SETTINGS, TRUE),
229
+ new CrayonSetting(self::WRAP_TOGGLE, TRUE),
230
+ new CrayonSetting(self::WRAP, FALSE)
231
  );
232
 
233
  $this->set($settings);
400
  return '';
401
  }
402
  // Validations
403
+ $pos_names = array(CrayonSettings::TAB_SIZE, CrayonSettings::HEIGHT, CrayonSettings::WIDTH, CrayonSettings::WHITESPACE_AFTER, CrayonSettings::WHITESPACE_BEFORE);
404
+ if ( in_array($name, $pos_names) && $value < 0 ) {
405
+ $value = abs($value);
 
406
  }
407
+
408
  switch ($name) {
409
  case CrayonSettings::LOCAL_PATH:
410
  $path = parse_url($value, PHP_URL_PATH);
417
  $path .= '/';
418
  }
419
  return $path;
 
 
 
420
  case CrayonSettings::FONT_SIZE:
421
  if ($value < 1) {
422
  $value = 1;
crayon_settings_wp.class.php CHANGED
@@ -7,7 +7,7 @@ require_once (CRAYON_SETTINGS_PHP);
7
 
8
  /* Manages global settings within WP and integrates them with CrayonSettings.
9
  CrayonHighlighter and any non-WP classes will only use CrayonSettings to separate
10
- the implementation of global settings and ensure any system can use them. */
11
  class CrayonSettingsWP {
12
  // Properties and Constants ===============================================
13
 
@@ -21,7 +21,7 @@ class CrayonSettingsWP {
21
  private static $js_settings = NULL;
22
  private static $admin_page = '';
23
  private static $is_fully_loaded = FALSE;
24
-
25
  const SETTINGS = 'crayon_fields';
26
  const FIELDS = 'crayon_settings';
27
  const OPTIONS = 'crayon_options';
@@ -30,13 +30,14 @@ class CrayonSettingsWP {
30
  const GENERAL = 'crayon_general';
31
  const DEBUG = 'crayon_debug';
32
  const ABOUT = 'crayon_about';
33
-
34
  // Used on submit
35
  const LOG_CLEAR = 'log_clear';
36
  const LOG_EMAIL_ADMIN = 'log_email_admin';
37
  const LOG_EMAIL_DEV = 'log_email_dev';
38
 
39
- private function __construct() {}
 
40
 
41
  // Methods ================================================================
42
 
@@ -48,9 +49,11 @@ class CrayonSettingsWP {
48
  register_setting(self::FIELDS, self::OPTIONS, 'CrayonSettingsWP::settings_validate');
49
  add_action("admin_head-$admin_page", 'CrayonSettingsWP::admin_init');
50
  // Register settings for post page
 
 
51
  add_action("admin_print_styles-post-new.php", 'CrayonSettingsWP::admin_styles');
52
  add_action("admin_print_styles-post.php", 'CrayonSettingsWP::admin_styles');
53
-
54
  // TODO depreciated since WP 3.3, remove eventually
55
  global $wp_version;
56
  if ($wp_version >= '3.3') {
@@ -59,9 +62,11 @@ class CrayonSettingsWP {
59
  add_filter('contextual_help', 'CrayonSettingsWP::cont_help', 10, 3);
60
  }
61
  }
62
-
63
  public static function admin_styles() {
64
  global $CRAYON_VERSION;
 
 
65
  wp_enqueue_style('crayon_admin_style', plugins_url(CRAYON_STYLE_ADMIN, __FILE__), array(), $CRAYON_VERSION);
66
  wp_enqueue_style('crayon_theme_editor_style', plugins_url(CRAYON_THEME_EDITOR_STYLE, __FILE__), array(), $CRAYON_VERSION);
67
  }
@@ -79,32 +84,33 @@ class CrayonSettingsWP {
79
  // XXX Must come after
80
  self::init_js_settings();
81
  }
82
-
83
  public static function init_js_settings() {
84
- // TODO Create a global CrayonSyntaxSettings object here
85
  self::load_settings(TRUE);
86
  if (!self::$js_settings) {
87
  self::$js_settings = array(
 
 
88
  'prefix' => CrayonSettings::PREFIX,
89
  'setting' => CrayonSettings::SETTING,
90
  'selected' => CrayonSettings::SETTING_SELECTED,
91
  'changed' => CrayonSettings::SETTING_CHANGED,
92
  'special' => CrayonSettings::SETTING_SPECIAL,
93
- 'orig_value' => CrayonSettings::SETTING_ORIG_VALUE
94
- );
95
  }
96
- wp_localize_script('crayon_admin_js', 'CrayonSyntaxSettings', self::$js_settings);
97
- CrayonThemeEditorWP::admin_scripts();
98
  }
99
 
100
  public static function settings() {
101
  if (!current_user_can('manage_options')) {
102
  wp_die(crayon__('You do not have sufficient permissions to access this page.'));
103
  }
104
-
105
  // Go through and find all Crayons in posts on each reload
106
  self::scan_and_save_posts();
107
-
108
  ?>
109
 
110
  <script type="text/javascript">
@@ -113,14 +119,19 @@ class CrayonSettingsWP {
113
  });
114
  </script>
115
 
116
-
117
  <div id="crayon-main-wrap" class="wrap">
118
 
119
- <div id="icon-options-general" class="icon32"><br>
120
- </div>
121
- <h2>Crayon Syntax Highlighter <?php crayon_e('Settings'); ?></h2>
122
- <?php self::help(); ?>
123
- <form action="options.php" method="post"><?php
 
 
 
 
 
124
  settings_fields(self::FIELDS);
125
  ?>
126
 
@@ -128,20 +139,25 @@ class CrayonSettingsWP {
128
  do_settings_sections(self::SETTINGS);
129
  ?>
130
 
131
- <p class="submit"><input type="submit" name="submit" id="submit"
132
- class="button-primary" value="<?php
 
133
  crayon_e('Save Changes');
134
  ?>"> <input type="submit"
135
- name="<?php
136
  echo self::OPTIONS;
137
  ?>[reset]" id="reset"
138
- class="button-primary" value="<?php
 
139
  crayon_e('Reset Settings');
140
- ?>"></p>
141
- </form>
 
142
  </div>
143
 
144
- <div id="crayon-theme-editor-wrap" class="wrap" url="<?php echo plugins_url(CRAYON_THEME_EDITOR_CONTENT_PHP, __FILE__); ?>"></div>
 
 
145
 
146
  <?php
147
  }
@@ -157,19 +173,19 @@ class CrayonSettingsWP {
157
  // Initialise default global settings and update them from db
158
  CrayonGlobalSettings::set(self::$options);
159
  }
160
-
161
  if (!self::$is_fully_loaded && !$just_load_settings) {
162
  // Load everything else as well
163
  // Load all available languages and themes
164
  CrayonResources::langs()->load();
165
  CrayonResources::themes()->load();
166
-
167
  // For local file loading
168
  // This is used to decouple WP functions from internal Crayon classes
169
  CrayonGlobalSettings::site_http(home_url());
170
  CrayonGlobalSettings::site_path(ABSPATH);
171
  CrayonGlobalSettings::plugin_path(plugins_url('', __FILE__));
172
-
173
  // Ensure all missing settings in db are replaced by default values
174
  $changed = FALSE;
175
  foreach (CrayonSettings::get_defaults_array() as $name => $value) {
@@ -183,15 +199,15 @@ class CrayonSettingsWP {
183
  if ($changed) {
184
  update_option(self::OPTIONS, self::$options);
185
  }
186
-
187
  self::$is_fully_loaded = TRUE;
188
  }
189
  }
190
-
191
  public static function get_settings() {
192
  return get_option(self::OPTIONS);
193
  }
194
-
195
  // Saves settings from CrayonGlobalSettings, or provided array, to the db
196
  public static function save_settings($settings = NULL) {
197
  if ($settings === NULL) {
@@ -199,8 +215,12 @@ class CrayonSettingsWP {
199
  }
200
  update_option(self::OPTIONS, $settings);
201
  }
202
-
203
  // Crayons posts
 
 
 
 
204
  public static function load_posts() {
205
  if (self::$crayon_posts === NULL) {
206
  // Load from db
@@ -212,11 +232,17 @@ class CrayonSettingsWP {
212
  }
213
  return self::$crayon_posts;
214
  }
215
-
 
 
 
216
  public static function scan_and_save_posts() {
217
- self::save_posts(CrayonWP::scan_posts());
218
  }
219
-
 
 
 
220
  public static function save_posts($posts = NULL) {
221
  if ($posts === NULL) {
222
  $posts = self::$crayon_posts;
@@ -224,7 +250,10 @@ class CrayonSettingsWP {
224
  update_option(self::POSTS, $posts);
225
  self::load_posts();
226
  }
227
-
 
 
 
228
  public static function add_post($id) {
229
  self::load_posts();
230
  if (!in_array($id, self::$crayon_posts)) {
@@ -232,7 +261,10 @@ class CrayonSettingsWP {
232
  }
233
  self::save_posts();
234
  }
235
-
 
 
 
236
  public static function remove_post($id) {
237
  self::load_posts();
238
  $key = array_search($id, self::$crayon_posts);
@@ -242,8 +274,9 @@ class CrayonSettingsWP {
242
  unset(self::$crayon_posts[$key]);
243
  self::save_posts();
244
  }
245
-
246
  // Cache
 
247
  public static function add_cache($name) {
248
  self::load_cache();
249
  if (!in_array($name, self::$cache)) {
@@ -251,7 +284,7 @@ class CrayonSettingsWP {
251
  }
252
  self::save_cache();
253
  }
254
-
255
  public static function remove_cache($name) {
256
  self::load_cache();
257
  $key = array_search($name, self::$cache);
@@ -261,7 +294,7 @@ class CrayonSettingsWP {
261
  unset(self::$cache[$key]);
262
  self::save_cache();
263
  }
264
-
265
  public static function clear_cache() {
266
  self::load_cache();
267
  foreach (self::$cache as $name) {
@@ -270,7 +303,7 @@ class CrayonSettingsWP {
270
  self::$cache = array();
271
  self::save_cache();
272
  }
273
-
274
  public static function load_cache() {
275
  // Load cache from db
276
  if (!(self::$cache = get_option(self::CACHE))) {
@@ -278,31 +311,20 @@ class CrayonSettingsWP {
278
  update_option(self::CACHE, self::$cache);
279
  }
280
  }
281
-
282
  public static function save_cache() {
283
  update_option(self::CACHE, self::$cache);
284
  self::load_cache();
285
  }
286
-
287
  // Paths
288
-
289
- public static function wp_root_path() {
290
- return preg_replace('#wp\-content.*#', '', CRAYON_ROOT_PATH);
291
- }
292
-
293
- public static function wp_load_path() {
294
- return self::wp_root_path() . 'wp-load.php';
295
- }
296
 
297
  public static function admin_init() {
298
  // Load default settings if they don't exist
299
  self::load_settings();
300
-
301
- // Update db
302
- CrayonWP::update();
303
-
304
  // General
305
- // Some of these will the $editor arguments, if TRUE it will alter for use in the Tag Editor
306
  self::add_section(self::GENERAL, crayon__('General'));
307
  self::add_field(self::GENERAL, crayon__('Theme'), 'theme');
308
  self::add_field(self::GENERAL, crayon__('Font'), 'font');
@@ -313,6 +335,7 @@ class CrayonSettingsWP {
313
  self::add_field(self::GENERAL, crayon__('Tags'), 'tags');
314
  self::add_field(self::GENERAL, crayon__('Languages'), 'langs');
315
  self::add_field(self::GENERAL, crayon__('Files'), 'files');
 
316
  self::add_field(self::GENERAL, crayon__('Tag Editor'), 'tag_editor');
317
  self::add_field(self::GENERAL, crayon__('Misc'), 'misc');
318
 
@@ -325,7 +348,7 @@ class CrayonSettingsWP {
325
  self::add_section(self::ABOUT, crayon__('About'));
326
  $image = '<div id="crayon-logo">
327
 
328
- <img src="' . plugins_url(CRAYON_LOGO, __FILE__) . '" /><br/></div>';
329
  self::add_field(self::ABOUT, $image, 'info');
330
  }
331
 
@@ -346,13 +369,17 @@ class CrayonSettingsWP {
346
  public static function settings_validate($inputs) {
347
  // Load current settings from db
348
  self::load_settings(TRUE);
349
-
350
  global $CRAYON_EMAIL;
351
  // When reset button is pressed, remove settings so default loads next time
352
  if (array_key_exists('reset', $inputs)) {
353
  self::clear_cache();
354
  return array();
355
  }
 
 
 
 
356
  // Clear the log if needed
357
  if (array_key_exists(self::LOG_CLEAR, $_POST)) {
358
  CrayonLog::clear();
@@ -367,10 +394,10 @@ class CrayonSettingsWP {
367
  }
368
 
369
  // Clear the cache
370
- if (array_key_exists('crayon-cache-clear', $_POST)) {
371
  self::clear_cache();
372
  }
373
-
374
  // Validate inputs
375
  foreach ($inputs as $input => $value) {
376
  // Convert all array setting values to ints
@@ -380,19 +407,19 @@ class CrayonSettingsWP {
380
  self::clear_cache();
381
  }
382
  }
383
-
384
  // If settings don't exist in input, set them to default
385
  $global_settings = CrayonSettings::get_defaults();
386
 
387
- $ignored = array(CrayonSettings::HIDE_HELP, CrayonSettings::TINYMCE_USED);
388
-
389
  foreach ($global_settings as $setting) {
390
  // XXX Ignore some settings
391
  if ( in_array($setting->name(), $ignored) ) {
392
  $inputs[$setting->name()] = CrayonGlobalSettings::val($setting->name());
393
- continue;
394
  }
395
-
396
  // If boolean setting is not in input, then it is set to FALSE in the form
397
  if (!array_key_exists($setting->name(), $inputs)) {
398
  // For booleans, set to FALSE (unchecked boxes are not sent as POST)
@@ -409,26 +436,27 @@ class CrayonSettingsWP {
409
  }
410
  }
411
  }
412
-
413
  return $inputs;
414
  }
415
 
416
  // Section callback functions
417
 
418
- public static function blank() {} // Used for required callbacks with blank content
 
419
 
420
  // Input Drawing ==========================================================
421
-
422
  private static function textbox($args) {
423
  $id = '';
424
  $size = 40;
425
  $margin = FALSE;
426
  $preview = 1;
427
  $break = FALSE;
428
- extract($args);
429
-
430
  echo '<input id="', CrayonSettings::PREFIX, $id, '" name="', self::OPTIONS, '[', $id, ']" class="'.CrayonSettings::SETTING.'" size="', $size, '" type="text" value="',
431
- self::$options[$id], '" style="margin-left: ', ($margin ? '20px' : '0px'), ';" crayon-preview="', ($preview ? 1 : 0), '" />', ($break ? CRAYON_BR : '');
432
  }
433
 
434
  private static function checkbox($args, $line_break = TRUE, $preview = TRUE) {
@@ -438,9 +466,9 @@ class CrayonSettingsWP {
438
  $id = $args[0];
439
  $text = $args[1];
440
  $checked = (!array_key_exists($id, self::$options)) ? FALSE : self::$options[$id] == TRUE;
441
- $checked_str = $checked ? ' checked="checked"' : '';
442
  echo '<input id="', CrayonSettings::PREFIX, $id, '" name="', self::OPTIONS, '[', $id, ']" type="checkbox" class="'.CrayonSettings::SETTING.'" value="1"', $checked_str,
443
- ' crayon-preview="', ($preview ? 1 : 0), '" /> ', '<span>', $text, '</span>', ($line_break ? CRAYON_BR : '');
444
  }
445
 
446
  // Draws a dropdown by loading the default value (an array) from a setting
@@ -449,7 +477,7 @@ class CrayonSettingsWP {
449
  return;
450
  }
451
  $resources = $resources != NULL ? $resources : CrayonGlobalSettings::get($id)->def();
452
-
453
  $return = '<select id="'.CrayonSettings::PREFIX.$id.'" name="'.self::OPTIONS.'['.$id.']" class="'.CrayonSettings::SETTING.'" crayon-preview="'.($preview ? 1 : 0).'">';
454
  foreach ($resources as $k=>$v) {
455
  $return .='<option value="'.$k.'" '.selected(self::$options[$id], $k, FALSE).'>'.$v.'</option>';
@@ -461,11 +489,20 @@ class CrayonSettingsWP {
461
  return $return;
462
  }
463
  }
464
-
 
 
 
 
 
 
 
 
 
465
  private static function info_span($name, $text) {
466
  echo '<span id="', $name, '-info">', $text,'</span>';
467
  }
468
-
469
  private static function span($text) {
470
  echo '<span>', $text,'</span>';
471
  }
@@ -476,17 +513,16 @@ class CrayonSettingsWP {
476
  if (CrayonGlobalSettings::val(CrayonSettings::HIDE_HELP)) {
477
  return;
478
  }
479
- $url = plugins_url(CRAYON_AJAX_PHP, __FILE__) . '?' . CrayonSettings::HIDE_HELP . '=1';
480
  $web = $CRAYON_WEBSITE;
481
  echo '
482
- <div id="crayon-help" class="updated settings-error crayon-help">
483
- <p><strong>Howdy, coder!</strong> Thanks for using Crayon. Use <strong>help</strong> on the top of this page to learn how to use the shortcode and basic features, or check out my <a href="#info">Twitter & Email</a>. For online help and info, visit <a target="_blank" href="'.$web,'">here</a>. <a class="crayon-help-close" url="'.$url.'">X</a></p>
484
- </div>
485
- ';
486
  }
487
-
488
  public static function get_crayon_help_file() {
489
- // Load help
490
  if ( ($help = @file_get_contents(CRAYON_HELP_FILE)) !== FALSE) {
491
  $help = str_replace('{PLUGIN}', CrayonGlobalSettings::plugin_path(), $help);
492
  } else {
@@ -494,23 +530,23 @@ class CrayonSettingsWP {
494
  }
495
  return $help;
496
  }
497
-
498
  public static function help_screen() {
499
  $screen = get_current_screen();
500
 
501
- if ($screen->id != self::$admin_page) {
502
- return;
503
- }
504
-
505
- // Add my_help_tab if current screen is My Admin Page
506
- $screen->add_help_tab( array(
507
- 'id' => 'crayon_help_tab',
508
- 'title' => crayon__('Crayon Help'),
509
- 'content' => self::get_crayon_help_file() // TODO consider adding tranlations for help
510
- ) );
511
  }
512
-
513
- // XXX Depreciated since WP 3.3
514
  public static function cont_help($contextual_help, $screen_id, $screen) {
515
  if ($screen_id == self::$admin_page) {
516
  return self::get_crayon_help_file();
@@ -533,9 +569,9 @@ class CrayonSettingsWP {
533
  echo ' ';
534
  self::dropdown(CrayonSettings::WIDTH_UNIT);
535
  $text = array(crayon__('Top Margin') => array(CrayonSettings::TOP_SET, CrayonSettings::TOP_MARGIN),
536
- crayon__('Bottom Margin') => array(CrayonSettings::BOTTOM_SET, CrayonSettings::BOTTOM_MARGIN),
537
- crayon__('Left Margin') => array(CrayonSettings::LEFT_SET, CrayonSettings::LEFT_MARGIN),
538
- crayon__('Right Margin') => array(CrayonSettings::RIGHT_SET, CrayonSettings::RIGHT_MARGIN));
539
  foreach ($text as $p => $s) {
540
  $set = $s[0];
541
  $margin = $s[1];
@@ -550,7 +586,7 @@ class CrayonSettingsWP {
550
  echo '<div id="crayon-subsection-float">';
551
  self::checkbox(array(CrayonSettings::FLOAT_ENABLE, crayon__('Allow floating elements to surround Crayon')), FALSE, FALSE);
552
  echo '</div>';
553
- echo '<span class="crayon-span-100">' . crayon__('Inline Margin') . '</span>';
554
  self::textbox(array('id' => CrayonSettings::INLINE_MARGIN, 'size' => 2));
555
  echo '<span class="crayon-span-margin">', crayon__('Pixels'), '</span>';
556
  echo '</div>';
@@ -575,8 +611,11 @@ class CrayonSettingsWP {
575
  echo '<div id="crayon-section-lines" class="crayon-hide-inline">';
576
  self::checkbox(array(CrayonSettings::STRIPED, crayon__('Display striped code lines')));
577
  self::checkbox(array(CrayonSettings::MARKING, crayon__('Enable line marking for important lines')));
 
578
  self::checkbox(array(CrayonSettings::NUMS, crayon__('Display line numbers by default')));
579
  self::checkbox(array(CrayonSettings::NUMS_TOGGLE, crayon__('Enable line number toggling')));
 
 
580
  self::span(crayon__('Start line numbers from').' ');
581
  self::textbox(array('id' => CrayonSettings::START_LINE, 'size' => 2, 'break' => TRUE));
582
  echo '</div>';
@@ -592,10 +631,10 @@ class CrayonSettingsWP {
592
  // Information about parsing
593
  $parsed = CrayonResources::langs()->is_parsed();
594
  $count = count($langs);
595
- echo '</select>', CRAYON_BR, ($parsed ? '' : '<span class="crayon-error">'),
596
- sprintf(crayon_n('%d language has been detected.', '%d languages have been detected.', $count), $count), ' ',
597
- $parsed ? crayon__('Parsing was successful') : crayon__('Parsing was unsuccessful'),
598
- ($parsed ? '. ' : '</span>');
599
  // Check if fallback from db is loaded
600
  $db_fallback = self::$options[CrayonSettings::FALLBACK_LANG]; // Fallback name from db
601
 
@@ -603,14 +642,129 @@ class CrayonSettingsWP {
603
  echo '<br/><span class="crayon-error">', sprintf(crayon__('The selected language with id %s could not be loaded'), '<strong>'.$db_fallback.'</strong>'), '. </span>';
604
  }
605
  // Language parsing info
606
- echo CRAYON_BR, '<div id="crayon-subsection-lang-info"><div><a id="show-lang" class="button-primary" onclick="CrayonSyntaxAdmin.show_langs(\'', plugins_url(CRAYON_LIST_LANGS_PHP, __FILE__),
607
- '\');">', crayon__('Show Languages'), '</a></div></div>';
608
  } else {
609
  echo 'No languages could be parsed.';
610
  }
611
  }
612
  }
613
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
614
  public static function theme($editor = FALSE) {
615
  $db_theme = self::$options[CrayonSettings::THEME]; // Theme name from db
616
  if (!array_key_exists(CrayonSettings::THEME, self::$options)) {
@@ -623,13 +777,13 @@ class CrayonSettingsWP {
623
  }
624
  // Theme editor
625
  if (CRAYON_THEME_EDITOR) {
626
- // echo '<a id="crayon-theme-editor-button" class="button-primary crayon-admin-button" loading="'. crayon__('Loading...') .'" loaded="'. crayon__('Theme Editor') .'" >'. crayon__('Theme Editor') .'</a></br>';
627
  echo '<div id="crayon-theme-editor-admin-buttons">',
628
- '<a id="crayon-theme-editor-edit-button" class="button-primary crayon-admin-button" loading="', crayon__('Loading...'), '" loaded="', crayon__('Edit'), '" >', crayon__('Edit'), '</a>',
629
- '<a id="crayon-theme-editor-create-button" class="button-primary crayon-admin-button" loading="', crayon__('Loading...'), '" loaded="', crayon__('Create'), '" >', crayon__('Create'), '</a></br></div>';
630
  }
631
  // Preview Box
632
- echo '<div id="crayon-live-preview" url="', plugins_url(CRAYON_PREVIEW_PHP, __FILE__), '"></div>';
633
  echo '<div id="crayon-preview-info">';
634
  printf(crayon__('Change the %1$sfallback language%2$s to change the sample code. Lines 5-7 are marked.'), '<a href="#langs">', '</a>');
635
  echo '</div>';
@@ -677,10 +831,7 @@ class CrayonSettingsWP {
677
  echo '</span>';
678
  self::checkbox(array(CrayonSettings::POPUP, crayon__('Enable opening code in a window')));
679
  self::checkbox(array(CrayonSettings::SCROLL, crayon__('Always display scrollbars')));
680
- self::span(crayon__('Tab size in spaces').': ');
681
- self::textbox(array('id' => CrayonSettings::TAB_SIZE, 'size' => 2, 'break' => TRUE));
682
  echo '</div>';
683
-
684
  if (!$editor) {
685
  self::checkbox(array(CrayonSettings::DECODE, crayon__('Decode HTML entities in code')));
686
  }
@@ -692,8 +843,14 @@ class CrayonSettingsWP {
692
  echo '<div class="crayon-hide-inline-only">';
693
  self::checkbox(array(CrayonSettings::SHOW_MIXED, crayon__('Show Mixed Language Icon (+)')));
694
  echo '</div>';
 
 
 
 
 
 
695
  }
696
-
697
  public static function tags() {
698
  self::checkbox(array(CrayonSettings::CAPTURE_MINI_TAG, crayon__('Capture Mini Tags like [php][/php] as Crayons.') . ' <a href="http://bit.ly/rRZuzk" target="_blank" class="crayon-question">' . crayon__('?') . '</a>'));
699
  self::checkbox(array(CrayonSettings::INLINE_TAG, crayon__('Capture Inline Tags like {php}{/php} inside sentences.') . ' <a href="http://bit.ly/yFafFL" target="_blank" class="crayon-question">' . crayon__('?') . '</a>'));
@@ -706,15 +863,28 @@ class CrayonSettingsWP {
706
  public static function files() {
707
  echo '<a name="files"></a>';
708
  echo crayon__('When loading local files and a relative path is given for the URL, use the absolute path'),': ',
709
- '<div style="margin-left: 20px">', home_url(), '/';
710
  self::textbox(array('id' => CrayonSettings::LOCAL_PATH));
711
  echo '</div>', crayon__('Followed by your relative URL.');
712
  }
713
-
714
  public static function tag_editor() {
 
 
 
 
 
 
 
 
 
 
 
715
  $sep = sprintf(crayon__('Use %s to separate setting names from values in the &lt;pre&gt; class attribute'),
716
- self::dropdown(CrayonSettings::ATTR_SEP, FALSE, FALSE, FALSE));
717
- echo '<span>', $sep, ' <a href="http://bit.ly/H3xW3D" target="_blank" class="crayon-question">' . crayon__('?') . '</a>', '</span>';
 
 
718
  }
719
 
720
  public static function misc() {
@@ -747,13 +917,13 @@ class CrayonSettingsWP {
747
  $writable = is_writable(CRAYON_LOG_FILE);
748
  if (!empty($log)) {
749
  echo '<div id="crayon-log-wrapper">', '<div id="crayon-log"><div id="crayon-log-text">', $log,
750
- '</div></div>', '<div id="crayon-log-controls">',
751
- '<input type="button" id="crayon-log-toggle" show_txt="',crayon__('Show Log'),'" hide_txt="',crayon__('Hide Log'),'" class="button-secondary" value="', crayon__('Show Log'), '"> ',
752
- '<input type="submit" id="crayon-log-clear" name="', self::LOG_CLEAR ,
753
- '" class="button-secondary" value="', crayon__('Clear Log'), '"> ', '<input type="submit" id="crayon-log-email" name="',
754
- self::LOG_EMAIL_ADMIN . '" class="button-secondary" value="', crayon__('Email Admin'), '"> ',
755
- '<input type="submit" id="crayon-log-email" name="', self::LOG_EMAIL_DEV,
756
- '" class="button-secondary" value="', crayon__('Email Developer'), '"> ', '</div>', '</div>';
757
  }
758
  echo '<span', (!empty($log)) ? ' class="crayon-span"' : '', '>', (empty($log)) ? crayon__('The log is currently empty.').' ' : '';
759
  if ($exists) {
@@ -773,39 +943,40 @@ class CrayonSettingsWP {
773
  $date = $CRAYON_DATE;
774
  $developer = '<strong>'.crayon__('Developer').':</strong> ' . '<a href="'.$CRAYON_AUTHOR_SITE.'" target="_blank">' . $CRAYON_AUTHOR . '</a>';
775
  $translators = '<strong>'.crayon__('Translators').':</strong> ' .
776
- 'Chinese (<a href="http://smerpup.com/" target="_blank">Dezhi Liu</a>, <a href="http://neverno.me/" target="_blank">Jash Yin</a>),
777
- Dutch (<a href="https://twitter.com/#!/chilionsnoek" target="_blank">Chilion Snoek</a>),
778
- German (<a href="http://www.technologyblog.de/" target="_blank">Stephan Knau&#223;</a>),
779
- Italian (<a href="http://www.federicobellucci.net/" target="_blank">Federico Bellucci</a>),
780
- Lithuanian (<a href="http://www.host1free.com" target="_blank">Vincent G</a>),
781
- Japanese (<a href="https://twitter.com/#!/west_323" target="_blank">@west_323</a>),
782
- Russian (<a href="http://simplelib.com/" target="_blank">Minimus</a>, <a href="http://atlocal.net/" target="_blank">Di_Skyer</a>),
783
- Turkish (<a href="http://kazancexpert.com" target="_blank">Hakan</a>)';
784
-
 
785
  $links = '<a id="twitter-icon" href="' . $CRAYON_TWITTER . '" target="_blank"></a>
786
- <a id="gmail-icon" href="mailto:' . $CRAYON_EMAIL . '" target="_blank"></a><div id="crayon-donate"><a href="' . $CRAYON_DONATE . '" target="_blank"><img src="'.plugins_url(CRAYON_DONATE_BUTTON, __FILE__).'"></a></div>';
787
-
788
  echo '
789
- <table id="crayon-info" border="0">
790
- <tr>
791
- <td>'.$version.' - '.$date.'</td>
792
- </tr>
793
  <tr>
794
- <td>'.$developer.'</td>
 
 
 
795
  </tr>
796
  <tr>
797
- <td>'.$translators.'</td>
798
  </tr>
799
  <tr>
800
- <td colspan="2">', crayon__("The result of innumerable hours of hard work over many months. It's an ongoing project, keep me motivated!"), '</td>
801
  </tr>
802
  <tr>
803
- <td colspan="2">'.$links.'</td>
804
  </tr>
805
- </table>';
806
-
807
  }
808
-
809
  public static function plugin_row_meta($meta, $file) {
810
  global $CRAYON_DONATE;
811
  if ($file == CrayonWP::basename()) {
7
 
8
  /* Manages global settings within WP and integrates them with CrayonSettings.
9
  CrayonHighlighter and any non-WP classes will only use CrayonSettings to separate
10
+ the implementation of global settings and ensure any system can use them. */
11
  class CrayonSettingsWP {
12
  // Properties and Constants ===============================================
13
 
21
  private static $js_settings = NULL;
22
  private static $admin_page = '';
23
  private static $is_fully_loaded = FALSE;
24
+
25
  const SETTINGS = 'crayon_fields';
26
  const FIELDS = 'crayon_settings';
27
  const OPTIONS = 'crayon_options';
30
  const GENERAL = 'crayon_general';
31
  const DEBUG = 'crayon_debug';
32
  const ABOUT = 'crayon_about';
33
+
34
  // Used on submit
35
  const LOG_CLEAR = 'log_clear';
36
  const LOG_EMAIL_ADMIN = 'log_email_admin';
37
  const LOG_EMAIL_DEV = 'log_email_dev';
38
 
39
+ private function __construct() {
40
+ }
41
 
42
  // Methods ================================================================
43
 
49
  register_setting(self::FIELDS, self::OPTIONS, 'CrayonSettingsWP::settings_validate');
50
  add_action("admin_head-$admin_page", 'CrayonSettingsWP::admin_init');
51
  // Register settings for post page
52
+ add_action("admin_print_styles-post-new.php", 'CrayonSettingsWP::admin_scripts');
53
+ add_action("admin_print_styles-post.php", 'CrayonSettingsWP::admin_scripts');
54
  add_action("admin_print_styles-post-new.php", 'CrayonSettingsWP::admin_styles');
55
  add_action("admin_print_styles-post.php", 'CrayonSettingsWP::admin_styles');
56
+
57
  // TODO depreciated since WP 3.3, remove eventually
58
  global $wp_version;
59
  if ($wp_version >= '3.3') {
62
  add_filter('contextual_help', 'CrayonSettingsWP::cont_help', 10, 3);
63
  }
64
  }
65
+
66
  public static function admin_styles() {
67
  global $CRAYON_VERSION;
68
+ wp_enqueue_style('crayon_style', plugins_url(CRAYON_STYLE, __FILE__), array(), $CRAYON_VERSION);
69
+ wp_enqueue_style('crayon_global_style', plugins_url(CRAYON_STYLE_GLOBAL, __FILE__), array(), $CRAYON_VERSION);
70
  wp_enqueue_style('crayon_admin_style', plugins_url(CRAYON_STYLE_ADMIN, __FILE__), array(), $CRAYON_VERSION);
71
  wp_enqueue_style('crayon_theme_editor_style', plugins_url(CRAYON_THEME_EDITOR_STYLE, __FILE__), array(), $CRAYON_VERSION);
72
  }
84
  // XXX Must come after
85
  self::init_js_settings();
86
  }
87
+
88
  public static function init_js_settings() {
89
+ // This stores JS variables used in AJAX calls and in the JS files
90
  self::load_settings(TRUE);
91
  if (!self::$js_settings) {
92
  self::$js_settings = array(
93
+ 'is_admin' => is_admin(),
94
+ 'ajaxurl' => admin_url('admin-ajax.php'),
95
  'prefix' => CrayonSettings::PREFIX,
96
  'setting' => CrayonSettings::SETTING,
97
  'selected' => CrayonSettings::SETTING_SELECTED,
98
  'changed' => CrayonSettings::SETTING_CHANGED,
99
  'special' => CrayonSettings::SETTING_SPECIAL,
100
+ 'orig_value' => CrayonSettings::SETTING_ORIG_VALUE
101
+ );
102
  }
103
+ wp_localize_script('crayon_util_js', 'CrayonSyntaxSettings', self::$js_settings);
 
104
  }
105
 
106
  public static function settings() {
107
  if (!current_user_can('manage_options')) {
108
  wp_die(crayon__('You do not have sufficient permissions to access this page.'));
109
  }
110
+
111
  // Go through and find all Crayons in posts on each reload
112
  self::scan_and_save_posts();
113
+
114
  ?>
115
 
116
  <script type="text/javascript">
119
  });
120
  </script>
121
 
122
+
123
  <div id="crayon-main-wrap" class="wrap">
124
 
125
+ <div id="icon-options-general" class="icon32">
126
+ <br>
127
+ </div>
128
+ <h2>
129
+ Crayon Syntax Highlighter
130
+ <?php crayon_e('Settings'); ?>
131
+ </h2>
132
+ <?php self::help(); ?>
133
+ <form id="crayon-settings-form" action="options.php" method="post">
134
+ <?php
135
  settings_fields(self::FIELDS);
136
  ?>
137
 
139
  do_settings_sections(self::SETTINGS);
140
  ?>
141
 
142
+ <p class="submit">
143
+ <input type="submit" name="submit" id="submit" class="button-primary"
144
+ value="<?php
145
  crayon_e('Save Changes');
146
  ?>"> <input type="submit"
147
+ name="<?php
148
  echo self::OPTIONS;
149
  ?>[reset]" id="reset"
150
+ class="button-primary"
151
+ value="<?php
152
  crayon_e('Reset Settings');
153
+ ?>">
154
+ </p>
155
+ </form>
156
  </div>
157
 
158
+ <div
159
+ id="crayon-theme-editor-wrap" class="wrap"
160
+ url="<?php echo plugins_url(CRAYON_THEME_EDITOR_CONTENT_PHP, __FILE__); ?>"></div>
161
 
162
  <?php
163
  }
173
  // Initialise default global settings and update them from db
174
  CrayonGlobalSettings::set(self::$options);
175
  }
176
+
177
  if (!self::$is_fully_loaded && !$just_load_settings) {
178
  // Load everything else as well
179
  // Load all available languages and themes
180
  CrayonResources::langs()->load();
181
  CrayonResources::themes()->load();
182
+
183
  // For local file loading
184
  // This is used to decouple WP functions from internal Crayon classes
185
  CrayonGlobalSettings::site_http(home_url());
186
  CrayonGlobalSettings::site_path(ABSPATH);
187
  CrayonGlobalSettings::plugin_path(plugins_url('', __FILE__));
188
+
189
  // Ensure all missing settings in db are replaced by default values
190
  $changed = FALSE;
191
  foreach (CrayonSettings::get_defaults_array() as $name => $value) {
199
  if ($changed) {
200
  update_option(self::OPTIONS, self::$options);
201
  }
202
+
203
  self::$is_fully_loaded = TRUE;
204
  }
205
  }
206
+
207
  public static function get_settings() {
208
  return get_option(self::OPTIONS);
209
  }
210
+
211
  // Saves settings from CrayonGlobalSettings, or provided array, to the db
212
  public static function save_settings($settings = NULL) {
213
  if ($settings === NULL) {
215
  }
216
  update_option(self::OPTIONS, $settings);
217
  }
218
+
219
  // Crayons posts
220
+
221
+ /**
222
+ * This loads the posts marked as containing Crayons
223
+ */
224
  public static function load_posts() {
225
  if (self::$crayon_posts === NULL) {
226
  // Load from db
232
  }
233
  return self::$crayon_posts;
234
  }
235
+
236
+ /**
237
+ * This looks through all posts and marks those which contain Crayons
238
+ */
239
  public static function scan_and_save_posts() {
240
+ self::save_posts(CrayonWP::scan_posts(TRUE, TRUE));
241
  }
242
+
243
+ /**
244
+ * Saves the marked posts to the db
245
+ */
246
  public static function save_posts($posts = NULL) {
247
  if ($posts === NULL) {
248
  $posts = self::$crayon_posts;
250
  update_option(self::POSTS, $posts);
251
  self::load_posts();
252
  }
253
+
254
+ /**
255
+ * Adds a post as containing a Crayon
256
+ */
257
  public static function add_post($id) {
258
  self::load_posts();
259
  if (!in_array($id, self::$crayon_posts)) {
261
  }
262
  self::save_posts();
263
  }
264
+
265
+ /**
266
+ * Removes a post as not containing a Crayon
267
+ */
268
  public static function remove_post($id) {
269
  self::load_posts();
270
  $key = array_search($id, self::$crayon_posts);
274
  unset(self::$crayon_posts[$key]);
275
  self::save_posts();
276
  }
277
+
278
  // Cache
279
+
280
  public static function add_cache($name) {
281
  self::load_cache();
282
  if (!in_array($name, self::$cache)) {
284
  }
285
  self::save_cache();
286
  }
287
+
288
  public static function remove_cache($name) {
289
  self::load_cache();
290
  $key = array_search($name, self::$cache);
294
  unset(self::$cache[$key]);
295
  self::save_cache();
296
  }
297
+
298
  public static function clear_cache() {
299
  self::load_cache();
300
  foreach (self::$cache as $name) {
303
  self::$cache = array();
304
  self::save_cache();
305
  }
306
+
307
  public static function load_cache() {
308
  // Load cache from db
309
  if (!(self::$cache = get_option(self::CACHE))) {
311
  update_option(self::CACHE, self::$cache);
312
  }
313
  }
314
+
315
  public static function save_cache() {
316
  update_option(self::CACHE, self::$cache);
317
  self::load_cache();
318
  }
319
+
320
  // Paths
 
 
 
 
 
 
 
 
321
 
322
  public static function admin_init() {
323
  // Load default settings if they don't exist
324
  self::load_settings();
325
+
 
 
 
326
  // General
327
+ // Some of these will the $editor arguments, if TRUE it will alter for use in the Tag Editor
328
  self::add_section(self::GENERAL, crayon__('General'));
329
  self::add_field(self::GENERAL, crayon__('Theme'), 'theme');
330
  self::add_field(self::GENERAL, crayon__('Font'), 'font');
335
  self::add_field(self::GENERAL, crayon__('Tags'), 'tags');
336
  self::add_field(self::GENERAL, crayon__('Languages'), 'langs');
337
  self::add_field(self::GENERAL, crayon__('Files'), 'files');
338
+ self::add_field(self::GENERAL, crayon__('Posts'), 'posts');
339
  self::add_field(self::GENERAL, crayon__('Tag Editor'), 'tag_editor');
340
  self::add_field(self::GENERAL, crayon__('Misc'), 'misc');
341
 
348
  self::add_section(self::ABOUT, crayon__('About'));
349
  $image = '<div id="crayon-logo">
350
 
351
+ <img src="' . plugins_url(CRAYON_LOGO, __FILE__) . '" /><br/></div>';
352
  self::add_field(self::ABOUT, $image, 'info');
353
  }
354
 
369
  public static function settings_validate($inputs) {
370
  // Load current settings from db
371
  self::load_settings(TRUE);
372
+
373
  global $CRAYON_EMAIL;
374
  // When reset button is pressed, remove settings so default loads next time
375
  if (array_key_exists('reset', $inputs)) {
376
  self::clear_cache();
377
  return array();
378
  }
379
+ // Convert old tags
380
+ if (array_key_exists('convert', $inputs)) {
381
+ CrayonWP::convert_tags();
382
+ }
383
  // Clear the log if needed
384
  if (array_key_exists(self::LOG_CLEAR, $_POST)) {
385
  CrayonLog::clear();
394
  }
395
 
396
  // Clear the cache
397
+ if (array_key_exists('crayon-cache-clear', $_POST)) {
398
  self::clear_cache();
399
  }
400
+
401
  // Validate inputs
402
  foreach ($inputs as $input => $value) {
403
  // Convert all array setting values to ints
407
  self::clear_cache();
408
  }
409
  }
410
+
411
  // If settings don't exist in input, set them to default
412
  $global_settings = CrayonSettings::get_defaults();
413
 
414
+ $ignored = array(CrayonSettings::HIDE_HELP);
415
+
416
  foreach ($global_settings as $setting) {
417
  // XXX Ignore some settings
418
  if ( in_array($setting->name(), $ignored) ) {
419
  $inputs[$setting->name()] = CrayonGlobalSettings::val($setting->name());
420
+ continue;
421
  }
422
+
423
  // If boolean setting is not in input, then it is set to FALSE in the form
424
  if (!array_key_exists($setting->name(), $inputs)) {
425
  // For booleans, set to FALSE (unchecked boxes are not sent as POST)
436
  }
437
  }
438
  }
439
+
440
  return $inputs;
441
  }
442
 
443
  // Section callback functions
444
 
445
+ public static function blank() {
446
+ } // Used for required callbacks with blank content
447
 
448
  // Input Drawing ==========================================================
449
+
450
  private static function textbox($args) {
451
  $id = '';
452
  $size = 40;
453
  $margin = FALSE;
454
  $preview = 1;
455
  $break = FALSE;
456
+ extract($args);
457
+
458
  echo '<input id="', CrayonSettings::PREFIX, $id, '" name="', self::OPTIONS, '[', $id, ']" class="'.CrayonSettings::SETTING.'" size="', $size, '" type="text" value="',
459
+ self::$options[$id], '" style="margin-left: ', ($margin ? '20px' : '0px'), ';" crayon-preview="', ($preview ? 1 : 0), '" />', ($break ? CRAYON_BR : '');
460
  }
461
 
462
  private static function checkbox($args, $line_break = TRUE, $preview = TRUE) {
466
  $id = $args[0];
467
  $text = $args[1];
468
  $checked = (!array_key_exists($id, self::$options)) ? FALSE : self::$options[$id] == TRUE;
469
+ $checked_str = $checked ? ' checked="checked"' : '';
470
  echo '<input id="', CrayonSettings::PREFIX, $id, '" name="', self::OPTIONS, '[', $id, ']" type="checkbox" class="'.CrayonSettings::SETTING.'" value="1"', $checked_str,
471
+ ' crayon-preview="', ($preview ? 1 : 0), '" /> ', '<span>', $text, '</span>', ($line_break ? CRAYON_BR : '');
472
  }
473
 
474
  // Draws a dropdown by loading the default value (an array) from a setting
477
  return;
478
  }
479
  $resources = $resources != NULL ? $resources : CrayonGlobalSettings::get($id)->def();
480
+
481
  $return = '<select id="'.CrayonSettings::PREFIX.$id.'" name="'.self::OPTIONS.'['.$id.']" class="'.CrayonSettings::SETTING.'" crayon-preview="'.($preview ? 1 : 0).'">';
482
  foreach ($resources as $k=>$v) {
483
  $return .='<option value="'.$k.'" '.selected(self::$options[$id], $k, FALSE).'>'.$v.'</option>';
489
  return $return;
490
  }
491
  }
492
+
493
+ private static function button($args = array()) {
494
+ extract($args);
495
+ CrayonUtil::set_var($id, '');
496
+ CrayonUtil::set_var($class, '');
497
+ CrayonUtil::set_var($onclick, '');
498
+ CrayonUtil::set_var($title, '');
499
+ return '<a id="'.$id.'" class="button-primary '.$class.'" onclick="'.$onclick.'">'.$title.'</a>';
500
+ }
501
+
502
  private static function info_span($name, $text) {
503
  echo '<span id="', $name, '-info">', $text,'</span>';
504
  }
505
+
506
  private static function span($text) {
507
  echo '<span>', $text,'</span>';
508
  }
513
  if (CrayonGlobalSettings::val(CrayonSettings::HIDE_HELP)) {
514
  return;
515
  }
 
516
  $web = $CRAYON_WEBSITE;
517
  echo '
518
+ <div id="crayon-help" class="updated settings-error crayon-help">
519
+ <p><strong>Howdy, coder!</strong> Thanks for using Crayon. Use <strong>help</strong> on the top of this page to learn how to use the shortcode and basic features, or check out my <a href="#info">Twitter & Email</a>. For online help and info, visit <a target="_blank" href="'.$web,'">here</a>. <a class="crayon-help-close">X</a></p>
520
+ </div>
521
+ ';
522
  }
523
+
524
  public static function get_crayon_help_file() {
525
+ // Load help
526
  if ( ($help = @file_get_contents(CRAYON_HELP_FILE)) !== FALSE) {
527
  $help = str_replace('{PLUGIN}', CrayonGlobalSettings::plugin_path(), $help);
528
  } else {
530
  }
531
  return $help;
532
  }
533
+
534
  public static function help_screen() {
535
  $screen = get_current_screen();
536
 
537
+ if ($screen->id != self::$admin_page) {
538
+ return;
539
+ }
540
+
541
+ // Add my_help_tab if current screen is My Admin Page
542
+ $screen->add_help_tab( array(
543
+ 'id' => 'crayon_help_tab',
544
+ 'title' => crayon__('Crayon Help'),
545
+ 'content' => self::get_crayon_help_file() // TODO consider adding tranlations for help
546
+ ) );
547
  }
548
+
549
+ // XXX Depreciated since WP 3.3
550
  public static function cont_help($contextual_help, $screen_id, $screen) {
551
  if ($screen_id == self::$admin_page) {
552
  return self::get_crayon_help_file();
569
  echo ' ';
570
  self::dropdown(CrayonSettings::WIDTH_UNIT);
571
  $text = array(crayon__('Top Margin') => array(CrayonSettings::TOP_SET, CrayonSettings::TOP_MARGIN),
572
+ crayon__('Bottom Margin') => array(CrayonSettings::BOTTOM_SET, CrayonSettings::BOTTOM_MARGIN),
573
+ crayon__('Left Margin') => array(CrayonSettings::LEFT_SET, CrayonSettings::LEFT_MARGIN),
574
+ crayon__('Right Margin') => array(CrayonSettings::RIGHT_SET, CrayonSettings::RIGHT_MARGIN));
575
  foreach ($text as $p => $s) {
576
  $set = $s[0];
577
  $margin = $s[1];
586
  echo '<div id="crayon-subsection-float">';
587
  self::checkbox(array(CrayonSettings::FLOAT_ENABLE, crayon__('Allow floating elements to surround Crayon')), FALSE, FALSE);
588
  echo '</div>';
589
+ echo '<span class="crayon-span-100">' . crayon__('Inline Margin') . ' </span>';
590
  self::textbox(array('id' => CrayonSettings::INLINE_MARGIN, 'size' => 2));
591
  echo '<span class="crayon-span-margin">', crayon__('Pixels'), '</span>';
592
  echo '</div>';
611
  echo '<div id="crayon-section-lines" class="crayon-hide-inline">';
612
  self::checkbox(array(CrayonSettings::STRIPED, crayon__('Display striped code lines')));
613
  self::checkbox(array(CrayonSettings::MARKING, crayon__('Enable line marking for important lines')));
614
+ self::checkbox(array(CrayonSettings::RANGES, crayon__('Enable line ranges for showing only parts of code')));
615
  self::checkbox(array(CrayonSettings::NUMS, crayon__('Display line numbers by default')));
616
  self::checkbox(array(CrayonSettings::NUMS_TOGGLE, crayon__('Enable line number toggling')));
617
+ self::checkbox(array(CrayonSettings::WRAP, crayon__('Wrap lines by default')));
618
+ self::checkbox(array(CrayonSettings::WRAP_TOGGLE, crayon__('Enable line wrap toggling')));
619
  self::span(crayon__('Start line numbers from').' ');
620
  self::textbox(array('id' => CrayonSettings::START_LINE, 'size' => 2, 'break' => TRUE));
621
  echo '</div>';
631
  // Information about parsing
632
  $parsed = CrayonResources::langs()->is_parsed();
633
  $count = count($langs);
634
+ echo '</select>', CRAYON_BR, ($parsed ? '' : '<span class="crayon-error">'),
635
+ sprintf(crayon_n('%d language has been detected.', '%d languages have been detected.', $count), $count), ' ',
636
+ $parsed ? crayon__('Parsing was successful') : crayon__('Parsing was unsuccessful'),
637
+ ($parsed ? '. ' : '</span>');
638
  // Check if fallback from db is loaded
639
  $db_fallback = self::$options[CrayonSettings::FALLBACK_LANG]; // Fallback name from db
640
 
642
  echo '<br/><span class="crayon-error">', sprintf(crayon__('The selected language with id %s could not be loaded'), '<strong>'.$db_fallback.'</strong>'), '. </span>';
643
  }
644
  // Language parsing info
645
+ echo CRAYON_BR, '<div id="crayon-subsection-langs-info"><div>'.self::button(array('id'=>'show-langs', 'title'=>crayon__('Show Languages'))).'</div></div>';
 
646
  } else {
647
  echo 'No languages could be parsed.';
648
  }
649
  }
650
  }
651
 
652
+ public static function show_langs() {
653
+ require_once (CRAYON_PARSER_PHP);
654
+ if (($langs = CrayonParser::parse_all()) != FALSE) {
655
+ echo '<table class="crayon-table" cellspacing="0" cellpadding="0"><tr class="crayon-table-header">',
656
+ '<td>ID</td><td>Name</td><td>Version</td><td>File Extensions</td><td>Aliases</td><td>State</td></tr>';
657
+ $keys = array_values($langs);
658
+ for ($i = 0; $i < count($langs); $i++) {
659
+ $lang = $keys[$i];
660
+ $tr = ($i == count($langs) - 1) ? 'crayon-table-last' : '';
661
+ echo '<tr class="', $tr, '">',
662
+ '<td>', $lang->id(), '</td>',
663
+ '<td>', $lang->name(), '</td>',
664
+ '<td>', $lang->version(), '</td>',
665
+ '<td>', implode(', ', $lang->ext()), '</td>',
666
+ '<td>', implode(', ', $lang->alias()), '</td>',
667
+ '<td class="', strtolower(CrayonUtil::space_to_hyphen($lang->state_info())), '">',
668
+ $lang->state_info(), '</td>',
669
+ '</tr>';
670
+ }
671
+ echo '</table><br/>Languages that have the same extension as their name don\'t need to explicitly map extensions.';
672
+ } else {
673
+ echo 'No languages could be found.';
674
+ }
675
+ exit();
676
+ }
677
+
678
+ public static function posts() {
679
+ echo '<a name="posts"></a>';
680
+ echo '<div id="crayon-subsection-posts-info">'.self::button(array('id'=>'show-posts', 'title'=>crayon__('Show Crayon Posts'))).'<span class="crayon-span-10"></span><a href="http://bit.ly/NQfZN5" target="_blank" class="crayon-question">' . crayon__('?') . '</a></div>' ;
681
+ }
682
+
683
+ public static function show_posts() {
684
+ $posts = self::load_posts();
685
+ arsort($posts);
686
+
687
+ echo '<table class="crayon-table" cellspacing="0" cellpadding="0"><tr class="crayon-table-header">',
688
+ '<td>ID</td><td>Title</td><td>Posted</td><td>Modified</td></tr>';
689
+
690
+ for ($i = 0; $i < count($posts); $i++) {
691
+ $postID = $posts[$i];
692
+ $post = get_post($postID);
693
+ $tr = ($i == count($posts) - 1) ? 'crayon-table-last' : '';
694
+ echo '<tr class="', $tr, '">',
695
+ '<td>', $postID, '</td>',
696
+ '<td><a href="', $post->guid ,'" target="_blank">', $post->post_title, '</a></td>',
697
+ '<td>', $post->post_date, '</td>',
698
+ '<td>', $post->post_modified, '</td>',
699
+ '</tr>';
700
+ }
701
+
702
+ echo '</table>';
703
+ exit();
704
+ }
705
+
706
+ public static function show_preview() {
707
+ echo '<div id="content">';
708
+
709
+ self::load_settings(); // Run first to ensure global settings loaded
710
+
711
+ $crayon = CrayonWP::instance();
712
+
713
+ // Settings to prevent from validating
714
+ $preview_settings = array();
715
+
716
+ // Load settings from GET and validate
717
+ foreach ($_GET as $key => $value) {
718
+ // echo $key, ' ', $value , '<br/>';
719
+ if (!in_array($key, $preview_settings)) {
720
+ $_GET[$key] = CrayonSettings::validate($key, $value);
721
+ }
722
+ }
723
+ $crayon->settings($_GET);
724
+ if (!isset($crayon_preview_dont_override_get) || !$crayon_preview_dont_override_get) {
725
+ $settings = array(CrayonSettings::TOP_SET => TRUE, CrayonSettings::TOP_MARGIN => 10,
726
+ CrayonSettings::BOTTOM_SET => FALSE, CrayonSettings::BOTTOM_MARGIN => 0);
727
+ $crayon->settings($settings);
728
+ }
729
+
730
+ // Print the theme CSS
731
+ $theme_id = $crayon->setting_val(CrayonSettings::THEME);
732
+ if ($theme_id != NULL) {
733
+ echo CrayonResources::themes()->get_css($theme_id);
734
+ }
735
+
736
+ $font_id = $crayon->setting_val(CrayonSettings::FONT);
737
+ if ($font_id != NULL /*&& $font_id != CrayonFonts::DEFAULT_FONT*/) {
738
+ echo CrayonResources::fonts()->get_css($font_id);
739
+ }
740
+
741
+ // Load custom code based on language
742
+ $lang = $crayon->setting_val(CrayonSettings::FALLBACK_LANG);
743
+ $path = crayon_pf( CRAYON_UTIL_PATH . '/sample/' . $lang . '.txt', FALSE );
744
+
745
+ if ($lang && @file_exists($path)) {
746
+ $crayon->url($path);
747
+ } else {
748
+ $code = "
749
+ // A sample class
750
+ class Human {
751
+ private int age = 0;
752
+ public void birthday() {
753
+ age++;
754
+ print('Happy Birthday!');
755
+ }
756
+ }
757
+ ";
758
+ $crayon->code($code);
759
+ }
760
+ $crayon->title('Sample Code');
761
+ $crayon->marked('5-7');
762
+ $crayon->output($highlight = true, $nums = true, $print = true);
763
+ echo '</div>';
764
+ crayon_load_plugin_textdomain();
765
+ exit();
766
+ }
767
+
768
  public static function theme($editor = FALSE) {
769
  $db_theme = self::$options[CrayonSettings::THEME]; // Theme name from db
770
  if (!array_key_exists(CrayonSettings::THEME, self::$options)) {
777
  }
778
  // Theme editor
779
  if (CRAYON_THEME_EDITOR) {
780
+ // echo '<a id="crayon-theme-editor-button" class="button-primary crayon-admin-button" loading="'. crayon__('Loading...') .'" loaded="'. crayon__('Theme Editor') .'" >'. crayon__('Theme Editor') .'</a></br>';
781
  echo '<div id="crayon-theme-editor-admin-buttons">',
782
+ '<a id="crayon-theme-editor-edit-button" class="button-primary crayon-admin-button" loading="', crayon__('Loading...'), '" loaded="', crayon__('Edit'), '" >', crayon__('Edit'), '</a>',
783
+ '<a id="crayon-theme-editor-create-button" class="button-primary crayon-admin-button" loading="', crayon__('Loading...'), '" loaded="', crayon__('Create'), '" >', crayon__('Create'), '</a></br></div>';
784
  }
785
  // Preview Box
786
+ echo '<div id="crayon-live-preview"></div>';
787
  echo '<div id="crayon-preview-info">';
788
  printf(crayon__('Change the %1$sfallback language%2$s to change the sample code. Lines 5-7 are marked.'), '<a href="#langs">', '</a>');
789
  echo '</div>';
831
  echo '</span>';
832
  self::checkbox(array(CrayonSettings::POPUP, crayon__('Enable opening code in a window')));
833
  self::checkbox(array(CrayonSettings::SCROLL, crayon__('Always display scrollbars')));
 
 
834
  echo '</div>';
 
835
  if (!$editor) {
836
  self::checkbox(array(CrayonSettings::DECODE, crayon__('Decode HTML entities in code')));
837
  }
843
  echo '<div class="crayon-hide-inline-only">';
844
  self::checkbox(array(CrayonSettings::SHOW_MIXED, crayon__('Show Mixed Language Icon (+)')));
845
  echo '</div>';
846
+ self::span(crayon__('Tab size in spaces').': ');
847
+ self::textbox(array('id' => CrayonSettings::TAB_SIZE, 'size' => 2, 'break' => TRUE));
848
+ self::span(crayon__('Blank lines before code:') . ' ');
849
+ self::textbox(array('id' => CrayonSettings::WHITESPACE_BEFORE, 'size' => 2, 'break' => TRUE));
850
+ self::span(crayon__('Blank lines after code:') . ' ');
851
+ self::textbox(array('id' => CrayonSettings::WHITESPACE_AFTER, 'size' => 2, 'break' => TRUE));
852
  }
853
+
854
  public static function tags() {
855
  self::checkbox(array(CrayonSettings::CAPTURE_MINI_TAG, crayon__('Capture Mini Tags like [php][/php] as Crayons.') . ' <a href="http://bit.ly/rRZuzk" target="_blank" class="crayon-question">' . crayon__('?') . '</a>'));
856
  self::checkbox(array(CrayonSettings::INLINE_TAG, crayon__('Capture Inline Tags like {php}{/php} inside sentences.') . ' <a href="http://bit.ly/yFafFL" target="_blank" class="crayon-question">' . crayon__('?') . '</a>'));
863
  public static function files() {
864
  echo '<a name="files"></a>';
865
  echo crayon__('When loading local files and a relative path is given for the URL, use the absolute path'),': ',
866
+ '<div style="margin-left: 20px">', home_url(), '/';
867
  self::textbox(array('id' => CrayonSettings::LOCAL_PATH));
868
  echo '</div>', crayon__('Followed by your relative URL.');
869
  }
870
+
871
  public static function tag_editor() {
872
+ $can_convert = CrayonWP::can_convert_tags();
873
+ if ($can_convert) {
874
+ $disabled = '';
875
+ $convert_text = crayon__('Convert Legacy Tags');
876
+ } else {
877
+ $disabled = 'disabled="disabled"';
878
+ $convert_text = crayon__('No Legacy Tags Found');
879
+ }
880
+
881
+ echo '<input type="submit" name="', self::OPTIONS, '[convert]" id="convert" class="button-primary" value="', $convert_text, '"', $disabled, ' />';
882
+ echo '<span class="crayon-span-10"></span><span>' . crayon__('Convert existing Crayon tags to Tag Editor format (&lt;pre&gt;)'), '</span>', ' <a href="http://bit.ly/ReRr0i" target="_blank" class="crayon-question">' . crayon__('?') . '</a>', CRAYON_BR, CRAYON_BR;
883
  $sep = sprintf(crayon__('Use %s to separate setting names from values in the &lt;pre&gt; class attribute'),
884
+ self::dropdown(CrayonSettings::ATTR_SEP, FALSE, FALSE, FALSE));
885
+ echo '<span>', $sep, ' <a href="http://bit.ly/H3xW3D" target="_blank" class="crayon-question">' . crayon__('?') . '</a>', '</span><br/>';
886
+ self::checkbox(array(CrayonSettings::TAG_EDITOR_FRONT, crayon__("Display the Tag Editor in any TinyMCE instances on the frontend")));
887
+ self::checkbox(array(CrayonSettings::TAG_EDITOR_SETTINGS, crayon__("Display Tag Editor settings on the frontend")));
888
  }
889
 
890
  public static function misc() {
917
  $writable = is_writable(CRAYON_LOG_FILE);
918
  if (!empty($log)) {
919
  echo '<div id="crayon-log-wrapper">', '<div id="crayon-log"><div id="crayon-log-text">', $log,
920
+ '</div></div>', '<div id="crayon-log-controls">',
921
+ '<input type="button" id="crayon-log-toggle" show_txt="',crayon__('Show Log'),'" hide_txt="',crayon__('Hide Log'),'" class="button-secondary" value="', crayon__('Show Log'), '"> ',
922
+ '<input type="submit" id="crayon-log-clear" name="', self::LOG_CLEAR ,
923
+ '" class="button-secondary" value="', crayon__('Clear Log'), '"> ', '<input type="submit" id="crayon-log-email" name="',
924
+ self::LOG_EMAIL_ADMIN . '" class="button-secondary" value="', crayon__('Email Admin'), '"> ',
925
+ '<input type="submit" id="crayon-log-email" name="', self::LOG_EMAIL_DEV,
926
+ '" class="button-secondary" value="', crayon__('Email Developer'), '"> ', '</div>', '</div>';
927
  }
928
  echo '<span', (!empty($log)) ? ' class="crayon-span"' : '', '>', (empty($log)) ? crayon__('The log is currently empty.').' ' : '';
929
  if ($exists) {
943
  $date = $CRAYON_DATE;
944
  $developer = '<strong>'.crayon__('Developer').':</strong> ' . '<a href="'.$CRAYON_AUTHOR_SITE.'" target="_blank">' . $CRAYON_AUTHOR . '</a>';
945
  $translators = '<strong>'.crayon__('Translators').':</strong> ' .
946
+ 'Chinese (<a href="http://smerpup.com/" target="_blank">Dezhi Liu</a>, <a href="http://neverno.me/" target="_blank">Jash Yin</a>),
947
+ Dutch (<a href="https://twitter.com/#!/chilionsnoek" target="_blank">Chilion Snoek</a>),
948
+ German (<a href="http://www.technologyblog.de/" target="_blank">Stephan Knau&#223;</a>),
949
+ Italian (<a href="http://www.federicobellucci.net/" target="_blank">Federico Bellucci</a>),
950
+ Lithuanian (<a href="http://www.host1free.com" target="_blank">Vincent G</a>),
951
+ Japanese (<a href="https://twitter.com/#!/west_323" target="_blank">@west_323</a>),
952
+ Russian (<a href="http://simplelib.com/" target="_blank">Minimus</a>, <a href="http://atlocal.net/" target="_blank">Di_Skyer</a>),
953
+ Spanish (<a href="http://www.hbravo.com/" target="_blank">Hermann Bravo</a>),
954
+ Turkish (<a href="http://hakanertr.wordpress.com" target="_blank">Hakan</a>)';
955
+
956
  $links = '<a id="twitter-icon" href="' . $CRAYON_TWITTER . '" target="_blank"></a>
957
+ <a id="gmail-icon" href="mailto:' . $CRAYON_EMAIL . '" target="_blank"></a><div id="crayon-donate"><a href="' . $CRAYON_DONATE . '" target="_blank"><img src="'.plugins_url(CRAYON_DONATE_BUTTON, __FILE__).'"></a></div>';
958
+
959
  echo '
960
+ <table id="crayon-info" border="0">
 
 
 
961
  <tr>
962
+ <td>'.$version.' - '.$date.'</td>
963
+ </tr>
964
+ <tr>
965
+ <td>'.$developer.'</td>
966
  </tr>
967
  <tr>
968
+ <td>'.$translators.'</td>
969
  </tr>
970
  <tr>
971
+ <td colspan="2">', crayon__("The result of innumerable hours of hard work over many months. It's an ongoing project, keep me motivated!"), '</td>
972
  </tr>
973
  <tr>
974
+ <td colspan="2">'.$links.'</td>
975
  </tr>
976
+ </table>';
977
+
978
  }
979
+
980
  public static function plugin_row_meta($meta, $file) {
981
  global $CRAYON_DONATE;
982
  if ($file == CrayonWP::basename()) {
crayon_wp.class.php CHANGED
@@ -1,33 +1,33 @@
1
  <?php
2
  /*
3
- Plugin Name: Crayon Syntax Highlighter
4
  Plugin URI: http://ak.net84.net/projects/crayon-syntax-highlighter
5
  Description: Supports multiple languages, themes, highlighting from a URL, local file or post text.
6
- Version: 1.10
7
  Author: Aram Kocharyan
8
  Author URI: http://ak.net84.net/
9
  Text Domain: crayon-syntax-highlighter
10
  Domain Path: /trans/
11
  License: GPL2
12
- Copyright 2011 Aram Kocharyan (email : akarmenia@gmail.com)
13
- This program is free software; you can redistribute it and/or modify
14
- it under the terms of the GNU General Public License, version 2, as
15
- published by the Free Software Foundation.
16
-
17
- This program is distributed in the hope that it will be useful,
18
- but WITHOUT ANY WARRANTY; without even the implied warranty of
19
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20
- GNU General Public License for more details.
21
-
22
- You should have received a copy of the GNU General Public License
23
- along with this program; if not, write to the Free Software
24
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
25
  */
26
  require_once ('global.php');
27
  require_once (CRAYON_HIGHLIGHTER_PHP);
28
  require_once (CRAYON_TE_PHP);
29
  require_once (CRAYON_THEME_EDITOR_PHP);
30
- require_once ('crayon_settings_wp.class.php');
31
 
32
  if (defined('ABSPATH')) {
33
  // Used to get plugin version info
@@ -49,71 +49,83 @@ class CrayonWP {
49
  private static $is_excerpt = FALSE;
50
  // Whether we have added styles and scripts
51
  private static $enqueued = FALSE;
52
- // Whether we have already printed the wp head
53
  private static $wp_head = FALSE;
54
  // Used to keep Crayon IDs
55
  private static $next_id = 0;
56
  // String to store the regex for capturing mini tags
57
  private static $alias_regex = '';
58
  private static $tags_regex = '';
59
- private static $is_tags_regex_init = FALSE;
60
-
 
 
 
 
 
 
 
 
61
  // Used to detect the shortcode
62
  const REGEX_CLOSED = '(?:\[\s*crayon(?:-(\w+))?\b([^\]]*)/\s*\])'; // [crayon atts="" /]
63
  const REGEX_TAG = '(?:\[\s*crayon(?:-(\w+))?\b([^\]]*)\][\r\n]*?(.*?)[\r\n]*?\[\s*/\s*crayon\s*\])'; // [crayon atts=""] ... [/crayon]
64
  const REGEX_INLINE_CLASS = '\bcrayon-inline\b';
65
-
66
  const REGEX_CLOSED_NO_CAPTURE = '(?:\[\s*crayon\b[^\]]*/\])';
67
  const REGEX_TAG_NO_CAPTURE = '(?:\[\s*crayon\b[^\]]*\][\r\n]*?.*?[\r\n]*?\[/crayon\])';
68
-
69
  const REGEX_QUICK_CAPTURE = '(?:\[\s*crayon[^\]]*\].*?\[\s*/\s*crayon\s*\])|(?:\[\s*crayon[^\]]*/\s*\])';
70
-
71
  const REGEX_BETWEEN_PARAGRAPH = '<p[^<]*>(?:[^<]*<(?!/?p(\s+[^>]*)?>)[^>]+(\s+[^>]*)?>)*[^<]*((?:\[\s*crayon[^\]]*\].*?\[\s*/\s*crayon\s*\])|(?:\[\s*crayon[^\]]*/\s*\]))(?:[^<]*<(?!/?p(\s+[^>]*)?>)[^>]+(\s+[^>]*)?>)*[^<]*</p[^<]*>';
72
  const REGEX_BETWEEN_PARAGRAPH_SIMPLE = '(<p(?:\s+[^>]*)?>)(.*?)(</p(?:\s+[^>]*)?>)';
73
-
74
  // For [crayon-id/]
75
  const REGEX_BR_BEFORE = '#<\s*br\s*/?\s*>\s*(\[\s*crayon-\w+\])#msi';
76
  const REGEX_BR_AFTER = '#(\[\s*crayon-\w+\])\s*<\s*br\s*/?\s*>#msi';
77
-
78
  const REGEX_ID = '#(?<!\$)\[\s*crayon#mi';
79
  //const REGEX_WITH_ID = '#(\[\s*crayon-\w+)\b([^\]]*["\'])(\s*/?\s*\])#mi';
80
  const REGEX_WITH_ID = '#\[\s*(crayon-\w+)\b[^\]]*\]#mi';
81
-
82
  const MODE_NORMAL = 0, MODE_JUST_CODE = 1, MODE_PLAIN_CODE = 2;
83
 
 
 
 
84
  // Public Methods =========================================================
85
-
86
  public static function post_captures() {
87
  return self::$post_queue;
88
  }
89
-
90
  // Methods ================================================================
91
 
92
- private function __construct() {}
93
-
 
94
  public static function regex() {
95
  return '#(?<!\$)(?:'. self::REGEX_CLOSED .'|'. self::REGEX_TAG .')(?!\$)#msi';
96
  }
97
-
98
  public static function regex_with_id($id) {
99
  return '#\[\s*(crayon-'.$id.')\b[^\]]*\]#mi';
100
  }
101
-
102
  public static function regex_no_capture() {
103
  return '#(?<!\$)(?:'. self::REGEX_CLOSED_NO_CAPTURE .'|'. self::REGEX_TAG_NO_CAPTURE .')(?!\$)#msi';
104
  }
105
-
106
  /**
107
- * Adds the actual Crayon instance, should only be called by add_shortcode()
108
- * $mode can be: 0 = return crayon content, 1 = return only code, 2 = return only plain code
109
  */
110
  public static function shortcode($atts, $content = NULL, $id = NULL) {
111
  CrayonLog::debug('shortcode');
112
-
113
  // Load attributes from shortcode
114
- $allowed_atts = array('url' => NULL, 'lang' => NULL, 'title' => NULL, 'mark' => NULL, 'inline' => NULL);
115
  $filtered_atts = shortcode_atts($allowed_atts, $atts);
116
-
117
  // Clean attributes
118
  $keys = array_keys($filtered_atts);
119
  for ($i = 0; $i < count($keys); $i++) {
@@ -123,18 +135,18 @@ class CrayonWP {
123
  $filtered_atts[$key] = trim(strip_tags($value));
124
  }
125
  }
126
-
127
  // Contains all other attributes not found in allowed, used to override global settings
128
  $extra_attr = array();
129
  if (!empty($atts)) {
130
  $extra_attr = array_diff_key($atts, $allowed_atts);
131
  $extra_attr = CrayonSettings::smart_settings($extra_attr);
132
  }
133
- $url = $lang = $title = $mark = $inline = '';
134
  extract($filtered_atts);
135
-
136
  $crayon = self::instance($extra_attr, $id);
137
-
138
  // Set URL
139
  $crayon->url($url);
140
  $crayon->code($content);
@@ -142,9 +154,10 @@ class CrayonWP {
142
  $crayon->language($lang);
143
  $crayon->title($title);
144
  $crayon->marked($mark);
145
-
 
146
  $crayon->is_inline($inline);
147
-
148
  // Determine if we should highlight
149
  $highlight = array_key_exists('highlight', $atts) ? CrayonUtil::str_to_bool($atts['highlight'], FALSE) : TRUE;
150
  $crayon->is_highlighted($highlight);
@@ -154,10 +167,10 @@ class CrayonWP {
154
  /* Returns Crayon instance */
155
  public static function instance($extra_attr = array(), $id = NULL) {
156
  CrayonLog::debug('instance');
157
-
158
  // Create Crayon
159
  $crayon = new CrayonHighlighter();
160
-
161
  /* Load settings and merge shortcode attributes which will override any existing.
162
  * Stores the other shortcode attributes as settings in the crayon. */
163
  if (!empty($extra_attr)) {
@@ -166,100 +179,111 @@ class CrayonWP {
166
  if (!empty($id)) {
167
  $crayon->id($id);
168
  }
169
-
170
  return $crayon;
171
  }
172
-
173
  /* For manually highlighting code, useful for other PHP contexts */
174
  public static function highlight($code) {
175
  $crayon_str = '';
176
-
177
  $captures = CrayonWP::capture_crayons(0, $code);
178
- $captures = $captures['capture'];
179
- foreach ($captures as $capture) {
 
180
  $id = $capture['id'];
181
  $atts = $capture['atts'];
182
  $no_enqueue = array(
183
  CrayonSettings::ENQUEUE_THEMES => FALSE,
184
  CrayonSettings::ENQUEUE_FONTS => FALSE);
185
  $atts = array_merge($atts, $no_enqueue);
186
- $content = $capture['code'];
187
- $crayon = CrayonWP::shortcode($atts, $content, $id);
188
  $crayon_formatted = $crayon->output(TRUE, FALSE);
189
- $crayon_str .= $crayon_formatted;
190
  }
191
-
192
- return $crayon_str;
193
  }
194
-
195
  /* Uses the main query */
196
  public static function wp() {
197
  CrayonLog::debug('wp (global)');
198
-
199
  global $wp_the_query;
200
  $posts = $wp_the_query->posts;
201
  self::the_posts($posts);
202
  }
203
-
204
- public static function capture_crayons($wp_id, $wp_content, $extra_settings = array()) {
 
 
 
 
 
 
 
205
  // Will contain captured crayons and altered $wp_content
206
  $capture = array('capture' => array(), 'content' => $wp_content, 'has_captured' => FALSE);
207
-
 
 
 
208
  CrayonLog::debug('capture for id ' . $wp_id . ' len ' . strlen($wp_content));
209
-
210
  // Convert <pre> tags to crayon tags, if needed
211
- if (CrayonGlobalSettings::val(CrayonSettings::CAPTURE_PRE)) {
212
  // XXX This will fail if <pre></pre> is used inside another <pre></pre>
213
  $wp_content = preg_replace_callback('#(?<!\$)<\s*pre(?=(?:([^>]*)\bclass\s*=\s*(["\'])(.*?)\2([^>]*))?)([^>]*)>(.*?)<\s*/\s*pre\s*>#msi', 'CrayonWP::pre_tag', $wp_content);
214
  }
215
-
216
  // Convert mini [php][/php] tags to crayon tags, if needed
217
- if (CrayonGlobalSettings::val(CrayonSettings::CAPTURE_MINI_TAG)) {
218
  $wp_content = preg_replace('#(?<!\$)\[\s*('.self::$alias_regex.')\b([^\]]*)\](.*?)\[\s*/\s*(?:\1)\s*\](?!\$)#msi', '[crayon lang="\1" \2]\3[/crayon]', $wp_content);
219
  $wp_content = preg_replace('#(?<!\$)\[\s*('.self::$alias_regex.')\b([^\]]*)/\s*\](?!\$)#msi', '[crayon lang="\1" \2 /]', $wp_content);
220
  }
221
-
222
  // Convert inline {php}{/php} tags to crayon tags, if needed
223
- if (CrayonGlobalSettings::val(CrayonSettings::INLINE_TAG)) {
224
  $wp_content = preg_replace('#(?<!\$)\{\s*('.self::$alias_regex.')\b([^\}]*)\}(.*?)\{/(?:\1)\}(?!\$)#msi', '[crayon lang="\1" inline="true" \2]\3[/crayon]', $wp_content);
225
  // Convert <span class="crayon-inline"> tags to inline crayon tags
226
  $wp_content = preg_replace_callback('#(?<!\$)<\s*span([^>]*)\bclass\s*=\s*(["\'])(.*?)\2([^>]*)>(.*?)<\s*/\s*span\s*>#msi', 'CrayonWP::span_tag', $wp_content);
227
  }
228
-
229
  // Convert [plain] tags into <pre><code></code></pre>, if needed
230
- if (CrayonGlobalSettings::val(CrayonSettings::PLAIN_TAG)) {
231
  $wp_content = preg_replace_callback('#(?<!\$)\[\s*plain\s*\](.*?)\[\s*/\s*plain\s*\]#msi', 'CrayonFormatter::plain_code', $wp_content);
232
  }
233
-
234
  // Add IDs to the Crayons
235
  CrayonLog::debug('capture adding id ' . $wp_id . ' , now has len ' . strlen($wp_content));
236
  $wp_content = preg_replace_callback(self::REGEX_ID, 'CrayonWP::add_crayon_id', $wp_content);
237
-
238
  CrayonLog::debug('capture added id ' . $wp_id . ' : ' . strlen($wp_content));
239
-
240
  // Only include if a post exists with Crayon tag
241
  preg_match_all(self::regex(), $wp_content, $matches);
242
-
243
  CrayonLog::debug('capture ignore for id ' . $wp_id . ' : ' . strlen($capture['content']) . ' vs ' . strlen($wp_content));
244
-
245
  if ( count($matches[0]) != 0 ) {
246
-
247
  // Crayons found! Load settings first to ensure global settings loaded
248
  CrayonSettingsWP::load_settings();
249
  $capture['has_captured'] = TRUE;
250
-
251
  CrayonLog::debug('CAPTURED FOR ID ' . $wp_id);
252
-
253
  $full_matches = $matches[0];
254
  $closed_ids = $matches[1];
255
  $closed_atts = $matches[2];
256
  $open_ids = $matches[3];
257
  $open_atts = $matches[4];
258
  $contents = $matches[5];
259
-
260
  // Make sure we enqueue the styles/scripts
261
  $enqueue = TRUE;
262
-
263
  for ($i = 0; $i < count($full_matches); $i++) {
264
  // Get attributes
265
  if ( !empty($closed_atts[$i]) ) {
@@ -269,7 +293,7 @@ class CrayonWP {
269
  } else {
270
  $atts = '';
271
  }
272
-
273
  // Capture attributes
274
  preg_match_all('#([^="\'\s]+)[\t ]*=[\t ]*("|\')(.*?)\2#', $atts, $att_matches);
275
  // Add extra attributes
@@ -279,7 +303,7 @@ class CrayonWP {
279
  $atts_array[trim(strtolower($att_matches[1][$j]))] = trim($att_matches[3][$j]);
280
  }
281
  }
282
-
283
  // Capture theme
284
  $theme_id = array_key_exists(CrayonSettings::THEME, $atts_array) ? $atts_array[CrayonSettings::THEME] : '';
285
  $theme = CrayonResources::themes()->get($theme_id);
@@ -296,10 +320,12 @@ class CrayonWP {
296
  }
297
  // If theme is now valid, change the array
298
  if ($theme) {
299
- $atts_array[CrayonSettings::THEME] = $theme_id;
 
 
300
  $theme->used(TRUE);
301
  }
302
-
303
  // Capture font
304
  $font_id = array_key_exists(CrayonSettings::FONT, $atts_array) ? $atts_array[CrayonSettings::FONT] : '';
305
  $font = CrayonResources::fonts()->get($font_id);
@@ -314,47 +340,58 @@ class CrayonWP {
314
  $font_id = CrayonFonts::DEFAULT_FONT;
315
  }
316
  }
317
-
318
  // If font is now valid, change the array
319
  if ($font/* != NULL && $font_id != CrayonFonts::DEFAULT_FONT*/) {
320
- $atts_array[CrayonSettings::FONT] = $font_id;
 
 
321
  $font->used(TRUE);
322
  }
323
-
324
  // Add array of atts and content to post queue with key as post ID
325
  // XXX If at this point no ID is added we have failed!
326
  $id = !empty($open_ids[$i]) ? $open_ids[$i] : $closed_ids[$i];
 
327
  $code = self::crayon_remove_ignore($contents[$i]);
328
- $capture['capture'][$id] = array('post_id'=>$wp_id, 'atts'=>$atts_array, 'code'=>$code);
 
 
329
  CrayonLog::debug('capture finished for post id ' . $wp_id . ' crayon-id ' . $id . ' atts: ' . count($atts_array) . ' code: ' . strlen($code));
330
  $is_inline = isset($atts_array['inline']) && CrayonUtil::str_to_bool($atts_array['inline'], FALSE) ? '-i' : '';
331
- $wp_content = str_replace($full_matches[$i], '[crayon-'.$id.$is_inline.'/]', $wp_content);
 
 
 
 
332
  }
333
-
334
  }
335
-
336
- // We need to escape ignored Crayons, since they won't be captured
337
- // XXX Do this after replacing the Crayon with the shorter ID tag, otherwise $full_matches will be different from $wp_content
338
- $wp_content = self::crayon_remove_ignore($wp_content);
339
-
 
 
340
  // Convert `` backquote tags into <code></code>, if needed
341
  // XXX Some code may contain `` so must do it after all Crayons are captured
342
  if (CrayonGlobalSettings::val(CrayonSettings::BACKQUOTE)) {
343
  $wp_content = preg_replace('#(?<!\\\\)`([^`]*)`#msi', '<code>$1</code>', $wp_content);
344
  }
345
-
346
  $capture['content'] = $wp_content;
347
  return $capture;
348
  }
349
-
350
  /* Search for Crayons in posts and queue them for creation */
351
  public static function the_posts($posts) {
352
  CrayonLog::debug('the_posts');
353
-
354
  // Whether to enqueue syles/scripts
355
  $enqueue = FALSE;
356
  CrayonSettingsWP::load_settings(TRUE); // Load just the settings from db, for now
357
-
358
  self::init_tags_regex();
359
  $crayon_posts = CrayonSettingsWP::load_posts(); // Loads posts containing crayons
360
 
@@ -367,25 +404,29 @@ class CrayonWP {
367
  if (CrayonGlobalSettings::val(CrayonSettings::SAFE_ENQUEUE) && is_page($wp_id)) {
368
  CrayonGlobalSettings::set(CrayonSettings::ENQUEUE_THEMES, false);
369
  CrayonGlobalSettings::set(CrayonSettings::ENQUEUE_FONTS, false);
370
- } else {
371
- // Only include crayon posts
372
- continue;
373
  }
 
 
374
  }
375
-
376
  $id_str = strval($wp_id);
377
 
 
 
 
 
 
378
  if ( isset(self::$post_captures[$id_str]) ) {
379
  // Don't capture twice
380
  // XXX post->post_content is reset each loop, replace content
381
  // Doing this might cause content changed by other plugins between the last loop
382
- // to fail, so be cautious
383
  $post->post_content = self::$post_captures[$id_str];
384
  continue;
385
  }
386
  // Capture post Crayons
387
- $captures = self::capture_crayons($post->ID, $post->post_content);
388
-
389
  // XXX Careful not to undo changes by other plugins
390
  // XXX Must replace to remove $ for ignored Crayons
391
  $post->post_content = $captures['content'];
@@ -396,31 +437,32 @@ class CrayonWP {
396
  foreach ($captures['capture'] as $capture_id=>$capture_content) {
397
  self::$post_queue[$id_str][$capture_id] = $capture_content;
398
  }
399
- }
400
-
401
  // Search for shortcode in comments
402
  if (CrayonGlobalSettings::val(CrayonSettings::COMMENTS)) {
403
  $comments = get_comments(array('post_id' => $post->ID));
404
- foreach ($comments as $comment) {
405
- $id_str = strval($comment->comment_ID);
406
  if ( isset(self::$comment_queue[$id_str]) ) {
407
  // Don't capture twice
408
  continue;
409
  }
410
  // Capture comment Crayons, decode their contents if decode not specified
411
- $captures = self::capture_crayons($comment->comment_ID, $comment->comment_content, array(CrayonSettings::DECODE => TRUE));
412
- self::$comment_captures[$id_str] = $captures['content'];
413
- if ($captures['has_captured'] === TRUE) {
414
- $enqueue = TRUE;
415
- self::$comment_queue[$id_str] = array();
416
- foreach ($captures['capture'] as $capture_id=>$capture_content) {
417
- self::$comment_queue[$id_str][$capture_id] = $capture_content;
418
- }
419
- }
420
- }
421
  }
422
  }
423
-
 
424
  if (!is_admin() && $enqueue && !self::$enqueued) {
425
  // Crayons have been found and we enqueue efficiently
426
  self::enqueue_resources();
@@ -428,33 +470,38 @@ class CrayonWP {
428
 
429
  return $posts;
430
  }
431
-
432
  private static function add_crayon_id($content) {
433
  $uid = $content[0].'-'.uniqid();
434
  CrayonLog::debug('add_crayon_id ' . $uid);
435
  return $uid;
436
  }
437
-
438
  private static function get_crayon_id() {
439
  return self::$next_id++;
440
  }
441
-
442
  private static function enqueue_resources() {
443
  CrayonLog::debug('enqueue');
444
-
445
  global $CRAYON_VERSION;
446
- wp_enqueue_style('crayon-style', plugins_url(CRAYON_STYLE, __FILE__), array(), $CRAYON_VERSION);
447
- //wp_enqueue_script('crayon-jquery', plugins_url(CRAYON_JQUERY, __FILE__), array(), $CRAYON_VERSION);
448
  wp_enqueue_script('crayon_util_js', plugins_url(CRAYON_JS_UTIL, __FILE__), array('jquery'), $CRAYON_VERSION);
449
- wp_enqueue_script('crayon-js', plugins_url(CRAYON_JS, __FILE__), array('jquery', 'crayon_util_js'), $CRAYON_VERSION);
450
- wp_enqueue_script('crayon-jquery-popup', plugins_url(CRAYON_JQUERY_POPUP, __FILE__), array('jquery'), $CRAYON_VERSION);
451
  self::$enqueued = TRUE;
452
  }
453
-
454
- private static function init_tags_regex() {
455
- if (!self::$is_tags_regex_init) {
456
- if ( CrayonGlobalSettings::val(CrayonSettings::CAPTURE_MINI_TAG) ||
457
- CrayonGlobalSettings::val(CrayonSettings::INLINE_TAG) ) {
 
 
 
 
 
458
  $aliases = CrayonResources::langs()->ids_and_aliases();
459
  for ($i = 0; $i < count($aliases); $i++) {
460
  $alias = $aliases[$i];
@@ -463,46 +510,89 @@ class CrayonWP {
463
  $alias_regex .= '|';
464
  }
465
  self::$alias_regex .= $alias_regex;
466
- }
467
  }
468
-
469
  // Add other tags
470
- self::$tags_regex = '#(\s*\[\s*crayon\b)';
471
- if (CrayonGlobalSettings::val(CrayonSettings::CAPTURE_MINI_TAG)) {
472
- self::$tags_regex .= '|([\[]\s*('.self::$alias_regex.'))';
473
- }
474
- if (CrayonGlobalSettings::val(CrayonSettings::CAPTURE_PRE)) {
475
- self::$tags_regex .= '|(<\s*pre\b)';
476
- }
477
- if (CrayonGlobalSettings::val(CrayonSettings::INLINE_TAG)) {
478
- self::$tags_regex .= '|('.self::REGEX_INLINE_CLASS.')'.'|([\{]\s*('.self::$alias_regex.'))';
479
- }
480
- if (CrayonGlobalSettings::val(CrayonSettings::PLAIN_TAG)) {
481
- self::$tags_regex .= '|(\s*\[\s*plain\b)';
 
 
482
  }
483
- if (CrayonGlobalSettings::val(CrayonSettings::BACKQUOTE)) {
484
- self::$tags_regex .= '|(`[^`]*`)';
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
485
  }
486
- self::$tags_regex .= '#msi';
487
- self::$is_tags_regex_init = TRUE;
488
  }
489
  }
490
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
491
  // Add Crayon into the_content
492
  public static function the_content($the_content) {
493
  CrayonLog::debug('the_content');
494
-
495
  // Some themes make redundant queries and don't need extra work...
496
  if (strlen($the_content) == 0) {
497
  CrayonLog::debug('the_content blank');
498
  return $the_content;
499
  }
500
-
501
  global $post;
502
-
503
  // Go through queued posts and find crayons
504
  $post_id = strval($post->ID);
505
-
506
  if (self::$is_excerpt) {
507
  CrayonLog::debug('excerpt');
508
  if (CrayonGlobalSettings::val(CrayonSettings::EXCERPT_STRIP)) {
@@ -518,29 +608,30 @@ class CrayonWP {
518
  if ( array_key_exists($post_id, self::$post_queue) ) {
519
  // XXX We want the plain post content, no formatting
520
  $the_content_original = $the_content;
521
-
522
  // Replacing may cause <p> tags to become disjoint with a <div> inside them, close and reopen them if needed
523
  $the_content = preg_replace_callback('#' . self::REGEX_BETWEEN_PARAGRAPH_SIMPLE . '#msi', 'CrayonWP::add_paragraphs', $the_content);
524
  // Loop through Crayons
525
  $post_in_queue = self::$post_queue[$post_id];
 
526
  foreach ($post_in_queue as $id=>$v) {
527
  $atts = $v['atts'];
528
  $content = $v['code']; // The code we replace post content with
529
  $crayon = self::shortcode($atts, $content, $id);
530
- if (is_feed()) {
531
  // Convert the plain code to entities and put in a <pre></pre> tag
532
- $crayon_formatted = CrayonFormatter::plain_code($crayon->code());
533
  } else {
534
  // Apply shortcode to the content
535
  $crayon_formatted = $crayon->output(TRUE, FALSE);
536
  }
537
  // Replace the code with the Crayon
538
- CrayonLog::debug('the_content: id '.$post_id. ' has UID ' . $id . ' : ' . intval(stripos($the_content, $id) !== FALSE) );
539
  $the_content = CrayonUtil::preg_replace_escape_back(self::regex_with_id($id), $crayon_formatted, $the_content, 1, $count);
540
  CrayonLog::debug('the_content: REPLACED for id '.$post_id. ' from len ' . strlen($the_content_original) . ' to ' . strlen($the_content));
541
  }
542
  }
543
-
544
  return $the_content;
545
  }
546
 
@@ -553,7 +644,7 @@ class CrayonWP {
553
  }
554
  return $text;
555
  }
556
-
557
  public static function comment_text($text) {
558
  global $comment;
559
  $comment_id = strval($comment->comment_ID);
@@ -563,14 +654,14 @@ class CrayonWP {
563
  $the_content_original = $text;
564
  // Loop through Crayons
565
  $post_in_queue = self::$comment_queue[$comment_id];
566
-
567
  foreach ($post_in_queue as $id=>$v) {
568
  $atts = $v['atts'];
569
  $content = $v['code']; // The code we replace post content with
570
  $crayon = self::shortcode($atts, $content, $id);
571
  $crayon_formatted = $crayon->output(TRUE, FALSE);
572
  // Replacing may cause <p> tags to become disjoint with a <div> inside them, close and reopen them if needed
573
- if (!$crayon->is_inline()) {
574
  $text = preg_replace_callback('#' . self::REGEX_BETWEEN_PARAGRAPH_SIMPLE . '#msi', 'CrayonWP::add_paragraphs', $text);
575
  }
576
  // Replace the code with the Crayon
@@ -579,7 +670,7 @@ class CrayonWP {
579
  }
580
  return $text;
581
  }
582
-
583
  public static function add_paragraphs($capture) {
584
  if (count($capture) != 4) {
585
  CrayonLog::debug('add_paragraphs: 0');
@@ -590,7 +681,7 @@ class CrayonWP {
590
  $paras = $capture[1].$capture[2].$capture[3];
591
  return $paras;
592
  }
593
-
594
  // Remove Crayons from the_excerpt
595
  public static function the_excerpt($the_excerpt) {
596
  CrayonLog::debug('excerpt');
@@ -605,7 +696,7 @@ class CrayonWP {
605
  // XXX Returning "" may cause it to default to full contents...
606
  return $the_excerpt . ' ';
607
  }
608
-
609
  // Refactored, used to capture pre and span tags which have settings in class attribute
610
  public static function class_tag($matches) {
611
  // If class exists, atts is not captured
@@ -615,7 +706,7 @@ class CrayonWP {
615
  $post_class = $matches[4];
616
  $atts = $matches[5];
617
  $content = $matches[6];
618
-
619
  // If we find a crayon=false in the attributes, or a crayon[:_]false in the class, then we should not capture
620
  $ignore_regex_atts = '#crayon\s*=\s*(["\'])\s*(false|no|0)\s*\1#msi';
621
  $ignore_regex_class = '#crayon\s*[:_]\s*(false|no|0)#msi';
@@ -623,14 +714,14 @@ class CrayonWP {
623
  preg_match($ignore_regex_class, $class) !== 0 ) {
624
  return $matches[0];
625
  }
626
-
627
  if (!empty($class)) {
628
  // crayon-inline is turned into inline="1"
629
  $class = preg_replace('#'.self::REGEX_INLINE_CLASS.'#mi', 'inline="1"', $class);
630
  // "setting[:_]value" style settings in the class attribute
631
  $class = preg_replace('#\b([A-Za-z-]+)[_:](\S+)#msi', '$1='.$quotes.'$2'.$quotes, $class);
632
  }
633
-
634
  // data-url is turned into url=""
635
  if (!empty($post_class)) {
636
  $post_class = preg_replace('#\bdata-url\s*=#mi', 'url=', $post_class);
@@ -638,14 +729,14 @@ class CrayonWP {
638
  if (!empty($pre_class)) {
639
  $pre_class = preg_replace('#\bdata-url\s*=#mi', 'url=', $post_class);
640
  }
641
-
642
  if (!empty($class)) {
643
  return "[crayon $pre_class $class $post_class]{$content}[/crayon]";
644
  } else {
645
  return "[crayon $atts]{$content}[/crayon]";
646
  }
647
  }
648
-
649
  // Capture span tag and extract settings from the class attribute, if present.
650
  public static function span_tag($matches) {
651
  // Only use <span> tags with crayon-inline class
@@ -659,12 +750,12 @@ class CrayonWP {
659
  return $matches[0];
660
  }
661
  }
662
-
663
  // Capture pre tag and extract settings from the class attribute, if present.
664
  public static function pre_tag($matches) {
665
  return self::class_tag($matches);
666
  }
667
-
668
  // Check if the $ notation has been used to ignore [crayon] tags within posts and remove all matches
669
  // Can also remove if used without $ as a regular crayon
670
  public static function crayon_remove_ignore($the_content, $ignore_flag = '$') {
@@ -672,21 +763,23 @@ class CrayonWP {
672
  $ignore_flag = '';
673
  }
674
  $ignore_flag_regex = preg_quote($ignore_flag);
675
-
676
  $the_content = preg_replace('#'.$ignore_flag_regex.'(\s*\[\s*crayon)#msi', '$1', $the_content);
677
  $the_content = preg_replace('#(crayon\s*\])\s*\$#msi', '$1', $the_content);
678
-
679
  if (CrayonGlobalSettings::val(CrayonSettings::CAPTURE_PRE)) {
680
  $the_content = str_ireplace(array($ignore_flag.'<pre', 'pre>'.$ignore_flag), array('<pre', 'pre>'), $the_content);
 
 
681
  }
682
  if (CrayonGlobalSettings::val(CrayonSettings::PLAIN_TAG)) {
683
  $the_content = str_ireplace(array($ignore_flag.'[plain', 'plain]'.$ignore_flag), array('[plain', 'plain]'), $the_content);
684
  }
685
  if (CrayonGlobalSettings::val(CrayonSettings::CAPTURE_MINI_TAG) ||
686
- CrayonGlobalSettings::val(CrayonSettings::INLINE_TAG)) {
687
- self::init_tags_regex();
688
- // $the_content = preg_replace('#'.$ignore_flag_regex.'\s*([\[\{])\s*('. self::$alias_regex .')#', '$1$2', $the_content);
689
- // $the_content = preg_replace('#('. self::$alias_regex .')\s*([\]\}])\s*'.$ignore_flag_regex.'#', '$1$2', $the_content);
690
  $the_content = preg_replace('#'.$ignore_flag_regex.'(\s*[\[\{]\s*('. self::$alias_regex .')[^\]]*[\]\}])#', '$1', $the_content);
691
  }
692
  if (CrayonGlobalSettings::val(CrayonSettings::BACKQUOTE)) {
@@ -697,7 +790,7 @@ class CrayonWP {
697
 
698
  public static function wp_head() {
699
  CrayonLog::debug('head');
700
-
701
  self::$wp_head = TRUE;
702
  if (!self::$enqueued) {
703
  CrayonLog::debug('head: missed enqueue');
@@ -718,21 +811,55 @@ class CrayonWP {
718
  self::crayon_font_css();
719
  }
720
  }
721
-
722
- public static function save_post($id, $post) {
723
- CrayonSettingsWP::load_settings(TRUE);
724
- if (wp_is_post_revision($id)) {
725
- // Ignore revisions
726
- return;
727
- }
 
 
728
  self::init_tags_regex();
 
729
  if (preg_match(self::$tags_regex, $post->post_content)) {
730
  CrayonSettingsWP::add_post($id);
731
  } else {
732
- CrayonSettingsWP::remove_post($id);
 
 
 
 
 
 
 
 
 
 
 
 
 
733
  }
734
  }
735
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
736
  public static function crayon_theme_css() {
737
  global $CRAYON_VERSION;
738
  $css = CrayonResources::themes()->get_used_css();
@@ -740,7 +867,7 @@ class CrayonWP {
740
  wp_enqueue_style('crayon-theme-'.$theme, $url, array(), $CRAYON_VERSION);
741
  }
742
  }
743
-
744
  public static function crayon_font_css() {
745
  global $CRAYON_VERSION;
746
  $css = CrayonResources::fonts()->get_used_css();
@@ -748,126 +875,279 @@ class CrayonWP {
748
  wp_enqueue_style('crayon-font-'.$font_id, $url, array(), $CRAYON_VERSION);
749
  }
750
  }
751
-
752
  public static function init($request) {
753
  CrayonLog::debug('init');
754
  crayon_load_plugin_textdomain();
755
  }
756
 
757
- // Scan for all posts and add crayon posts
758
- public static function scan_posts() {
759
- self::init_tags_regex();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
760
  $crayon_posts = array();
761
  $query = new WP_Query(array('post_type' => 'any', 'suppress_filters' => TRUE, 'posts_per_page' => '-1'));
762
  foreach ($query->posts as $post) {
 
763
  if (preg_match(self::$tags_regex, $post->post_content)) {
764
- $crayon_posts[] = $post->ID;
 
 
 
 
 
 
 
 
 
 
 
765
  }
766
  }
767
  return $crayon_posts;
768
  }
769
-
770
  public static function install() {
771
  self::update();
772
  }
773
 
774
  public static function uninstall() {
775
-
776
  }
777
-
778
- public static function update() {
779
- // Upgrade database and settings
780
  global $CRAYON_VERSION;
 
781
  $settings = CrayonSettingsWP::get_settings();
782
  if ($settings === NULL || !isset($settings[CrayonSettings::VERSION])) {
783
  return;
784
  }
785
-
786
  $version = $settings[CrayonSettings::VERSION];
787
- $defaults = CrayonSettings::get_defaults_array();
788
- $touched = FALSE;
789
-
790
- if ($version < '1.7.21') {
791
- $settings[CrayonSettings::SCROLL] = $defaults[CrayonSettings::SCROLL];
792
- $touched = TRUE;
793
- }
794
-
795
- if ($version < '1.7.23' && $settings[CrayonSettings::FONT] == 'theme-font') {
796
- $settings[CrayonSettings::FONT] = $defaults[CrayonSettings::FONT];
797
- $touched = TRUE;
798
- }
799
 
800
- if ($touched) {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
801
  $settings[CrayonSettings::VERSION] = $CRAYON_VERSION;
802
  CrayonSettingsWP::save_settings($settings);
 
 
 
 
 
803
  }
804
  }
805
-
806
  public static function basename() {
807
  return plugin_basename(__FILE__);
808
- }
809
-
810
- public static function wp_load_path() {
811
- $wp_root_path = dirname(dirname(dirname(CRAYON_ROOT_PATH)));
812
- return $wp_root_path . '/wp-load.php';
813
  }
814
-
 
 
 
 
 
 
 
 
 
815
  public static function pre_excerpt($e) {
816
  CrayonLog::debug('pre_excerpt');
817
  self::$is_excerpt = TRUE;
818
  return $e;
819
  }
820
-
821
  public static function post_excerpt($e) {
822
  CrayonLog::debug('post_excerpt');
823
  self::$is_excerpt = FALSE;
824
  $e = self::the_content($e);
825
  return $e;
826
  }
827
-
828
  public static function post_get_excerpt($e) {
829
  CrayonLog::debug('post_get_excerpt');
830
  self::$is_excerpt = FALSE;
831
  return $e;
832
  }
833
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
834
  }
835
 
836
- // Only if WP is loaded and not in admin
837
  if (defined('ABSPATH')) {
838
  if (!is_admin()) {
839
  register_activation_hook(__FILE__, 'CrayonWP::install');
840
  register_deactivation_hook(__FILE__, 'CrayonWP::uninstall');
841
-
842
- // // Filters and Actions
 
843
  add_filter('init', 'CrayonWP::init');
844
-
845
  CrayonSettingsWP::load_settings(TRUE);
846
  if (CrayonGlobalSettings::val(CrayonSettings::MAIN_QUERY)) {
847
  add_action('wp', 'CrayonWP::wp', 100);
848
  } else {
849
  add_filter('the_posts', 'CrayonWP::the_posts', 100);
850
  }
851
-
852
  // XXX Some themes like to play with the content, make sure we replace after they're done
853
  add_filter('the_content', 'CrayonWP::the_content', 100);
854
-
 
 
 
 
 
 
855
  if (CrayonGlobalSettings::val(CrayonSettings::COMMENTS)) {
856
  /* XXX This is called first to match Crayons, then higher priority replaces after other filters.
857
- Prevents Crayon from being formatted by the filters, and also keeps original comment formatting. */
858
  add_filter('comment_text', 'CrayonWP::pre_comment_text', 1);
859
  add_filter('comment_text', 'CrayonWP::comment_text', 100);
860
  }
861
-
862
  // This ensures Crayons are not formatted by WP filters. Other plugins should specify priorities between 1 and 100.
863
  add_filter('get_the_excerpt', 'CrayonWP::pre_excerpt', 1);
864
  add_filter('get_the_excerpt', 'CrayonWP::post_get_excerpt', 100);
865
  add_filter('the_excerpt', 'CrayonWP::post_excerpt', 100);
866
-
867
- add_action('template_redirect', 'CrayonWP::wp_head');
868
  } else {
 
 
869
  // For marking a post as containing a Crayon
870
  add_action('save_post', 'CrayonWP::save_post', 10, 2);
 
 
 
 
 
871
  }
872
  }
873
 
1
  <?php
2
  /*
3
+ Plugin Name: Crayon Syntax Highlighter
4
  Plugin URI: http://ak.net84.net/projects/crayon-syntax-highlighter
5
  Description: Supports multiple languages, themes, highlighting from a URL, local file or post text.
6
+ Version: 1.14
7
  Author: Aram Kocharyan
8
  Author URI: http://ak.net84.net/
9
  Text Domain: crayon-syntax-highlighter
10
  Domain Path: /trans/
11
  License: GPL2
12
+ Copyright 2012 Aram Kocharyan (email : akarmenia@gmail.com)
13
+ This program is free software; you can redistribute it and/or modify
14
+ it under the terms of the GNU General Public License, version 2, as
15
+ published by the Free Software Foundation.
16
+
17
+ This program is distributed in the hope that it will be useful,
18
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
19
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20
+ GNU General Public License for more details.
21
+
22
+ You should have received a copy of the GNU General Public License
23
+ along with this program; if not, write to the Free Software
24
+ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
25
  */
26
  require_once ('global.php');
27
  require_once (CRAYON_HIGHLIGHTER_PHP);
28
  require_once (CRAYON_TE_PHP);
29
  require_once (CRAYON_THEME_EDITOR_PHP);
30
+ require_once ('crayon_settings_wp.class.php');
31
 
32
  if (defined('ABSPATH')) {
33
  // Used to get plugin version info
49
  private static $is_excerpt = FALSE;
50
  // Whether we have added styles and scripts
51
  private static $enqueued = FALSE;
52
+ // Whether we have already printed the wp head
53
  private static $wp_head = FALSE;
54
  // Used to keep Crayon IDs
55
  private static $next_id = 0;
56
  // String to store the regex for capturing mini tags
57
  private static $alias_regex = '';
58
  private static $tags_regex = '';
59
+ private static $tag_regexes = array();
60
+ // Defined constants used in bitwise flags
61
+ private static $tag_types = array(
62
+ CrayonSettings::CAPTURE_MINI_TAG,
63
+ CrayonSettings::CAPTURE_PRE,
64
+ CrayonSettings::INLINE_TAG,
65
+ CrayonSettings::PLAIN_TAG,
66
+ CrayonSettings::BACKQUOTE);
67
+ private static $tag_bits = array();
68
+
69
  // Used to detect the shortcode
70
  const REGEX_CLOSED = '(?:\[\s*crayon(?:-(\w+))?\b([^\]]*)/\s*\])'; // [crayon atts="" /]
71
  const REGEX_TAG = '(?:\[\s*crayon(?:-(\w+))?\b([^\]]*)\][\r\n]*?(.*?)[\r\n]*?\[\s*/\s*crayon\s*\])'; // [crayon atts=""] ... [/crayon]
72
  const REGEX_INLINE_CLASS = '\bcrayon-inline\b';
73
+
74
  const REGEX_CLOSED_NO_CAPTURE = '(?:\[\s*crayon\b[^\]]*/\])';
75
  const REGEX_TAG_NO_CAPTURE = '(?:\[\s*crayon\b[^\]]*\][\r\n]*?.*?[\r\n]*?\[/crayon\])';
76
+
77
  const REGEX_QUICK_CAPTURE = '(?:\[\s*crayon[^\]]*\].*?\[\s*/\s*crayon\s*\])|(?:\[\s*crayon[^\]]*/\s*\])';
78
+
79
  const REGEX_BETWEEN_PARAGRAPH = '<p[^<]*>(?:[^<]*<(?!/?p(\s+[^>]*)?>)[^>]+(\s+[^>]*)?>)*[^<]*((?:\[\s*crayon[^\]]*\].*?\[\s*/\s*crayon\s*\])|(?:\[\s*crayon[^\]]*/\s*\]))(?:[^<]*<(?!/?p(\s+[^>]*)?>)[^>]+(\s+[^>]*)?>)*[^<]*</p[^<]*>';
80
  const REGEX_BETWEEN_PARAGRAPH_SIMPLE = '(<p(?:\s+[^>]*)?>)(.*?)(</p(?:\s+[^>]*)?>)';
81
+
82
  // For [crayon-id/]
83
  const REGEX_BR_BEFORE = '#<\s*br\s*/?\s*>\s*(\[\s*crayon-\w+\])#msi';
84
  const REGEX_BR_AFTER = '#(\[\s*crayon-\w+\])\s*<\s*br\s*/?\s*>#msi';
85
+
86
  const REGEX_ID = '#(?<!\$)\[\s*crayon#mi';
87
  //const REGEX_WITH_ID = '#(\[\s*crayon-\w+)\b([^\]]*["\'])(\s*/?\s*\])#mi';
88
  const REGEX_WITH_ID = '#\[\s*(crayon-\w+)\b[^\]]*\]#mi';
89
+
90
  const MODE_NORMAL = 0, MODE_JUST_CODE = 1, MODE_PLAIN_CODE = 2;
91
 
92
+
93
+ //const TAGS = array(CrayonSettings::CAPTURE_MINI_TAG => 1 | 1);
94
+
95
  // Public Methods =========================================================
96
+
97
  public static function post_captures() {
98
  return self::$post_queue;
99
  }
100
+
101
  // Methods ================================================================
102
 
103
+ private function __construct() {
104
+ }
105
+
106
  public static function regex() {
107
  return '#(?<!\$)(?:'. self::REGEX_CLOSED .'|'. self::REGEX_TAG .')(?!\$)#msi';
108
  }
109
+
110
  public static function regex_with_id($id) {
111
  return '#\[\s*(crayon-'.$id.')\b[^\]]*\]#mi';
112
  }
113
+
114
  public static function regex_no_capture() {
115
  return '#(?<!\$)(?:'. self::REGEX_CLOSED_NO_CAPTURE .'|'. self::REGEX_TAG_NO_CAPTURE .')(?!\$)#msi';
116
  }
117
+
118
  /**
119
+ * Adds the actual Crayon instance.
120
+ * $mode can be: 0 = return crayon content, 1 = return only code, 2 = return only plain code
121
  */
122
  public static function shortcode($atts, $content = NULL, $id = NULL) {
123
  CrayonLog::debug('shortcode');
124
+
125
  // Load attributes from shortcode
126
+ $allowed_atts = array('url' => NULL, 'lang' => NULL, 'title' => NULL, 'mark' => NULL, 'range' => NULL, 'inline' => NULL);
127
  $filtered_atts = shortcode_atts($allowed_atts, $atts);
128
+
129
  // Clean attributes
130
  $keys = array_keys($filtered_atts);
131
  for ($i = 0; $i < count($keys); $i++) {
135
  $filtered_atts[$key] = trim(strip_tags($value));
136
  }
137
  }
138
+
139
  // Contains all other attributes not found in allowed, used to override global settings
140
  $extra_attr = array();
141
  if (!empty($atts)) {
142
  $extra_attr = array_diff_key($atts, $allowed_atts);
143
  $extra_attr = CrayonSettings::smart_settings($extra_attr);
144
  }
145
+ $url = $lang = $title = $mark = $range = $inline = '';
146
  extract($filtered_atts);
147
+
148
  $crayon = self::instance($extra_attr, $id);
149
+
150
  // Set URL
151
  $crayon->url($url);
152
  $crayon->code($content);
154
  $crayon->language($lang);
155
  $crayon->title($title);
156
  $crayon->marked($mark);
157
+ $crayon->range($range);
158
+
159
  $crayon->is_inline($inline);
160
+
161
  // Determine if we should highlight
162
  $highlight = array_key_exists('highlight', $atts) ? CrayonUtil::str_to_bool($atts['highlight'], FALSE) : TRUE;
163
  $crayon->is_highlighted($highlight);
167
  /* Returns Crayon instance */
168
  public static function instance($extra_attr = array(), $id = NULL) {
169
  CrayonLog::debug('instance');
170
+
171
  // Create Crayon
172
  $crayon = new CrayonHighlighter();
173
+
174
  /* Load settings and merge shortcode attributes which will override any existing.
175
  * Stores the other shortcode attributes as settings in the crayon. */
176
  if (!empty($extra_attr)) {
179
  if (!empty($id)) {
180
  $crayon->id($id);
181
  }
182
+
183
  return $crayon;
184
  }
185
+
186
  /* For manually highlighting code, useful for other PHP contexts */
187
  public static function highlight($code) {
188
  $crayon_str = '';
189
+
190
  $captures = CrayonWP::capture_crayons(0, $code);
191
+ $the_captures = $captures['capture'];
192
+ $the_content = $captures['content'];
193
+ foreach ($the_captures as $capture) {
194
  $id = $capture['id'];
195
  $atts = $capture['atts'];
196
  $no_enqueue = array(
197
  CrayonSettings::ENQUEUE_THEMES => FALSE,
198
  CrayonSettings::ENQUEUE_FONTS => FALSE);
199
  $atts = array_merge($atts, $no_enqueue);
200
+ $code = $capture['code'];
201
+ $crayon = CrayonWP::shortcode($atts, $code, $id);
202
  $crayon_formatted = $crayon->output(TRUE, FALSE);
203
+ $the_content = CrayonUtil::preg_replace_escape_back(self::regex_with_id($id), $crayon_formatted, $the_content, 1, $count);
204
  }
205
+
206
+ return $the_content;
207
  }
208
+
209
  /* Uses the main query */
210
  public static function wp() {
211
  CrayonLog::debug('wp (global)');
212
+
213
  global $wp_the_query;
214
  $posts = $wp_the_query->posts;
215
  self::the_posts($posts);
216
  }
217
+
218
+ // TODO put args into an array
219
+ public static function capture_crayons($wp_id, $wp_content, $extra_settings = array(), $args = array()) {
220
+ extract($args);
221
+ CrayonUtil::set_var($callback, NULL);
222
+ CrayonUtil::set_var($ignore, TRUE);
223
+ CrayonUtil::set_var($preserve_atts, FALSE);
224
+ CrayonUtil::set_var($flags, NULL);
225
+
226
  // Will contain captured crayons and altered $wp_content
227
  $capture = array('capture' => array(), 'content' => $wp_content, 'has_captured' => FALSE);
228
+
229
+ // Flags for which Crayons to convert
230
+ $in_flag = self::in_flag($flags);
231
+
232
  CrayonLog::debug('capture for id ' . $wp_id . ' len ' . strlen($wp_content));
233
+
234
  // Convert <pre> tags to crayon tags, if needed
235
+ if (CrayonGlobalSettings::val(CrayonSettings::CAPTURE_PRE) && $in_flag[CrayonSettings::CAPTURE_PRE]) {
236
  // XXX This will fail if <pre></pre> is used inside another <pre></pre>
237
  $wp_content = preg_replace_callback('#(?<!\$)<\s*pre(?=(?:([^>]*)\bclass\s*=\s*(["\'])(.*?)\2([^>]*))?)([^>]*)>(.*?)<\s*/\s*pre\s*>#msi', 'CrayonWP::pre_tag', $wp_content);
238
  }
239
+
240
  // Convert mini [php][/php] tags to crayon tags, if needed
241
+ if (CrayonGlobalSettings::val(CrayonSettings::CAPTURE_MINI_TAG) && $in_flag[CrayonSettings::CAPTURE_MINI_TAG]) {
242
  $wp_content = preg_replace('#(?<!\$)\[\s*('.self::$alias_regex.')\b([^\]]*)\](.*?)\[\s*/\s*(?:\1)\s*\](?!\$)#msi', '[crayon lang="\1" \2]\3[/crayon]', $wp_content);
243
  $wp_content = preg_replace('#(?<!\$)\[\s*('.self::$alias_regex.')\b([^\]]*)/\s*\](?!\$)#msi', '[crayon lang="\1" \2 /]', $wp_content);
244
  }
245
+
246
  // Convert inline {php}{/php} tags to crayon tags, if needed
247
+ if (CrayonGlobalSettings::val(CrayonSettings::INLINE_TAG) && $in_flag[CrayonSettings::INLINE_TAG]) {
248
  $wp_content = preg_replace('#(?<!\$)\{\s*('.self::$alias_regex.')\b([^\}]*)\}(.*?)\{/(?:\1)\}(?!\$)#msi', '[crayon lang="\1" inline="true" \2]\3[/crayon]', $wp_content);
249
  // Convert <span class="crayon-inline"> tags to inline crayon tags
250
  $wp_content = preg_replace_callback('#(?<!\$)<\s*span([^>]*)\bclass\s*=\s*(["\'])(.*?)\2([^>]*)>(.*?)<\s*/\s*span\s*>#msi', 'CrayonWP::span_tag', $wp_content);
251
  }
252
+
253
  // Convert [plain] tags into <pre><code></code></pre>, if needed
254
+ if (CrayonGlobalSettings::val(CrayonSettings::PLAIN_TAG) && $in_flag[CrayonSettings::PLAIN_TAG]) {
255
  $wp_content = preg_replace_callback('#(?<!\$)\[\s*plain\s*\](.*?)\[\s*/\s*plain\s*\]#msi', 'CrayonFormatter::plain_code', $wp_content);
256
  }
257
+
258
  // Add IDs to the Crayons
259
  CrayonLog::debug('capture adding id ' . $wp_id . ' , now has len ' . strlen($wp_content));
260
  $wp_content = preg_replace_callback(self::REGEX_ID, 'CrayonWP::add_crayon_id', $wp_content);
261
+
262
  CrayonLog::debug('capture added id ' . $wp_id . ' : ' . strlen($wp_content));
263
+
264
  // Only include if a post exists with Crayon tag
265
  preg_match_all(self::regex(), $wp_content, $matches);
266
+
267
  CrayonLog::debug('capture ignore for id ' . $wp_id . ' : ' . strlen($capture['content']) . ' vs ' . strlen($wp_content));
268
+
269
  if ( count($matches[0]) != 0 ) {
270
+
271
  // Crayons found! Load settings first to ensure global settings loaded
272
  CrayonSettingsWP::load_settings();
273
  $capture['has_captured'] = TRUE;
274
+
275
  CrayonLog::debug('CAPTURED FOR ID ' . $wp_id);
276
+
277
  $full_matches = $matches[0];
278
  $closed_ids = $matches[1];
279
  $closed_atts = $matches[2];
280
  $open_ids = $matches[3];
281
  $open_atts = $matches[4];
282
  $contents = $matches[5];
283
+
284
  // Make sure we enqueue the styles/scripts
285
  $enqueue = TRUE;
286
+
287
  for ($i = 0; $i < count($full_matches); $i++) {
288
  // Get attributes
289
  if ( !empty($closed_atts[$i]) ) {
293
  } else {
294
  $atts = '';
295
  }
296
+
297
  // Capture attributes
298
  preg_match_all('#([^="\'\s]+)[\t ]*=[\t ]*("|\')(.*?)\2#', $atts, $att_matches);
299
  // Add extra attributes
303
  $atts_array[trim(strtolower($att_matches[1][$j]))] = trim($att_matches[3][$j]);
304
  }
305
  }
306
+
307
  // Capture theme
308
  $theme_id = array_key_exists(CrayonSettings::THEME, $atts_array) ? $atts_array[CrayonSettings::THEME] : '';
309
  $theme = CrayonResources::themes()->get($theme_id);
320
  }
321
  // If theme is now valid, change the array
322
  if ($theme) {
323
+ if (!$preserve_atts || isset($atts_array[CrayonSettings::THEME])) {
324
+ $atts_array[CrayonSettings::THEME] = $theme_id;
325
+ }
326
  $theme->used(TRUE);
327
  }
328
+
329
  // Capture font
330
  $font_id = array_key_exists(CrayonSettings::FONT, $atts_array) ? $atts_array[CrayonSettings::FONT] : '';
331
  $font = CrayonResources::fonts()->get($font_id);
340
  $font_id = CrayonFonts::DEFAULT_FONT;
341
  }
342
  }
343
+
344
  // If font is now valid, change the array
345
  if ($font/* != NULL && $font_id != CrayonFonts::DEFAULT_FONT*/) {
346
+ if (!$preserve_atts || isset($atts_array[CrayonSettings::FONT])) {
347
+ $atts_array[CrayonSettings::FONT] = $font_id;
348
+ }
349
  $font->used(TRUE);
350
  }
351
+
352
  // Add array of atts and content to post queue with key as post ID
353
  // XXX If at this point no ID is added we have failed!
354
  $id = !empty($open_ids[$i]) ? $open_ids[$i] : $closed_ids[$i];
355
+ //if ($ignore) {
356
  $code = self::crayon_remove_ignore($contents[$i]);
357
+ //}
358
+ $c = array('post_id'=>$wp_id, 'atts'=>$atts_array, 'code'=>$code);
359
+ $capture['capture'][$id] = $c;
360
  CrayonLog::debug('capture finished for post id ' . $wp_id . ' crayon-id ' . $id . ' atts: ' . count($atts_array) . ' code: ' . strlen($code));
361
  $is_inline = isset($atts_array['inline']) && CrayonUtil::str_to_bool($atts_array['inline'], FALSE) ? '-i' : '';
362
+ if ($callback === NULL) {
363
+ $wp_content = str_replace($full_matches[$i], '[crayon-'.$id.$is_inline.'/]', $wp_content);
364
+ } else {
365
+ $wp_content = call_user_func($callback, $c, $full_matches[$i], $id, $is_inline, $wp_content);
366
+ }
367
  }
368
+
369
  }
370
+
371
+ if ($ignore) {
372
+ // We need to escape ignored Crayons, since they won't be captured
373
+ // XXX Do this after replacing the Crayon with the shorter ID tag, otherwise $full_matches will be different from $wp_content
374
+ $wp_content = self::crayon_remove_ignore($wp_content);
375
+ }
376
+
377
  // Convert `` backquote tags into <code></code>, if needed
378
  // XXX Some code may contain `` so must do it after all Crayons are captured
379
  if (CrayonGlobalSettings::val(CrayonSettings::BACKQUOTE)) {
380
  $wp_content = preg_replace('#(?<!\\\\)`([^`]*)`#msi', '<code>$1</code>', $wp_content);
381
  }
382
+
383
  $capture['content'] = $wp_content;
384
  return $capture;
385
  }
386
+
387
  /* Search for Crayons in posts and queue them for creation */
388
  public static function the_posts($posts) {
389
  CrayonLog::debug('the_posts');
390
+
391
  // Whether to enqueue syles/scripts
392
  $enqueue = FALSE;
393
  CrayonSettingsWP::load_settings(TRUE); // Load just the settings from db, for now
394
+
395
  self::init_tags_regex();
396
  $crayon_posts = CrayonSettingsWP::load_posts(); // Loads posts containing crayons
397
 
404
  if (CrayonGlobalSettings::val(CrayonSettings::SAFE_ENQUEUE) && is_page($wp_id)) {
405
  CrayonGlobalSettings::set(CrayonSettings::ENQUEUE_THEMES, false);
406
  CrayonGlobalSettings::set(CrayonSettings::ENQUEUE_FONTS, false);
 
 
 
407
  }
408
+ // Only include crayon posts
409
+ continue;
410
  }
411
+
412
  $id_str = strval($wp_id);
413
 
414
+ if (wp_is_post_revision($wp_id)) {
415
+ // Ignore post revisions, use the parent, which has the updated post content
416
+ continue;
417
+ }
418
+
419
  if ( isset(self::$post_captures[$id_str]) ) {
420
  // Don't capture twice
421
  // XXX post->post_content is reset each loop, replace content
422
  // Doing this might cause content changed by other plugins between the last loop
423
+ // to fail, so be cautious
424
  $post->post_content = self::$post_captures[$id_str];
425
  continue;
426
  }
427
  // Capture post Crayons
428
+ $captures = self::capture_crayons(intval($post->ID), $post->post_content);
429
+
430
  // XXX Careful not to undo changes by other plugins
431
  // XXX Must replace to remove $ for ignored Crayons
432
  $post->post_content = $captures['content'];
437
  foreach ($captures['capture'] as $capture_id=>$capture_content) {
438
  self::$post_queue[$id_str][$capture_id] = $capture_content;
439
  }
440
+ }
441
+
442
  // Search for shortcode in comments
443
  if (CrayonGlobalSettings::val(CrayonSettings::COMMENTS)) {
444
  $comments = get_comments(array('post_id' => $post->ID));
445
+ foreach ($comments as $comment) {
446
+ $id_str = strval($comment->comment_ID);
447
  if ( isset(self::$comment_queue[$id_str]) ) {
448
  // Don't capture twice
449
  continue;
450
  }
451
  // Capture comment Crayons, decode their contents if decode not specified
452
+ $captures = self::capture_crayons($comment->comment_ID, $comment->comment_content, array(CrayonSettings::DECODE => TRUE));
453
+ self::$comment_captures[$id_str] = $captures['content'];
454
+ if ($captures['has_captured'] === TRUE) {
455
+ $enqueue = TRUE;
456
+ self::$comment_queue[$id_str] = array();
457
+ foreach ($captures['capture'] as $capture_id=>$capture_content) {
458
+ self::$comment_queue[$id_str][$capture_id] = $capture_content;
459
+ }
460
+ }
461
+ }
462
  }
463
  }
464
+ // exit;
465
+
466
  if (!is_admin() && $enqueue && !self::$enqueued) {
467
  // Crayons have been found and we enqueue efficiently
468
  self::enqueue_resources();
470
 
471
  return $posts;
472
  }
473
+
474
  private static function add_crayon_id($content) {
475
  $uid = $content[0].'-'.uniqid();
476
  CrayonLog::debug('add_crayon_id ' . $uid);
477
  return $uid;
478
  }
479
+
480
  private static function get_crayon_id() {
481
  return self::$next_id++;
482
  }
483
+
484
  private static function enqueue_resources() {
485
  CrayonLog::debug('enqueue');
486
+
487
  global $CRAYON_VERSION;
488
+ wp_enqueue_style('crayon_style', plugins_url(CRAYON_STYLE, __FILE__), array(), $CRAYON_VERSION);
489
+ wp_enqueue_style('crayon_global_style', plugins_url(CRAYON_STYLE_GLOBAL, __FILE__), array(), $CRAYON_VERSION);
490
  wp_enqueue_script('crayon_util_js', plugins_url(CRAYON_JS_UTIL, __FILE__), array('jquery'), $CRAYON_VERSION);
491
+ wp_enqueue_script('crayon_js', plugins_url(CRAYON_JS, __FILE__), array('jquery', 'crayon_util_js'), $CRAYON_VERSION);
492
+ wp_enqueue_script('crayon_jquery_popup', plugins_url(CRAYON_JQUERY_POPUP, __FILE__), array('jquery'), $CRAYON_VERSION);
493
  self::$enqueued = TRUE;
494
  }
495
+
496
+ private static function init_tags_regex($force = FALSE, $flags = NULL) {
497
+ self::init_tag_bits();
498
+
499
+ if ($force || self::$tags_regex == "") {
500
+ // Check which tags are in $flags. If it's NULL, then all flags are true.
501
+ $in_flag = self::in_flag($flags);
502
+
503
+ if ( ($in_flag[CrayonSettings::CAPTURE_MINI_TAG] && CrayonGlobalSettings::val(CrayonSettings::CAPTURE_MINI_TAG)) ||
504
+ ($in_flag[CrayonSettings::INLINE_TAG] && CrayonGlobalSettings::val(CrayonSettings::INLINE_TAG)) ) {
505
  $aliases = CrayonResources::langs()->ids_and_aliases();
506
  for ($i = 0; $i < count($aliases); $i++) {
507
  $alias = $aliases[$i];
510
  $alias_regex .= '|';
511
  }
512
  self::$alias_regex .= $alias_regex;
513
+ }
514
  }
515
+
516
  // Add other tags
517
+ self::$tags_regex = '#(?<!\$)(?:(\s*\[\s*crayon\b)';
518
+
519
+ $tag_regexes = array(
520
+ CrayonSettings::CAPTURE_MINI_TAG => '([\[]\s*('.self::$alias_regex.')\b)',
521
+ CrayonSettings::CAPTURE_PRE => '(<\s*pre\b)',
522
+ CrayonSettings::INLINE_TAG => '('.self::REGEX_INLINE_CLASS.')'.'|([\{]\s*('.self::$alias_regex.'))',
523
+ CrayonSettings::PLAIN_TAG => '(\s*\[\s*plain\b)',
524
+ CrayonSettings::BACKQUOTE => '(`[^`]*`)'
525
+ );
526
+
527
+ foreach ($tag_regexes as $tag=>$regex) {
528
+ if ($in_flag[$tag] && CrayonGlobalSettings::val($tag)) {
529
+ self::$tags_regex .= '|' . $regex;
530
+ }
531
  }
532
+ self::$tags_regex .= ')#msi';
533
+
534
+
535
+ // if (CrayonGlobalSettings::val(CrayonSettings::CAPTURE_MINI_TAG)) {
536
+ // self::$tags_regex .= '|([\[]\s*('.self::$alias_regex.'))';
537
+ // }
538
+ // if (CrayonGlobalSettings::val(CrayonSettings::CAPTURE_PRE)) {
539
+ // self::$tags_regex .= '|(<\s*pre\b)';
540
+ // }
541
+ // if (CrayonGlobalSettings::val(CrayonSettings::INLINE_TAG)) {
542
+ // self::$tags_regex .= '|('.self::REGEX_INLINE_CLASS.')'.'|([\{]\s*('.self::$alias_regex.'))';
543
+ // }
544
+ // if (CrayonGlobalSettings::val(CrayonSettings::PLAIN_TAG)) {
545
+ // self::$tags_regex .= '|(\s*\[\s*plain\b)';
546
+ // }
547
+ // if (CrayonGlobalSettings::val(CrayonSettings::BACKQUOTE)) {
548
+ // self::$tags_regex .= '|(`[^`]*`)';
549
+ // }
550
+ // self::$tags_regex .= '#msi';
551
+ }
552
+ }
553
+
554
+ private static function init_tag_bits() {
555
+ if (count(self::$tag_bits) == 0) {
556
+ $values = array();
557
+ for ($i = 0; $i < count(self::$tag_types); $i++) {
558
+ $j = pow(2, $i);
559
+ self::$tag_bits[self::$tag_types[$i]] = $j;
560
  }
 
 
561
  }
562
  }
563
+
564
+ public static function tag_bit($tag) {
565
+ self::init_tag_bits();
566
+ if (isset(self::$tag_bits[$tag])) {
567
+ return self::$tag_bits[$tag];
568
+ } else {
569
+ return null;
570
+ }
571
+ }
572
+
573
+ public static function in_flag($flags) {
574
+ $in_flag = array();
575
+ foreach (self::$tag_types as $tag) {
576
+ $in_flag[$tag] = $flags === NULL || ($flags & self::tag_bit($tag)) > 0;
577
+ }
578
+ return $in_flag;
579
+ }
580
+
581
  // Add Crayon into the_content
582
  public static function the_content($the_content) {
583
  CrayonLog::debug('the_content');
584
+
585
  // Some themes make redundant queries and don't need extra work...
586
  if (strlen($the_content) == 0) {
587
  CrayonLog::debug('the_content blank');
588
  return $the_content;
589
  }
590
+
591
  global $post;
592
+
593
  // Go through queued posts and find crayons
594
  $post_id = strval($post->ID);
595
+
596
  if (self::$is_excerpt) {
597
  CrayonLog::debug('excerpt');
598
  if (CrayonGlobalSettings::val(CrayonSettings::EXCERPT_STRIP)) {
608
  if ( array_key_exists($post_id, self::$post_queue) ) {
609
  // XXX We want the plain post content, no formatting
610
  $the_content_original = $the_content;
611
+
612
  // Replacing may cause <p> tags to become disjoint with a <div> inside them, close and reopen them if needed
613
  $the_content = preg_replace_callback('#' . self::REGEX_BETWEEN_PARAGRAPH_SIMPLE . '#msi', 'CrayonWP::add_paragraphs', $the_content);
614
  // Loop through Crayons
615
  $post_in_queue = self::$post_queue[$post_id];
616
+
617
  foreach ($post_in_queue as $id=>$v) {
618
  $atts = $v['atts'];
619
  $content = $v['code']; // The code we replace post content with
620
  $crayon = self::shortcode($atts, $content, $id);
621
+ if (is_feed()) {
622
  // Convert the plain code to entities and put in a <pre></pre> tag
623
+ $crayon_formatted = CrayonFormatter::plain_code($crayon->code(), $crayon->setting_val(CrayonSettings::DECODE));
624
  } else {
625
  // Apply shortcode to the content
626
  $crayon_formatted = $crayon->output(TRUE, FALSE);
627
  }
628
  // Replace the code with the Crayon
629
+ CrayonLog::debug('the_content: id '.$post_id. ' has UID ' . $id . ' : ' . intval(stripos($the_content, $id) !== FALSE) );
630
  $the_content = CrayonUtil::preg_replace_escape_back(self::regex_with_id($id), $crayon_formatted, $the_content, 1, $count);
631
  CrayonLog::debug('the_content: REPLACED for id '.$post_id. ' from len ' . strlen($the_content_original) . ' to ' . strlen($the_content));
632
  }
633
  }
634
+
635
  return $the_content;
636
  }
637
 
644
  }
645
  return $text;
646
  }
647
+
648
  public static function comment_text($text) {
649
  global $comment;
650
  $comment_id = strval($comment->comment_ID);
654
  $the_content_original = $text;
655
  // Loop through Crayons
656
  $post_in_queue = self::$comment_queue[$comment_id];
657
+
658
  foreach ($post_in_queue as $id=>$v) {
659
  $atts = $v['atts'];
660
  $content = $v['code']; // The code we replace post content with
661
  $crayon = self::shortcode($atts, $content, $id);
662
  $crayon_formatted = $crayon->output(TRUE, FALSE);
663
  // Replacing may cause <p> tags to become disjoint with a <div> inside them, close and reopen them if needed
664
+ if (!$crayon->is_inline()) {
665
  $text = preg_replace_callback('#' . self::REGEX_BETWEEN_PARAGRAPH_SIMPLE . '#msi', 'CrayonWP::add_paragraphs', $text);
666
  }
667
  // Replace the code with the Crayon
670
  }
671
  return $text;
672
  }
673
+
674
  public static function add_paragraphs($capture) {
675
  if (count($capture) != 4) {
676
  CrayonLog::debug('add_paragraphs: 0');
681
  $paras = $capture[1].$capture[2].$capture[3];
682
  return $paras;
683
  }
684
+
685
  // Remove Crayons from the_excerpt
686
  public static function the_excerpt($the_excerpt) {
687
  CrayonLog::debug('excerpt');
696
  // XXX Returning "" may cause it to default to full contents...
697
  return $the_excerpt . ' ';
698
  }
699
+
700
  // Refactored, used to capture pre and span tags which have settings in class attribute
701
  public static function class_tag($matches) {
702
  // If class exists, atts is not captured
706
  $post_class = $matches[4];
707
  $atts = $matches[5];
708
  $content = $matches[6];
709
+
710
  // If we find a crayon=false in the attributes, or a crayon[:_]false in the class, then we should not capture
711
  $ignore_regex_atts = '#crayon\s*=\s*(["\'])\s*(false|no|0)\s*\1#msi';
712
  $ignore_regex_class = '#crayon\s*[:_]\s*(false|no|0)#msi';
714
  preg_match($ignore_regex_class, $class) !== 0 ) {
715
  return $matches[0];
716
  }
717
+
718
  if (!empty($class)) {
719
  // crayon-inline is turned into inline="1"
720
  $class = preg_replace('#'.self::REGEX_INLINE_CLASS.'#mi', 'inline="1"', $class);
721
  // "setting[:_]value" style settings in the class attribute
722
  $class = preg_replace('#\b([A-Za-z-]+)[_:](\S+)#msi', '$1='.$quotes.'$2'.$quotes, $class);
723
  }
724
+
725
  // data-url is turned into url=""
726
  if (!empty($post_class)) {
727
  $post_class = preg_replace('#\bdata-url\s*=#mi', 'url=', $post_class);
729
  if (!empty($pre_class)) {
730
  $pre_class = preg_replace('#\bdata-url\s*=#mi', 'url=', $post_class);
731
  }
732
+
733
  if (!empty($class)) {
734
  return "[crayon $pre_class $class $post_class]{$content}[/crayon]";
735
  } else {
736
  return "[crayon $atts]{$content}[/crayon]";
737
  }
738
  }
739
+
740
  // Capture span tag and extract settings from the class attribute, if present.
741
  public static function span_tag($matches) {
742
  // Only use <span> tags with crayon-inline class
750
  return $matches[0];
751
  }
752
  }
753
+
754
  // Capture pre tag and extract settings from the class attribute, if present.
755
  public static function pre_tag($matches) {
756
  return self::class_tag($matches);
757
  }
758
+
759
  // Check if the $ notation has been used to ignore [crayon] tags within posts and remove all matches
760
  // Can also remove if used without $ as a regular crayon
761
  public static function crayon_remove_ignore($the_content, $ignore_flag = '$') {
763
  $ignore_flag = '';
764
  }
765
  $ignore_flag_regex = preg_quote($ignore_flag);
766
+
767
  $the_content = preg_replace('#'.$ignore_flag_regex.'(\s*\[\s*crayon)#msi', '$1', $the_content);
768
  $the_content = preg_replace('#(crayon\s*\])\s*\$#msi', '$1', $the_content);
769
+
770
  if (CrayonGlobalSettings::val(CrayonSettings::CAPTURE_PRE)) {
771
  $the_content = str_ireplace(array($ignore_flag.'<pre', 'pre>'.$ignore_flag), array('<pre', 'pre>'), $the_content);
772
+ // Remove any <code> tags wrapping around the whole code, since we won't needed them
773
+ $the_content = preg_replace('#(^\s*<\s*code[^>]*>)|(<\s*/\s*code[^>]*>\s*$)#msi', '', $the_content);
774
  }
775
  if (CrayonGlobalSettings::val(CrayonSettings::PLAIN_TAG)) {
776
  $the_content = str_ireplace(array($ignore_flag.'[plain', 'plain]'.$ignore_flag), array('[plain', 'plain]'), $the_content);
777
  }
778
  if (CrayonGlobalSettings::val(CrayonSettings::CAPTURE_MINI_TAG) ||
779
+ CrayonGlobalSettings::val(CrayonSettings::INLINE_TAG)) {
780
+ self::init_tags_regex();
781
+ // $the_content = preg_replace('#'.$ignore_flag_regex.'\s*([\[\{])\s*('. self::$alias_regex .')#', '$1$2', $the_content);
782
+ // $the_content = preg_replace('#('. self::$alias_regex .')\s*([\]\}])\s*'.$ignore_flag_regex.'#', '$1$2', $the_content);
783
  $the_content = preg_replace('#'.$ignore_flag_regex.'(\s*[\[\{]\s*('. self::$alias_regex .')[^\]]*[\]\}])#', '$1', $the_content);
784
  }
785
  if (CrayonGlobalSettings::val(CrayonSettings::BACKQUOTE)) {
790
 
791
  public static function wp_head() {
792
  CrayonLog::debug('head');
793
+
794
  self::$wp_head = TRUE;
795
  if (!self::$enqueued) {
796
  CrayonLog::debug('head: missed enqueue');
811
  self::crayon_font_css();
812
  }
813
  }
814
+
815
+ public static function save_post($update_id, $post) {
816
+ // if (wp_is_post_revision($id)) {
817
+ // // Ignore revisions
818
+ // return;
819
+ // }
820
+
821
+ $id = $post->ID;
822
+
823
  self::init_tags_regex();
824
+
825
  if (preg_match(self::$tags_regex, $post->post_content)) {
826
  CrayonSettingsWP::add_post($id);
827
  } else {
828
+ $found = FALSE;
829
+ CrayonSettingsWP::load_settings(TRUE);
830
+ if (CrayonGlobalSettings::val(CrayonSettings::COMMENTS)) {
831
+ $comments = get_comments(array('post_id' => $id));
832
+ foreach ($comments as $comment) {
833
+ $found = self::save_comment($comment->comment_ID, NULL, $comment);
834
+ if ($found) {
835
+ break;
836
+ }
837
+ }
838
+ }
839
+ if (!$found) {
840
+ CrayonSettingsWP::remove_post($id);
841
+ }
842
  }
843
  }
844
+
845
+ public static function save_comment($id, $is_spam = NULL, $comment = NULL) {
846
+ self::init_tags_regex();
847
+
848
+ if ($comment == NULL) {
849
+ $comment = get_comment($id);
850
+ }
851
+
852
+ $content = $comment->comment_content;
853
+ $post_id = $comment->comment_post_ID;
854
+
855
+ if (preg_match(self::$tags_regex, $content)) {
856
+ CrayonSettingsWP::add_post($post_id);
857
+ return TRUE;
858
+ } else {
859
+ return FALSE;
860
+ }
861
+ }
862
+
863
  public static function crayon_theme_css() {
864
  global $CRAYON_VERSION;
865
  $css = CrayonResources::themes()->get_used_css();
867
  wp_enqueue_style('crayon-theme-'.$theme, $url, array(), $CRAYON_VERSION);
868
  }
869
  }
870
+
871
  public static function crayon_font_css() {
872
  global $CRAYON_VERSION;
873
  $css = CrayonResources::fonts()->get_used_css();
875
  wp_enqueue_style('crayon-font-'.$font_id, $url, array(), $CRAYON_VERSION);
876
  }
877
  }
878
+
879
  public static function init($request) {
880
  CrayonLog::debug('init');
881
  crayon_load_plugin_textdomain();
882
  }
883
 
884
+ public static function init_ajax() {
885
+ add_action('wp_ajax_crayon-ajax', 'CrayonWP::ajax');
886
+ add_action('wp_ajax_crayon-tag-editor', 'CrayonTagEditorWP::content');
887
+ add_action('wp_ajax_crayon-show-posts', 'CrayonSettingsWP::show_posts');
888
+ add_action('wp_ajax_crayon-show-langs', 'CrayonSettingsWP::show_langs');
889
+ add_action('wp_ajax_crayon-show-preview', 'CrayonSettingsWP::show_preview');
890
+ }
891
+
892
+ public static function ajax() {
893
+ $allowed = array(CrayonSettings::HIDE_HELP);
894
+ foreach ($allowed as $allow) {
895
+ if (array_key_exists($allow, $_GET) ) {
896
+ CrayonGlobalSettings::set($allow, $_GET[$allow]);
897
+ CrayonSettingsWP::save_settings();
898
+ }
899
+ }
900
+ }
901
+
902
+ /**
903
+ * Return an array of post IDs where crayons occur.
904
+ * Comments are ignored by default.
905
+ */
906
+ public static function scan_posts($init_regex = TRUE, $check_comments = FALSE) {
907
+ if ($init_regex) {
908
+ // We can skip this if needed
909
+ self::init_tags_regex();
910
+ }
911
+
912
  $crayon_posts = array();
913
  $query = new WP_Query(array('post_type' => 'any', 'suppress_filters' => TRUE, 'posts_per_page' => '-1'));
914
  foreach ($query->posts as $post) {
915
+ $post_id = $post->ID;
916
  if (preg_match(self::$tags_regex, $post->post_content)) {
917
+ $crayon_posts[] = $post_id;
918
+ } else if ($check_comments) {
919
+ CrayonSettingsWP::load_settings(TRUE);
920
+ if (CrayonGlobalSettings::val(CrayonSettings::COMMENTS)) {
921
+ $comments = get_comments(array('post_id' => $post_id));
922
+ foreach ($comments as $comment) {
923
+ if (preg_match(self::$tags_regex, $comment->comment_content)) {
924
+ $crayon_posts[] = $post_id;
925
+ break;
926
+ }
927
+ }
928
+ }
929
  }
930
  }
931
  return $crayon_posts;
932
  }
933
+
934
  public static function install() {
935
  self::update();
936
  }
937
 
938
  public static function uninstall() {
939
+
940
  }
941
+
942
+ public static function update() {
 
943
  global $CRAYON_VERSION;
944
+ CrayonSettingsWP::load_settings(TRUE);
945
  $settings = CrayonSettingsWP::get_settings();
946
  if ($settings === NULL || !isset($settings[CrayonSettings::VERSION])) {
947
  return;
948
  }
949
+
950
  $version = $settings[CrayonSettings::VERSION];
 
 
 
 
 
 
 
 
 
 
 
 
951
 
952
+ // Only upgrade if the version differs
953
+ if ($version != $CRAYON_VERSION) {
954
+ $defaults = CrayonSettings::get_defaults_array();
955
+ $touched = FALSE;
956
+
957
+ // Upgrade database and settings
958
+
959
+ if ($version < '1.7.21') {
960
+ $settings[CrayonSettings::SCROLL] = $defaults[CrayonSettings::SCROLL];
961
+ $touched = TRUE;
962
+ }
963
+
964
+ if ($version < '1.7.23' && $settings[CrayonSettings::FONT] == 'theme-font') {
965
+ $settings[CrayonSettings::FONT] = $defaults[CrayonSettings::FONT];
966
+ $touched = TRUE;
967
+ }
968
+
969
+ if ($version < '1.14') {
970
+ $settings[CrayonSettings::FONT_SIZE_ENABLE] = true;
971
+ }
972
+
973
+ // Save new version
974
  $settings[CrayonSettings::VERSION] = $CRAYON_VERSION;
975
  CrayonSettingsWP::save_settings($settings);
976
+ CrayonLog::syslog("Updated from $version to $CRAYON_VERSION");
977
+
978
+ // Refresh to show new settings
979
+ header('Location: ' . CrayonUtil::current_url());
980
+ exit();
981
  }
982
  }
983
+
984
  public static function basename() {
985
  return plugin_basename(__FILE__);
 
 
 
 
 
986
  }
987
+
988
+ // This should never be called through AJAX, only server side, since WP will not be loaded
989
+ public static function wp_load_path() {
990
+ if (defined('ABSPATH')) {
991
+ return ABSPATH . 'wp-load.php';
992
+ } else {
993
+ CrayonLog::syslog('wp_load_path could not find value for ABSPATH');
994
+ }
995
+ }
996
+
997
  public static function pre_excerpt($e) {
998
  CrayonLog::debug('pre_excerpt');
999
  self::$is_excerpt = TRUE;
1000
  return $e;
1001
  }
1002
+
1003
  public static function post_excerpt($e) {
1004
  CrayonLog::debug('post_excerpt');
1005
  self::$is_excerpt = FALSE;
1006
  $e = self::the_content($e);
1007
  return $e;
1008
  }
1009
+
1010
  public static function post_get_excerpt($e) {
1011
  CrayonLog::debug('post_get_excerpt');
1012
  self::$is_excerpt = FALSE;
1013
  return $e;
1014
  }
1015
+
1016
+ /**
1017
+ * Converts Crayon tags found in WP to <pre> form.
1018
+ * XXX: This will alter blog content, so backup before calling.
1019
+ * XXX: Do NOT call this while updating posts or comments, it may cause an infinite loop or fail
1020
+ */
1021
+ public static function convert_tags($just_check = FALSE) {
1022
+ $result = self::can_convert_tags(TRUE);
1023
+ if ($result === FALSE) {
1024
+ return;
1025
+ } else {
1026
+ $crayon_posts = $result[0];
1027
+ $flags = $result[1];
1028
+ }
1029
+
1030
+ $args = array(
1031
+ 'callback' => 'CrayonWP::capture_replace_pre',
1032
+ 'ignore' => FALSE,
1033
+ 'preserve_atts' => TRUE,
1034
+ 'flags' => $flags
1035
+ );
1036
+
1037
+ foreach ($crayon_posts as $postID) {
1038
+ $post = get_post($postID);
1039
+ $post_content = $post->post_content;
1040
+ $post_captures = self::capture_crayons($postID, $post_content, array(), $args);
1041
+
1042
+ $post_obj = array();
1043
+ $post_obj['ID'] = $postID;
1044
+ $post_obj['post_content'] = $post_captures['content'];
1045
+ wp_update_post($post_obj);
1046
+ CrayonLog::syslog("Converted Crayons in post ID $postID to pre tags", 'CONVERT');
1047
+
1048
+ if (CrayonGlobalSettings::val(CrayonSettings::COMMENTS)) {
1049
+ $comments = get_comments(array('post_id' => $postID));
1050
+ foreach ($comments as $comment) {
1051
+ $commentID = $comment->comment_ID;
1052
+ $comment_captures = self::capture_crayons($commentID, $comment->comment_content, array(CrayonSettings::DECODE => TRUE), $args);
1053
+
1054
+ $comment_obj = array();
1055
+ $comment_obj['comment_ID'] = $commentID;
1056
+ $comment_obj['comment_content'] = $comment_captures['content'];
1057
+ wp_update_comment($comment_obj);
1058
+ CrayonLog::syslog("Converted Crayons in post ID $postID, comment ID $commentID to pre tags", 'CONVERT');
1059
+ }
1060
+ }
1061
+
1062
+ }
1063
+ }
1064
+
1065
+ public static function can_convert_tags($return = FALSE) {
1066
+ CrayonSettingsWP::load_settings(TRUE);
1067
+ self::init_tag_bits();
1068
+ $flags = self::tag_bit(CrayonSettings::CAPTURE_MINI_TAG) |
1069
+ self::tag_bit(CrayonSettings::INLINE_TAG) |
1070
+ self::tag_bit(CrayonSettings::PLAIN_TAG);
1071
+ self::init_tags_regex(TRUE, $flags);
1072
+
1073
+ // These posts (or comments) will contain the old tag markup
1074
+ $crayon_posts = self::scan_posts(FALSE, TRUE);
1075
+
1076
+ // Reset to all flags for other queries
1077
+ self::init_tags_regex(TRUE);
1078
+ if (count($crayon_posts) > 0) {
1079
+ if ($return) {
1080
+ return array($crayon_posts, $flags);
1081
+ } else {
1082
+ return TRUE;
1083
+ }
1084
+ } else {
1085
+ return FALSE;
1086
+ }
1087
+ }
1088
+
1089
+ // Used as capture_crayons callback
1090
+ public static function capture_replace_pre($capture, $original, $id, $is_inline, $wp_content) {
1091
+ $atts = array();
1092
+ $atts['class'] = CrayonUtil::html_attributes($capture['atts'], CrayonGlobalSettings::val_str(CrayonSettings::ATTR_SEP), '');
1093
+ // $has_decode = isset($capture['atts'][CrayonSettings::DECODE]);
1094
+ // $default = CrayonGlobalSettings::val(CrayonSettings::DECODE);
1095
+ // $encoded = $has_decode ? CrayonUtil::str_to_bool($capture['atts'][CrayonSettings::DECODE], $default) : $default;
1096
+ // CrayonUtil::bool_to_str($encoded);
1097
+ return str_replace($original, CrayonUtil::html_element('pre', $capture['code'], $atts), $wp_content);
1098
+ }
1099
+
1100
  }
1101
 
1102
+ // Only if WP is loaded
1103
  if (defined('ABSPATH')) {
1104
  if (!is_admin()) {
1105
  register_activation_hook(__FILE__, 'CrayonWP::install');
1106
  register_deactivation_hook(__FILE__, 'CrayonWP::uninstall');
1107
+
1108
+ // Filters and Actions
1109
+
1110
  add_filter('init', 'CrayonWP::init');
1111
+
1112
  CrayonSettingsWP::load_settings(TRUE);
1113
  if (CrayonGlobalSettings::val(CrayonSettings::MAIN_QUERY)) {
1114
  add_action('wp', 'CrayonWP::wp', 100);
1115
  } else {
1116
  add_filter('the_posts', 'CrayonWP::the_posts', 100);
1117
  }
1118
+
1119
  // XXX Some themes like to play with the content, make sure we replace after they're done
1120
  add_filter('the_content', 'CrayonWP::the_content', 100);
1121
+
1122
+ // Highlight bbPress content
1123
+ add_filter('bbp_get_reply_content', 'CrayonWP::highlight', 100);
1124
+ add_filter('bbp_get_topic_content', 'CrayonWP::highlight', 100);
1125
+ add_filter('bbp_get_forum_content', 'CrayonWP::highlight', 100);
1126
+ add_filter('bbp_get_topic_excerpt', 'CrayonWP::highlight', 100);
1127
+
1128
  if (CrayonGlobalSettings::val(CrayonSettings::COMMENTS)) {
1129
  /* XXX This is called first to match Crayons, then higher priority replaces after other filters.
1130
+ Prevents Crayon from being formatted by the filters, and also keeps original comment formatting. */
1131
  add_filter('comment_text', 'CrayonWP::pre_comment_text', 1);
1132
  add_filter('comment_text', 'CrayonWP::comment_text', 100);
1133
  }
1134
+
1135
  // This ensures Crayons are not formatted by WP filters. Other plugins should specify priorities between 1 and 100.
1136
  add_filter('get_the_excerpt', 'CrayonWP::pre_excerpt', 1);
1137
  add_filter('get_the_excerpt', 'CrayonWP::post_get_excerpt', 100);
1138
  add_filter('the_excerpt', 'CrayonWP::post_excerpt', 100);
1139
+
1140
+ add_action('template_redirect', 'CrayonWP::wp_head');
1141
  } else {
1142
+ // Update between versions
1143
+ CrayonWP::update();
1144
  // For marking a post as containing a Crayon
1145
  add_action('save_post', 'CrayonWP::save_post', 10, 2);
1146
+ if (CrayonGlobalSettings::val(CrayonSettings::COMMENTS)) {
1147
+ //add_action('comment_post', 'CrayonWP::save_comment', 10, 2);
1148
+ add_action('edit_comment', 'CrayonWP::save_comment', 10, 2);
1149
+ }
1150
+ add_filter('init', 'CrayonWP::init_ajax');
1151
  }
1152
  }
1153
 
css/admin_style.css CHANGED
@@ -2,6 +2,10 @@
2
  /*width: 100%;*/
3
  }
4
 
 
 
 
 
5
  #crayon-log {
6
  display: none;
7
  max-height: 200px;
@@ -175,6 +179,10 @@
175
  text-align: center;
176
  }
177
 
 
 
 
 
178
  #crayon-theme-editor-admin-buttons {
179
  display: inline;
180
  }
@@ -213,204 +221,3 @@
213
  display: inline;
214
  padding: 0;
215
  }
216
-
217
- /* TinyMCE */
218
-
219
- #crayon-te-content,
220
- #crayon-te-table {
221
- width: 100%;
222
- }
223
-
224
- #crayon-te-table th,
225
- #crayon-te-table td {
226
- vertical-align: top;
227
- }
228
- #crayon-te-table .crayon-tr-center td,
229
- #crayon-te-table .crayon-tr-center th {
230
- vertical-align: middle;
231
- }
232
-
233
- #crayon-te-table .crayon-nowrap {
234
- white-space: nowrap;
235
- }
236
-
237
- #crayon-url-th {
238
- vertical-align: top !important;
239
- padding-top: 5px;
240
- }
241
-
242
- .crayon-te-heading {
243
- font-size: 14px;
244
- font-weight: bold;
245
- }
246
-
247
- .crayon-te-section {
248
- font-weight: bold;
249
- padding: 0 10px;
250
- }
251
-
252
- #crayon-te-sub-section {
253
- margin-left: 10px;
254
- }
255
- #crayon-te-sub-section .crayon-te-section {
256
- font-weight: normal;
257
- padding: 0;
258
- }
259
-
260
- #crayon-code {
261
- width: 100% !important;
262
- height: 200px;
263
- white-space: pre;
264
- /*white-space: nowrap;
265
- overflow: auto;*/
266
- }
267
-
268
- #crayon-url {
269
- width: 100% !important;
270
- }
271
-
272
- .crayon-disabled {
273
- background: #EEE !important;
274
- }
275
-
276
- .wp_themeSkin span.mce_crayon_tinymce {
277
- background: url(images/crayon_tinymce.png);
278
- }
279
-
280
- .mce_crayon_tinymce_highlight,
281
- .qt_crayon_highlight {
282
- border: 1px solid #7c9dde !important;
283
- }
284
-
285
- .qt_crayon_highlight {
286
- background-image: -ms-linear-gradient(bottom,#daf2ff,white) !important;
287
- background-image: -moz-linear-gradient(bottom,#daf2ff,white) !important;
288
- background-image: -o-linear-gradient(bottom,#daf2ff,white) !important;
289
- background-image: -webkit-linear-gradient(bottom,#daf2ff,white) !important;
290
- background-image: linear-gradient(bottom,#daf2ff,white) !important;
291
- }
292
-
293
- .qt_crayon_highlight:hover{
294
- background:#ddebf2 !important;
295
- }
296
-
297
- .mce_crayon_tinymce_highlight span.mce_crayon_tinymce,
298
- .wp_themeSkin .mceButtonEnabled:hover span.mce_crayon_tinymce, .wp_themeSkin .mceButtonActive span.mce_crayon_tinymce {
299
- background-position: -20px 0;
300
- }
301
-
302
- #crayon-te-table {
303
- padding: 10px;
304
- }
305
-
306
- #crayon-te-table th {
307
- width: 100px;
308
- }
309
-
310
- /*#crayon-te-table span {
311
- margin-left: 4px;
312
- }*/
313
-
314
- #crayon-te-clear {
315
- margin-left: 10px;
316
- color: #666;
317
- background-color: #f4f4f4;
318
- }
319
-
320
- #crayon-title {
321
- width: 360px;
322
- }
323
-
324
- #TB_window.crayon-te-ajax {
325
- overflow: auto !important;
326
- }
327
-
328
- #TB_window.crayon-te-ajax,
329
- #TB_window.crayon-te-ajax #TB_ajaxContent,
330
- #TB_window.crayon-te-ajax #TB_title {
331
- width: 680px !important;
332
- }
333
-
334
- #TB_window.crayon-te-ajax #TB_ajaxContent {
335
- padding: 0 !important;
336
- margin: 0 !important;
337
- width: 100% !important;
338
- height: auto !important;
339
- margin-top: 28px !important;
340
- }
341
-
342
- #TB_window.crayon-te-ajax #TB_title {
343
- position: fixed !important;
344
- }
345
-
346
- #TB_window.crayon-te-ajax #TB_title .crayon-te-submit {
347
- margin-top: 3px !important;
348
- float: right !important;
349
- }
350
-
351
- #TB_window.crayon-te-ajax a {
352
- color: #2587e2;
353
- text-decoration: none;
354
- }
355
-
356
- #TB_window.crayon-te-ajax a:hover {
357
- color: #499ce9;
358
- }
359
-
360
- .crayon-te-quote {
361
- background: #DDD;
362
- padding: 0 2px;
363
- }
364
-
365
- #crayon-te-submit-wrapper {
366
- display: none;
367
- }
368
-
369
- #crayon-te-clear {
370
- display: none;
371
- }
372
-
373
- .crayon-syntax-pre {
374
- background: red;
375
- white-space: pre;
376
- overflow: auto;
377
- display: block;
378
- word-wrap: break-word;
379
- }
380
-
381
- .crayon-question {
382
- padding: 1px 4px !important;
383
- background: #83b3cb !important;
384
- text-decoration: none !important;
385
- color: white !important;
386
- border-radius: 10px !important;
387
- height: 15px !important;
388
- width: 15px !important;
389
- }
390
-
391
- .crayon-setting {
392
-
393
- }
394
-
395
- .crayon-setting-changed,
396
- .crayon-setting-selected {
397
- background: #fffaad !important;
398
- }
399
-
400
- .crayon-question:hover {
401
- color: white;
402
- background: #a6d6ef;
403
- }
404
-
405
- #crayon-te-warning {
406
- display: none;
407
- }
408
-
409
- .crayon-te-info {
410
- padding: 5px !important;
411
- margin: 2px 0 !important;
412
- }
413
-
414
- #crayon-te-submit {
415
- margin-bottom: 5px;
416
- }
2
  /*width: 100%;*/
3
  }
4
 
5
+ #crayon-main-wrap .form-table th {
6
+ width: 100px;
7
+ }
8
+
9
  #crayon-log {
10
  display: none;
11
  max-height: 200px;
179
  text-align: center;
180
  }
181
 
182
+ #crayon-subsection-langs-info {
183
+ margin-top: 5px;
184
+ }
185
+
186
  #crayon-theme-editor-admin-buttons {
187
  display: inline;
188
  }
221
  display: inline;
222
  padding: 0;
223
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
css/{style.css → crayon_style.css} RENAMED
@@ -15,6 +15,8 @@ coloring etc.
15
  .crayon-syntax {
16
  overflow: hidden !important;
17
  position: relative !important;
 
 
18
  }
19
 
20
  .crayon-syntax div {
@@ -26,6 +28,10 @@ coloring etc.
26
  text-align: left;
27
  }
28
 
 
 
 
 
29
  .crayon-syntax,
30
  .crayon-syntax .crayon-main,
31
  .crayon-syntax .crayon-toolbar,
@@ -43,18 +49,6 @@ coloring etc.
43
  overflow: auto;
44
  }
45
 
46
- /*.crayon-popup .crayon-main,
47
- .crayon-popup .crayon-table {
48
- max-width: 0;
49
- max-height: 0;
50
- display: block !important;
51
- opacity: 100 !important;
52
- margin: 0 !important;
53
- padding: 0 !important;
54
- width: 100% !important;
55
- height: auto !important;
56
- }*/
57
-
58
  .crayon-syntax,
59
  .crayon-syntax .crayon-main,
60
  .crayon-syntax .crayon-plain,
@@ -78,12 +72,12 @@ coloring etc.
78
  width: auto !important;
79
  border-spacing: 0 !important;
80
  border-collapse: collapse !important;
81
- }
82
 
83
  .crayon-syntax .crayon-table td,
84
  .crayon-syntax .crayon-table tr {
85
- padding: 0 !important;
86
- border: none !important;
87
  background: none;
88
  vertical-align: top !important;
89
  margin: 0 !important;
@@ -100,7 +94,7 @@ coloring etc.
100
 
101
  /* Popup ========================= */
102
  .crayon-popup {
103
- /*position: static !important;*/
104
  }
105
 
106
  .crayon-popup .crayon-plain {
@@ -110,6 +104,9 @@ coloring etc.
110
  opacity: 100 !important;
111
  position: relative !important;
112
  }
 
 
 
113
  /* End Popup ========================= */
114
 
115
  /* Line Numbers ==================== */
@@ -184,6 +181,11 @@ coloring etc.
184
  background-image: url('images/toolbar/plain.png');
185
  }
186
 
 
 
 
 
 
187
  /* Copy Button */
188
  .crayon-toolbar a.crayon-button.crayon-copy-button {
189
  background-image: url('images/toolbar/copy.png');
@@ -202,7 +204,7 @@ coloring etc.
202
  /* Plus Sign */
203
  .crayon-syntax .crayon-toolbar .crayon-mixed-highlight {
204
  background-image: url('images/toolbar/plus.png');
205
- /* background-position: center;*/
206
  background-position: 0px center;
207
  background-repeat: no-repeat;
208
  float: left;
@@ -281,7 +283,13 @@ coloring etc.
281
  }
282
 
283
  .crayon-syntax .crayon-line {
284
- padding: 0 5px;
 
 
 
 
 
 
285
  }
286
 
287
  .crayon-syntax-inline .crayon-pre,
@@ -300,6 +308,10 @@ coloring etc.
300
  font-family: Monaco, 'MonacoRegular', 'Courier New', monospace;
301
  font-weight: 500;
302
  }
 
 
 
 
303
  .crayon-syntax,
304
  .crayon-syntax .crayon-nums,
305
  .crayon-syntax .crayon-plain,
@@ -307,9 +319,14 @@ coloring etc.
307
  font-size: 12px !important;
308
  line-height: 15px !important;
309
  }
 
310
  .crayon-syntax .crayon-num,
311
  .crayon-syntax .crayon-line {
312
- height: 15px;
 
 
 
 
313
  }
314
 
315
  .crayon-syntax .crayon-num,
@@ -326,8 +343,16 @@ coloring etc.
326
  height: inherit !important;
327
  }
328
 
329
- .crayon-syntax .crayon-plain-wrap {
 
 
 
330
 
 
 
 
 
 
331
  }
332
 
333
  .crayon-syntax .crayon-plain {
@@ -354,6 +379,10 @@ coloring etc.
354
  background: #FFF;
355
  }
356
 
 
 
 
 
357
  /* End Code ======================== */
358
 
359
  /* End AK Code Table ============================================= */
15
  .crayon-syntax {
16
  overflow: hidden !important;
17
  position: relative !important;
18
+ direction: ltr;
19
+ text-align: left;
20
  }
21
 
22
  .crayon-syntax div {
28
  text-align: left;
29
  }
30
 
31
+ .crayon-syntax.crayon-loading {
32
+ visibility: hidden;
33
+ }
34
+
35
  .crayon-syntax,
36
  .crayon-syntax .crayon-main,
37
  .crayon-syntax .crayon-toolbar,
49
  overflow: auto;
50
  }
51
 
 
 
 
 
 
 
 
 
 
 
 
 
52
  .crayon-syntax,
53
  .crayon-syntax .crayon-main,
54
  .crayon-syntax .crayon-plain,
72
  width: auto !important;
73
  border-spacing: 0 !important;
74
  border-collapse: collapse !important;
75
+ }
76
 
77
  .crayon-syntax .crayon-table td,
78
  .crayon-syntax .crayon-table tr {
79
+ padding: 0 !important;
80
+ border: none !important;
81
  background: none;
82
  vertical-align: top !important;
83
  margin: 0 !important;
94
 
95
  /* Popup ========================= */
96
  .crayon-popup {
97
+
98
  }
99
 
100
  .crayon-popup .crayon-plain {
104
  opacity: 100 !important;
105
  position: relative !important;
106
  }
107
+ .crayon-popup-window {
108
+ background: #fff;
109
+ }
110
  /* End Popup ========================= */
111
 
112
  /* Line Numbers ==================== */
181
  background-image: url('images/toolbar/plain.png');
182
  }
183
 
184
+ /* Plain Button */
185
+ .crayon-toolbar a.crayon-button.crayon-wrap-button {
186
+ background-image: url('images/toolbar/wrap.png');
187
+ }
188
+
189
  /* Copy Button */
190
  .crayon-toolbar a.crayon-button.crayon-copy-button {
191
  background-image: url('images/toolbar/copy.png');
204
  /* Plus Sign */
205
  .crayon-syntax .crayon-toolbar .crayon-mixed-highlight {
206
  background-image: url('images/toolbar/plus.png');
207
+ /* background-position: center;*/
208
  background-position: 0px center;
209
  background-repeat: no-repeat;
210
  float: left;
283
  }
284
 
285
  .crayon-syntax .crayon-line {
286
+ padding: 0 5px;
287
+ }
288
+
289
+ .crayon-syntax.crayon-wrapped .crayon-line {
290
+ /* width: 500px !important; */
291
+ white-space: pre-wrap !important;
292
+ /* word-wrap:break-word !important;*/
293
  }
294
 
295
  .crayon-syntax-inline .crayon-pre,
308
  font-family: Monaco, 'MonacoRegular', 'Courier New', monospace;
309
  font-weight: 500;
310
  }
311
+ /*
312
+
313
+ This has been disabled to allow more flexibility in changing font sizes.
314
+
315
  .crayon-syntax,
316
  .crayon-syntax .crayon-nums,
317
  .crayon-syntax .crayon-plain,
319
  font-size: 12px !important;
320
  line-height: 15px !important;
321
  }
322
+ */
323
  .crayon-syntax .crayon-num,
324
  .crayon-syntax .crayon-line {
325
+ /*height: 15px;*/
326
+ }
327
+ .crayon-syntax.crayon-wrapped .crayon-line {
328
+ /* min-height: 15px;*/
329
+ height: auto;
330
  }
331
 
332
  .crayon-syntax .crayon-num,
343
  height: inherit !important;
344
  }
345
 
346
+ .crayon-syntax .crayon-toolbar .crayon-tools {
347
+ position: absolute;
348
+ right: 0;
349
+ }
350
 
351
+ .crayon-syntax .crayon-plain-wrap {
352
+ height: auto !important;
353
+ height: width !important;
354
+ padding: 0 !important;
355
+ margin: 0 !important;
356
  }
357
 
358
  .crayon-syntax .crayon-plain {
379
  background: #FFF;
380
  }
381
 
382
+ .crayon-syntax.crayon-wrapped .crayon-plain {
383
+ white-space: pre-wrap;
384
+ }
385
+
386
  /* End Code ======================== */
387
 
388
  /* End AK Code Table ============================================= */
css/global_style.css ADDED
@@ -0,0 +1,271 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /* TinyMCE */
2
+ .crayon-te *,#crayon-te-bar-content {
3
+ font-family: "Lucida Grande", Verdana, Arial, sans-serif !important;
4
+ font-size: 12px;
5
+ }
6
+
7
+ .crayon-te input[type="text"],.crayon-te textarea {
8
+ background: #F9F9F9;
9
+ border: 1px solid #CCC;
10
+ box-shadow: inset 1px 1px 1px rgba(0, 0, 0, 0.1);
11
+ -moz-box-shadow: inset 1px 1px 1px rgba(0, 0, 0, 0.1);
12
+ -webkit-box-shadow: inset 1px 1px 1px rgba(0, 0, 0, 0.1);
13
+ padding: 2px 4px;
14
+ -webkit-border-radius: 3px;
15
+ border-radius: 3px;
16
+ border-width: 1px;
17
+ border-style: solid;
18
+ }
19
+
20
+ #crayon-te-content,#crayon-te-table {
21
+ width: 100%;
22
+ height: auto !important;
23
+ }
24
+
25
+ #crayon-range,#crayon-mark {
26
+ width: 100px;
27
+ }
28
+
29
+ #crayon-te-table th,#crayon-te-table td {
30
+ vertical-align: top;
31
+ text-align: left;
32
+ }
33
+
34
+ #crayon-te-table .crayon-tr-center td,#crayon-te-table .crayon-tr-center th
35
+ {
36
+ vertical-align: middle;
37
+ }
38
+
39
+ #crayon-te-table .crayon-nowrap {
40
+ white-space: nowrap;
41
+ }
42
+
43
+ #crayon-te-bar-content {
44
+ border: 1px solid #666;
45
+ border-bottom: none;
46
+ height: 26px;
47
+ line-height: 25px;
48
+ padding: 0px 8px;
49
+ padding-right: 0;
50
+ background-color: #222;
51
+ color: #CFCFCF;
52
+ }
53
+
54
+ #crayon-te-bar-content a {
55
+ line-height: 25px;
56
+ padding: 5px 10px;
57
+ color: #DDD;
58
+ font-weight: bold;
59
+ text-decoration: none !important;
60
+ }
61
+
62
+ #crayon-te-bar-content a:hover {
63
+ color: #FFF;
64
+ }
65
+
66
+ .crayon-te-seperator {
67
+ color: #666;
68
+ margin: 0;
69
+ padding: 0;
70
+ }
71
+
72
+ #crayon-te-bar-block {
73
+ height: 34px;
74
+ width: 100%;
75
+ }
76
+
77
+ #crayon-te-title {
78
+ float: left;
79
+ }
80
+
81
+ #crayon-te-controls {
82
+ float: right;
83
+ }
84
+
85
+ #crayon-url-th {
86
+ vertical-align: top !important;
87
+ padding-top: 5px;
88
+ }
89
+
90
+ .crayon-te-heading {
91
+ font-size: 14px;
92
+ font-weight: bold;
93
+ }
94
+
95
+ #crayon-te-settings-info {
96
+ text-align: center;
97
+ }
98
+
99
+ .crayon-te-section {
100
+ font-weight: bold;
101
+ padding: 0 10px;
102
+ }
103
+
104
+ #crayon-te-sub-section {
105
+ margin-left: 10px;
106
+ }
107
+
108
+ #crayon-te-sub-section .crayon-te-section {
109
+ font-weight: normal;
110
+ padding: 0;
111
+ }
112
+
113
+ #crayon-code {
114
+ height: 200px;
115
+ white-space: pre;
116
+ /*white-space: nowrap;
117
+ overflow: auto;*/
118
+ }
119
+
120
+ #crayon-code,#crayon-url {
121
+ width: 555px !important;
122
+ }
123
+
124
+ .crayon-disabled {
125
+ background: #EEE !important;
126
+ }
127
+
128
+ .mce_crayon_tinymce_highlight,.qt_crayon_highlight {
129
+ border: 1px solid #7c9dde !important;
130
+ }
131
+
132
+ .qt_crayon_highlight {
133
+ background-image: -ms-linear-gradient(bottom, #daf2ff, white) !important;
134
+ background-image: -moz-linear-gradient(bottom, #daf2ff, white)
135
+ !important;
136
+ background-image: -o-linear-gradient(bottom, #daf2ff, white) !important;
137
+ background-image: -webkit-linear-gradient(bottom, #daf2ff, white)
138
+ !important;
139
+ background-image: linear-gradient(bottom, #daf2ff, white) !important;
140
+ }
141
+
142
+ .qt_crayon_highlight:hover {
143
+ background: #ddebf2 !important;
144
+ }
145
+
146
+ /* .mce_crayon_tinymce_highlight span.mce_crayon_tinymce, */
147
+ .wp_themeSkin .mceButtonEnabled:hover span.mce_crayon_tinymce,
148
+ .wp_themeSkin .mceButtonActive span.mce_crayon_tinymce {
149
+ background-position: -20px 0;
150
+ }
151
+
152
+ #crayon-te-table {
153
+ padding: 10px;
154
+ border-collapse: separate !important;
155
+ border-spacing: 2px !important;
156
+ }
157
+
158
+ #crayon-te-table th {
159
+ width: 100px;
160
+ }
161
+
162
+ #crayon-te-clear {
163
+ margin-left: 10px;
164
+ color: #666;
165
+ background-color: #f4f4f4;
166
+ border: 1px solid #CCC;
167
+ border-radius: 3px;
168
+ margin-left: 8px;
169
+ }
170
+
171
+ #crayon-title {
172
+ width: 360px;
173
+ }
174
+
175
+ #TB_window.crayon-te-ajax {
176
+ overflow: auto !important;
177
+ }
178
+
179
+ #TB_window.crayon-te-ajax,#TB_window.crayon-te-ajax #TB_ajaxContent,#TB_window.crayon-te-ajax #TB_title
180
+ {
181
+ width: 680px !important;
182
+ }
183
+
184
+ #TB_window.crayon-te-ajax #TB_ajaxContent {
185
+ padding: 0 !important;
186
+ margin: 0 !important;
187
+ width: 100% !important;
188
+ height: auto !important;
189
+ margin-top: 28px !important;
190
+ }
191
+
192
+ #TB_window.crayon-te-ajax #TB_title {
193
+ position: fixed !important;
194
+ }
195
+
196
+ #TB_window.crayon-te-ajax #TB_title .crayon-te-submit {
197
+ margin-top: 3px !important;
198
+ float: right !important;
199
+ }
200
+
201
+ #TB_window.crayon-te-ajax a {
202
+ color: #2587e2;
203
+ text-decoration: none;
204
+ }
205
+
206
+ #TB_window.crayon-te-ajax a:hover {
207
+ color: #499ce9;
208
+ }
209
+
210
+ .crayon-te-quote {
211
+ background: #DDD;
212
+ padding: 0 2px;
213
+ }
214
+
215
+ #crayon-te-submit-wrapper {
216
+ display: none;
217
+ }
218
+
219
+ #crayon-te-clear {
220
+ display: none;
221
+ margin: 0;
222
+ margin-top: 10px;
223
+ }
224
+
225
+ .crayon-syntax-pre {
226
+ background: red;
227
+ white-space: pre;
228
+ overflow: auto;
229
+ display: block;
230
+ word-wrap: break-word;
231
+ }
232
+
233
+ .crayon-question {
234
+ padding: 1px 4px !important;
235
+ background: #83b3cb !important;
236
+ text-decoration: none !important;
237
+ color: white !important;
238
+ border-radius: 10px !important;
239
+ height: 15px !important;
240
+ width: 15px !important;
241
+ }
242
+
243
+ .crayon-setting {
244
+
245
+ }
246
+
247
+ .crayon-setting-changed,.crayon-setting-selected {
248
+ background: #fffaad !important;
249
+ }
250
+
251
+ .crayon-question:hover {
252
+ color: white;
253
+ background: #a6d6ef;
254
+ }
255
+
256
+ #crayon-te-warning {
257
+ display: none;
258
+ }
259
+
260
+ .crayon-te-info {
261
+ padding: 5px !important;
262
+ margin: 2px 0 !important;
263
+ }
264
+
265
+ #crayon-te-submit {
266
+ margin-bottom: 5px;
267
+ }
268
+
269
+ .wp_themeSkin span.mce_crayon_tinymce {
270
+ background: url(images/crayon_tinymce.png);
271
+ }
css/images/toolbar/wrap.png ADDED
Binary file
fonts/droid-sans-mono.css ADDED
@@ -0,0 +1,14 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ @font-face {
2
+ font-family: 'DroidSansMonoRegular';
3
+ src: url('droid-sans-mono/droid-sans-mono-webfont.eot');
4
+ src: url('droid-sans-mono/droid-sans-mono-webfont.eot?#iefix') format('embedded-opentype'),
5
+ url('droid-sans-mono/droid-sans-mono-webfont.woff') format('woff'),
6
+ url('droid-sans-mono/droid-sans-mono-webfont.ttf') format('truetype'),
7
+ url('droid-sans-mono/droid-sans-mono-webfont.svg#DroidSansMonoRegular') format('svg');
8
+ font-weight: normal;
9
+ font-style: normal;
10
+ }
11
+
12
+ .crayon-font-droid-sans-mono * {
13
+ font-family: Droid Sans Mono, 'DroidSansMonoRegular', 'Courier New', monospace !important;
14
+ }
fonts/droid-sans-mono/droid-sans-mono-webfont.eot ADDED
Binary file
fonts/droid-sans-mono/droid-sans-mono-webfont.svg ADDED
@@ -0,0 +1,149 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0" standalone="no"?>
2
+ <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
3
+ <svg xmlns="http://www.w3.org/2000/svg">
4
+ <metadata>
5
+ This is a custom SVG webfont generated by Font Squirrel.
6
+ Copyright : Digitized data copyright 2006 Google Corporation
7
+ Foundry : Ascender Corporation
8
+ Foundry URL : httpwwwascendercorpcom
9
+ </metadata>
10
+ <defs>
11
+ <font id="webfont9N3UDjKi" horiz-adv-x="1228" >
12
+ <font-face units-per-em="2048" ascent="1638" descent="-410" />
13
+ <missing-glyph horiz-adv-x="500" />
14
+ <glyph unicode=" " />
15
+ <glyph unicode="!" d="M487 110.5q0 139.5 127 139.5t127 -139.5t-127 -139.5t-127 139.5zM504 1462h223l-51 -1048h-121z" />
16
+ <glyph unicode="&#x22;" d="M285 1462h237l-41 -528h-155zM707 1462h237l-41 -528h-155z" />
17
+ <glyph unicode="#" d="M45 428v137h244l65 328h-233v137h258l82 432h147l-82 -432h293l84 432h144l-84 -432h221v-137h-248l-64 -328h240v-137h-266l-82 -428h-148l84 428h-290l-82 -428h-144l78 428h-217zM436 565h291l64 328h-291z" />
18
+ <glyph unicode="$" d="M182 172v172q197 -92 365 -92v434q-197 66 -271 145q-78 84 -77 220q0 131 92 217q90 84 256 106v180h137v-176q182 -8 336 -78l-66 -145q-143 63 -270 72v-422q199 -68 279 -148q82 -82 81 -211q0 -281 -360 -335v-230h-137v221q-228 0 -365 70zM375 1049q0 -76 41 -121 q41 -43 131 -74v369q-172 -27 -172 -174zM684 262q184 28 184 184q0 127 -184 189v-373z" />
19
+ <glyph unicode="%" d="M0 1133q0 164 80 256q78 90 215 90q131 0 211 -92.5t80 -253.5q0 -166 -78 -256q-80 -92 -217 -93q-131 0 -211 95q-80 96 -80 254zM152 1133q0 -229 141 -230q139 0 139 230q0 225 -139 225q-141 0 -141 -225zM170 0l729 1462h158l-729 -1462h-158zM643 330 q0 164 80 256q78 90 215 90q131 0 211 -92t80 -254q0 -164 -78 -254q-82 -94 -217 -94q-131 0 -211 94q-80 96 -80 254zM795 330q0 -229 141 -230q139 0 139 230q0 225 -139 225q-141 0 -141 -225z" />
20
+ <glyph unicode="&#x26;" d="M61 381q0 133 64 229q63 98 235 199q-164 193 -163 356q0 147 96 233.5t274 86.5q168 0 260.5 -86t92.5 -234q0 -203 -318 -389l281 -348q70 119 104 266h184q-53 -236 -178 -403l234 -291h-217l-131 166q-174 -186 -412 -186q-190 0 -297 106q-109 109 -109 295z M252 387q0 -104 67 -176q68 -70 160 -70q162 0 299 146l-323 401q-203 -123 -203 -301zM375 1165q0 -117 133 -268q133 80 184 139q49 57 49 133q0 72 -49 119q-51 47 -131 47q-86 0 -137 -45q-49 -43 -49 -125z" />
21
+ <glyph unicode="'" d="M496 1462h237l-41 -528h-155z" />
22
+ <glyph unicode="(" d="M295 567q0 532 444 895h193q-449 -375 -449 -893q0 -522 447 -893h-191q-444 352 -444 891z" />
23
+ <glyph unicode=")" d="M297 1462h192q444 -362 445 -895q0 -541 -445 -891h-190q446 373 446 893q1 518 -448 893z" />
24
+ <glyph unicode="*" d="M133 1081l29 193l391 -111l-43 393h205l-43 -393l397 111l27 -193l-379 -28l246 -326l-179 -96l-176 358l-157 -358l-185 96l242 326z" />
25
+ <glyph unicode="+" d="M152 647v150h387v389h149v-389h387v-150h-387v-385h-149v385h-387z" />
26
+ <glyph unicode="," d="M440 -289q76 322 111 551h219l16 -24q-59 -229 -194 -527h-152z" />
27
+ <glyph unicode="-" d="M285 465v168h659v-168h-659z" />
28
+ <glyph unicode="." d="M463 135q0 166 151.5 166t151.5 -166t-151.5 -166t-151.5 166z" />
29
+ <glyph unicode="/" d="M211 0l627 1462h178l-627 -1462h-178z" />
30
+ <glyph unicode="0" d="M147 733q0 752 465 752q231 0 350 -192.5t119 -559.5q0 -754 -469 -753q-231 0 -348 194q-117 193 -117 559zM332 733q0 -317 67 -459q68 -139 213 -139q147 0 215 141q70 145 70 457q0 309 -70 455q-68 141 -215 141q-145 0 -213 -139q-67 -138 -67 -457z" />
31
+ <glyph unicode="1" d="M225 1163l383 299h150v-1462h-176v913q0 147 8 361q-43 -47 -121 -113l-147 -121z" />
32
+ <glyph unicode="2" d="M158 0v156l350 381q201 219 258 317q61 104 61 231q0 115 -63 179q-66 66 -172 65q-162 0 -318 -137l-102 119q190 172 422 172q197 0 305 -107q113 -109 113 -284q0 -115 -59.5 -244t-290.5 -375l-281 -299v-8h688v-166h-911z" />
33
+ <glyph unicode="3" d="M131 59v170q186 -96 383 -96q354 0 354 289q0 258 -381 258h-133v151h133q160 0 248 76t88 201q0 104 -67 162q-70 59 -183 59q-176 0 -344 -121l-92 125q186 150 436 150q205 0 322 -99q115 -96 115 -264q0 -141 -82 -231q-86 -94 -234 -119v-6q360 -45 361 -348 q0 -203 -137 -320q-138 -117 -400 -116q-243 -1 -387 79z" />
34
+ <glyph unicode="4" d="M61 328v159l664 983h188v-976h213v-166h-213v-328h-176v328h-676zM240 494h497v356q0 178 13 432h-9q-41 -111 -90 -180z" />
35
+ <glyph unicode="5" d="M172 59v172q145 -96 360 -96q336 0 336 314q0 295 -344 294q-78 0 -231 -26l-90 57l55 688h690v-166h-532l-39 -419q102 20 209 20q209 0 340 -115q129 -114 129 -313q0 -233 -137 -363q-135 -127 -390 -126q-224 -1 -356 79z" />
36
+ <glyph unicode="6" d="M154 625q0 858 639 858q104 0 172 -19v-155q-71 25 -166 24q-221 0 -336 -141t-123 -447h12q96 170 307 170q195 0 306 -118q111 -120 110 -326q0 -227 -121 -360q-119 -131 -323 -131q-219 0 -348 170t-129 475zM336 506q0 -150 82 -262q80 -111 211 -111q129 0 198 88 q72 90 72 250q0 147 -68 223q-68 78 -196 78q-125 0 -213 -82q-86 -80 -86 -184z" />
37
+ <glyph unicode="7" d="M143 1296v166h940v-145l-555 -1317h-194l563 1296h-754z" />
38
+ <glyph unicode="8" d="M156 373q0 258 282 393q-236 150 -235 369q0 160 116 256q115 94 295 94q184 0 297 -94q115 -96 115 -258q0 -229 -262 -359q309 -160 309 -393q0 -180 -127 -291q-126 -111 -332 -110q-217 0 -337.5 104.5t-120.5 288.5zM334 371q0 -240 276 -240q135 0 211 66 q74 66 74 182q0 90 -63.5 159.5t-213.5 143.5l-30 14q-254 -118 -254 -325zM381 1126q0 -92 49 -153q47 -57 186 -125q231 104 232 278q0 102 -64 154q-66 53 -172 53q-104 0 -167.5 -53.5t-63.5 -153.5z" />
39
+ <glyph unicode="9" d="M154 991q0 227 120 361q119 131 324 131q221 0 348 -170q129 -172 129 -475q0 -858 -639 -858q-104 0 -172 18v156q68 -25 166 -25q221 0 336 141.5t123 446.5h-12q-96 -170 -308 -170q-193 0 -305 119q-110 116 -110 325zM330 991q0 -143 69 -223q68 -78 195 -78 q129 0 213 82q86 84 86 184q0 152 -80 262.5t-213 110.5q-127 0 -198.5 -88t-71.5 -250z" />
40
+ <glyph unicode=":" d="M487 110.5q0 139.5 127 139.5t127 -139.5t-127 -139.5t-127 139.5zM487 987q0 139 127 139t127 -139t-127 -139t-127 139z" />
41
+ <glyph unicode=";" d="M410 -264q66 276 100 502h199l14 -23q-55 -209 -176 -479h-137zM494 987q0 139 127 139t127 -139t-127 -139t-127 139z" />
42
+ <glyph unicode="&#x3c;" d="M152 672v102l923 451v-160l-715 -342l715 -342v-160z" />
43
+ <glyph unicode="=" d="M152 442v150h923v-150h-923zM152 852v149h923v-149h-923z" />
44
+ <glyph unicode="&#x3e;" d="M152 221v160l714 342l-714 342v160l923 -451v-102z" />
45
+ <glyph unicode="?" d="M168 1386q205 96 426 97q217 0 340 -97q125 -98 125 -262q0 -133 -53 -217q-52 -83 -197 -190q-119 -88 -151.5 -141.5t-32.5 -143.5v-18h-160v37q0 119 47 194.5t160 157.5q131 100 172 155.5t41 157.5q0 92 -74 150q-72 57 -207 57q-172 0 -371 -90zM426 110.5 q0 139.5 127 139.5t127 -139.5t-127 -139.5t-127 139.5z" />
46
+ <glyph unicode="@" d="M31 602q0 395 168 629q166 231 454 231q248 0 396 -196q150 -199 149 -535q0 -236 -63 -371q-66 -139 -179 -139q-131 0 -157 180h-4q-74 -180 -230 -180q-120 0 -190 105q-70 102 -70 280q0 209 96 332q98 127 256 127q133 0 256 -47l-22 -416q-2 -25 -2 -70v-6 q0 -176 72 -176q100 0 100 383q0 279 -110.5 436.5t-299.5 157.5q-225 0 -352 -192.5t-127 -526.5q0 -311 129 -483q127 -170 369 -170q178 0 346 78v-133q-156 -82 -352 -82q-295 0 -465 207q-168 204 -168 577zM465 602q0 -252 127 -252q131 0 145 312l15 253 q-53 20 -103 21q-90 0 -137 -94.5t-47 -239.5z" />
47
+ <glyph unicode="A" d="M33 0l483 1468h195l485 -1468h-192l-144 453h-491l-146 -453h-190zM422 618h385l-133 424q-39 121 -62 226q-20 -88 -47 -183z" />
48
+ <glyph unicode="B" d="M135 0v1462h440q272 0 398 -88q123 -86 123 -282q0 -129 -78 -213t-213 -103v-10q332 -55 332 -342q0 -199 -127 -311.5t-348 -112.5h-527zM322 158h307q311 0 311 274q0 254 -324 254h-294v-528zM322 842h284q157 0 228 55q72 55 71 182q0 121 -75.5 172.5t-243.5 51.5 h-264v-461z" />
49
+ <glyph unicode="C" d="M129 733q0 344 178 547t490 203q219 0 383 -86l-78 -156q-156 78 -305 78q-215 0 -342 -158q-129 -160 -129 -430q0 -287 120 -438q119 -150 351 -150q135 0 327 58v-162q-150 -59 -358 -59q-310 0 -473 196q-164 199 -164 557z" />
50
+ <glyph unicode="D" d="M135 0v1462h342q319 0 494 -188q176 -193 176 -529q0 -365 -182 -552q-186 -193 -529 -193h-301zM322 160h96q532 0 532 579q0 563 -493 564h-135v-1143z" />
51
+ <glyph unicode="E" d="M217 0v1462h842v-164h-656v-452h617v-162h-617v-520h656v-164h-842z" />
52
+ <glyph unicode="F" d="M244 0v1462h841v-164h-655v-516h617v-164h-617v-618h-186z" />
53
+ <glyph unicode="G" d="M117 733q0 352 161.5 551t446.5 199q193 0 346 -86l-72 -162q-150 84 -280 84q-193 0 -299.5 -155.5t-106.5 -432.5q0 -588 394 -588q94 0 202 29v436h-237v164h422v-717q-199 -76 -420 -75q-262 0 -410 200q-147 200 -147 553z" />
54
+ <glyph unicode="H" d="M135 0v1462h187v-616h585v616h187v-1462h-187v682h-585v-682h-187z" />
55
+ <glyph unicode="I" d="M225 0v123l295 20v1176l-295 20v123h776v-123l-294 -20v-1176l294 -20v-123h-776z" />
56
+ <glyph unicode="J" d="M137 39v166q162 -61 309 -62q162 0 254.5 80t92.5 226v1013h186v-1011q0 -215 -141 -345q-139 -127 -377 -126q-215 0 -324 59z" />
57
+ <glyph unicode="K" d="M211 0v1462h186v-731l121 168l453 563h209l-521 -637l539 -825h-211l-450 698l-140 -114v-584h-186z" />
58
+ <glyph unicode="L" d="M233 0v1462h187v-1296h635v-166h-822z" />
59
+ <glyph unicode="M" d="M113 0v1462h247l248 -1192h6l250 1192h252v-1462h-153v887q0 121 14 391h-8l-283 -1278h-154l-278 1280h-8q18 -268 18 -406v-874h-151z" />
60
+ <glyph unicode="N" d="M135 0v1462h213l578 -1204h6q-14 285 -14 404v800h174v-1462h-215l-580 1210h-8q18 -276 18 -417v-793h-172z" />
61
+ <glyph unicode="O" d="M84 735q0 750 534 750q258 0 392 -195q137 -199 137 -557q0 -362 -137 -557q-138 -197 -394 -196q-532 -1 -532 755zM281 733q0 -590 335 -590q174 0 254 145.5t80 444.5q0 305 -82 445q-84 143 -250 143q-337 0 -337 -588z" />
62
+ <glyph unicode="P" d="M176 0v1462h404q514 0 514 -428q0 -219 -137.5 -342t-403.5 -123h-191v-569h-186zM362 727h170q195 0 283 72q86 70 86 225q0 279 -338 279h-201v-576z" />
63
+ <glyph unicode="Q" d="M84 735q0 750 534 750q258 0 392 -195q137 -199 137 -557q0 -526 -285 -694q86 -180 279 -311l-121 -142q-238 172 -328 400q-37 -6 -76 -6q-532 -1 -532 755zM281 733q0 -590 335 -590q174 0 254 145.5t80 444.5q0 305 -82 445q-84 143 -250 143q-337 0 -337 -588z" />
64
+ <glyph unicode="R" d="M186 0v1462h357q520 0 520 -415q0 -287 -289 -392l397 -655h-219l-350 604h-229v-604h-187zM373 762h164q170 0 251.5 65.5t81.5 210.5q0 141 -79.5 203t-258.5 62h-159v-541z" />
65
+ <glyph unicode="S" d="M141 49v178q211 -86 414 -86q350 0 350 240q0 104 -71 160q-74 57 -285 133q-211 74 -299 174q-90 102 -90 264q0 174 129 272.5t352 98.5q225 0 416 -78l-64 -164q-197 78 -360 78q-293 0 -293 -209q0 -102 66 -164q66 -63 270 -133q244 -88 327.5 -182t83.5 -240 q0 -190 -139 -301q-138 -111 -393 -110q-258 -1 -414 69z" />
66
+ <glyph unicode="T" d="M102 1298v164h1022v-164h-417v-1298h-187v1298h-418z" />
67
+ <glyph unicode="U" d="M125 520v942h186v-932q0 -387 307 -387q293 0 300 389v932h186v-948q0 -260 -125 -397q-127 -139 -371 -139q-483 -1 -483 540z" />
68
+ <glyph unicode="V" d="M33 1462h196l295 -927q45 -143 88 -334q33 152 93 340l292 921h199l-489 -1462h-187z" />
69
+ <glyph unicode="W" d="M2 1462h170l88 -663q18 -145 39 -377q18 -203 18 -242q27 162 70 312l141 516h177l145 -521q57 -205 72 -307q6 92 65 619l70 663h170l-187 -1462h-190l-168 580q-43 147 -66 282q-31 -168 -65 -284l-156 -578h-190z" />
70
+ <glyph unicode="X" d="M53 0l453 764l-422 698h199l331 -559l334 559h191l-422 -692l457 -770h-211l-355 635l-366 -635h-189z" />
71
+ <glyph unicode="Y" d="M33 1462h203l376 -739l381 739h201l-487 -893v-569h-187v559z" />
72
+ <glyph unicode="Z" d="M102 0v145l793 1151h-772v166h981v-145l-793 -1151h813v-166h-1022z" />
73
+ <glyph unicode="[" d="M412 -324v1786h528v-149h-346v-1487h346v-150h-528z" />
74
+ <glyph unicode="\" d="M211 1462h178l627 -1462h-178z" />
75
+ <glyph unicode="]" d="M289 -174h346v1487h-346v149h528v-1786h-528v150z" />
76
+ <glyph unicode="^" d="M111 549l424 924h102l481 -924h-162l-368 735l-318 -735h-159z" />
77
+ <glyph unicode="_" d="M-16 -184h1259v-140h-1259v140z" />
78
+ <glyph unicode="`" d="M418 1548v21h219q88 -182 174 -301v-27h-121q-163 139 -272 307z" />
79
+ <glyph unicode="a" d="M135 307q0 332 510 348l203 7v69q0 236 -244 236q-150 0 -328 -82l-63 137q199 96 383 96q223 0 328 -88q102 -86 102 -278v-752h-131l-37 152h-8q-74 -94 -158 -133t-209 -39q-164 0 -256 85.5t-92 241.5zM324 305q0 -178 200 -178q150 0 234 82q88 84 88 229v99 l-162 -7q-195 -8 -278 -61q-82 -51 -82 -164z" />
80
+ <glyph unicode="b" d="M158 0v1556h182v-376q0 -96 -8 -226h8q109 164 322 164q203 0 315 -149q115 -152 115 -418q0 -268 -115 -419.5t-315 -151.5q-207 0 -322 159h-12l-37 -139h-133zM340 551q0 -229 70 -324q72 -96 221 -96q272 0 272 422q0 414 -274 414q-154 0 -221.5 -94.5t-67.5 -321.5 z" />
81
+ <glyph unicode="c" d="M172 543q0 279 145 428q145 147 408 147q176 0 336 -59l-62 -158q-147 57 -268 57q-371 0 -371 -413q0 -406 361 -406q160 0 321 62v-160q-135 -61 -329 -61q-258 0 -400 145q-141 145 -141 418z" />
82
+ <glyph unicode="d" d="M137 547q0 268 115 419.5t315 151.5q205 0 322 -160h12q-12 129 -12 162v436h182v-1556h-147l-27 147h-8q-115 -168 -322 -167q-203 0 -315 149q-115 152 -115 418zM326 545q0 -414 274 -414q152 0 219 88q66 88 70 287v41q0 229 -70 323q-72 96 -221 97 q-272 0 -272 -422z" />
83
+ <glyph unicode="e" d="M133 541q0 266 135 421.5t363 155.5q212 0 338 -135q127 -137 127 -356v-113h-774q9 -375 344 -375q199 0 370 76v-160q-170 -76 -364 -75q-244 0 -391 149q-148 151 -148 412zM326 662h573q0 305 -272 305q-276 0 -301 -305z" />
84
+ <glyph unicode="f" d="M156 961v110l317 33v96q0 195 90 281q88 86 299 86q125 0 252 -35l-41 -143q-109 29 -207 28q-123 0 -168 -51q-43 -49 -43 -164v-104h389v-137h-389v-961h-182v961h-317z" />
85
+ <glyph unicode="g" d="M102 -186q0 212 240 270q-96 47 -96 154q0 113 133 192q-86 35 -139 123q-51 84 -52 186q0 182 106.5 280.5t303.5 98.5q88 0 150 -20h378v-113l-196 -27q66 -88 65 -213q0 -162 -106 -256q-109 -96 -297 -96q-55 0 -86 6q-100 -55 -100 -133q0 -84 161 -84h187 q172 0 266 -78q92 -76 92 -219q0 -377 -565 -377q-218 0 -332 80q-113 81 -113 226zM274 -180q0 -174 271 -174q395 0 395 223q0 88 -49 118.5t-199 30.5h-188q-230 1 -230 -198zM367 745q0 -227 227 -227q223 0 223 230q0 240 -225 239.5t-225 -242.5z" />
86
+ <glyph unicode="h" d="M160 0v1556h182v-462l-8 -144h10q104 168 336 168q389 0 389 -401v-717h-182v707q0 260 -238 260q-307 0 -307 -398v-569h-182z" />
87
+ <glyph unicode="i" d="M197 0v123l344 20v811l-269 21v123h451v-955l352 -20v-123h-878zM526 1435.5q0 114.5 106.5 114.5t106.5 -114q0 -57 -32.5 -86t-73.5 -29q-107 0 -107 114.5z" />
88
+ <glyph unicode="j" d="M135 -303q131 -39 289 -39q119 0 182 57q66 59 66 158v1081l-420 21v123h602v-1215q0 -180 -113 -278q-111 -96 -319 -97q-160 0 -287 35v154zM637 1435.5q0 114.5 106.5 114.5t106.5 -114.5t-106.5 -114.5t-106.5 114.5z" />
89
+ <glyph unicode="k" d="M215 0v1556h180v-714l-16 -289h4l135 152l395 393h222l-494 -475l522 -623h-213l-426 504l-129 -82v-422h-180z" />
90
+ <glyph unicode="l" d="M188 0v123l344 20v1270l-268 21v122h451v-1413l352 -20v-123h-879z" />
91
+ <glyph unicode="m" d="M92 0v1098h127l27 -148h10q68 168 201 168q164 0 213 -182h6q78 182 219 182q129 0 186 -92q57 -90 58 -309v-717h-162v707q0 147 -27 202q-27 57 -88 58q-88 0 -127 -82q-39 -80 -39 -279v-606h-161v707q0 260 -125 260q-82 0 -119 -80t-37 -318v-569h-162z" />
92
+ <glyph unicode="n" d="M160 0v1098h147l27 -148h10q104 168 336 168q389 0 389 -401v-717h-182v707q0 260 -238 260q-307 0 -307 -398v-569h-182z" />
93
+ <glyph unicode="o" d="M115 551q0 264 135 415.5t366 151.5q217 0 356.5 -155.5t139.5 -411.5q0 -266 -137 -418q-139 -154 -365 -153q-219 0 -356 155q-139 158 -139 416zM303 551q0 -420 311 -420q309 0 310 420q0 416 -312 416q-309 0 -309 -416z" />
94
+ <glyph unicode="p" d="M158 -492v1590h147l27 -148h8q111 168 322 168q203 0 315 -149q115 -152 115 -418q0 -268 -115 -419.5t-315 -151.5q-207 0 -322 159h-12q12 -129 12 -162v-469h-182zM340 551q0 -229 70 -324q72 -96 221 -96q272 0 272 422q0 414 -274 414q-152 0 -219.5 -88t-69.5 -287 v-41z" />
95
+ <glyph unicode="q" d="M137 547q0 268 115 419.5t315 151.5q209 0 322 -168h8l27 148h147v-1590h-182v469q0 41 12 170h-12q-115 -168 -322 -167q-203 0 -315 149q-115 152 -115 418zM326 545q0 -414 274 -414q152 0 219 88q66 88 70 287v41q0 229 -70 323q-72 96 -221 97q-272 0 -272 -422z " />
96
+ <glyph unicode="r" d="M264 0v1098h148l22 -201h8q76 117 162 170q84 51 215 51q119 0 240 -45l-49 -166q-121 45 -224 45q-163 0 -251 -92q-88 -90 -89 -268v-592h-182z" />
97
+ <glyph unicode="s" d="M203 49v166q195 -86 370 -86q274 0 275 162q0 55 -49 98t-226 107q-233 86 -294 159q-59 72 -60 172q0 135 111 213q113 78 309.5 78t368.5 -74l-60 -149q-184 72 -319 72q-236 0 -236 -133q0 -57 51.5 -96.5t231.5 -102.5q207 -76 280 -152q70 -72 70 -182 q0 -150 -116.5 -235.5t-331.5 -85.5q-246 -1 -375 69z" />
98
+ <glyph unicode="t" d="M139 961v94l267 49l77 287h105v-293h438v-137h-438v-637q0 -195 192 -195q98 0 240 21v-138q-137 -33 -252 -32q-362 0 -362 344v637h-267z" />
99
+ <glyph unicode="u" d="M160 381v717h182v-707q0 -260 236 -260q162 0 235.5 92t73.5 305v570h182v-1098h-147l-27 147h-10q-106 -168 -334 -167q-391 0 -391 401z" />
100
+ <glyph unicode="v" d="M82 1098h188l240 -652q84 -225 100 -325h6q8 53 101 325l239 652h189l-416 -1098h-231z" />
101
+ <glyph unicode="w" d="M-4 1098h162l98 -543q39 -215 57 -393h6q33 195 68 358l133 578h193l127 -578q43 -188 67 -358h6q29 225 60 393l102 543h158l-225 -1098h-195l-131 596l-68 330h-6l-65 -334l-135 -592h-189z" />
102
+ <glyph unicode="x" d="M96 0l414 563l-393 535h207l290 -410l291 410h207l-395 -535l413 -563h-206l-310 436l-311 -436h-207z" />
103
+ <glyph unicode="y" d="M82 1098h188l262 -654q82 -203 89 -290h6q20 106 90 292l239 652h189l-475 -1241q-70 -178 -156 -263q-89 -86 -246 -86q-94 0 -168 17v145q61 -12 136 -12q96 0 149 41t96 141l58 150z" />
104
+ <glyph unicode="z" d="M182 0v125l660 836h-627v137h811v-146l-647 -815h665v-137h-862z" />
105
+ <glyph unicode="{" d="M225 492v155q338 0 338 189v333q0 287 438 293v-149q-147 -4 -200 -39q-55 -37 -56 -119v-332q0 -209 -233 -248v-12q233 -39 233 -248v-331q0 -82 56 -119q53 -35 200 -39v-150q-438 6 -438 293v334q0 189 -338 189z" />
106
+ <glyph unicode="|" d="M539 -492v2048h149v-2048h-149z" />
107
+ <glyph unicode="}" d="M227 -174q141 0 198.5 39t57.5 119v331q0 209 234 248v12q-233 39 -234 248v332q0 80 -57 119t-199 39v149q438 -6 439 -293v-333q0 -188 338 -189v-155q-338 0 -338 -189v-334q0 -287 -439 -293v150z" />
108
+ <glyph unicode="~" d="M152 586v162q98 109 247 108q102 0 248 -63q129 -55 201 -56q106 0 227 121v-162q-98 -109 -248 -108q-102 0 -247 63q-133 55 -201 56q-106 0 -227 -121z" />
109
+ <glyph unicode="&#xa0;" />
110
+ <glyph unicode="&#xa2;" d="M172 743q0 494 434 568v172h137v-164q158 -2 318 -59l-62 -158q-147 57 -268 57q-371 0 -371 -414q0 -406 361 -405q152 0 321 61v-159q-123 -59 -299 -62v-200h-137v206q-434 68 -434 557z" />
111
+ <glyph unicode="&#xa3;" d="M119 0v154q201 49 200 284v213h-198v137h198v324q0 166 109 268q106 100 289 101q193 0 346 -80l-66 -144q-143 72 -272 72q-223 0 -223 -246v-295h377v-137h-377v-211q0 -199 -140 -274h748v-166h-991z" />
112
+ <glyph unicode="&#xa5;" d="M78 1462h192l342 -739l346 739h191l-385 -768h240v-137h-302v-158h302v-137h-302v-262h-178v262h-301v137h301v158h-301v137h234z" />
113
+ <glyph unicode="&#xa9;" d="M6 731q0 342 160 547t448 205q283 0 447 -203q162 -201 162 -549t-162 -549q-164 -203 -447 -202q-285 0 -446.5 204.5t-161.5 546.5zM115 731q0 -301 129 -473q127 -170 370 -170q242 0 369 170q131 174 131 473t-131 473q-127 170 -368.5 170t-370.5 -172t-129 -471z M248 733q0 209 110.5 332t300.5 123q127 0 254 -62l-61 -127q-106 53 -193 54q-123 0 -186 -86q-66 -88 -65 -236q0 -324 251 -323q98 0 215 45v-131q-108 -49 -221 -50q-197 0 -301 123t-104 338z" />
114
+ <glyph unicode="&#xad;" d="M285 465v168h659v-168h-659z" />
115
+ <glyph unicode="&#xae;" d="M6 731q0 342 160 547t448 205q283 0 447 -203q162 -201 162 -549t-162 -549q-164 -203 -447 -202q-285 0 -446.5 204.5t-161.5 546.5zM115 731q0 -301 129 -473q127 -170 370 -170q242 0 369 170q131 174 131 473t-131 473q-127 170 -368.5 170t-370.5 -172t-129 -471z M348 285v893h234q326 0 325 -265q0 -163 -159 -233l237 -395h-178l-207 352h-94v-352h-158zM506 768h72q170 0 170 141q0 74 -41 103q-43 31 -132 30h-69v-274z" />
116
+ <glyph unicode="&#xb4;" d="M418 1241v27q92 127 174 301h219v-21q-109 -168 -272 -307h-121z" />
117
+ <glyph unicode="&#x2000;" horiz-adv-x="782" />
118
+ <glyph unicode="&#x2001;" horiz-adv-x="1568" />
119
+ <glyph unicode="&#x2002;" horiz-adv-x="782" />
120
+ <glyph unicode="&#x2003;" horiz-adv-x="1568" />
121
+ <glyph unicode="&#x2004;" horiz-adv-x="522" />
122
+ <glyph unicode="&#x2005;" horiz-adv-x="391" />
123
+ <glyph unicode="&#x2006;" horiz-adv-x="260" />
124
+ <glyph unicode="&#x2007;" horiz-adv-x="260" />
125
+ <glyph unicode="&#x2008;" horiz-adv-x="194" />
126
+ <glyph unicode="&#x2009;" horiz-adv-x="311" />
127
+ <glyph unicode="&#x200a;" horiz-adv-x="86" />
128
+ <glyph unicode="&#x2010;" d="M285 465v168h659v-168h-659z" />
129
+ <glyph unicode="&#x2011;" d="M285 465v168h659v-168h-659z" />
130
+ <glyph unicode="&#x2012;" d="M285 465v168h659v-168h-659z" />
131
+ <glyph unicode="&#x2013;" d="M184 465v168h860v-168h-860z" />
132
+ <glyph unicode="&#x2014;" d="M-6 465v168h1241v-168h-1241z" />
133
+ <glyph unicode="&#x2018;" d="M446 983q57 217 177 479h157q-66 -276 -100 -501h-219z" />
134
+ <glyph unicode="&#x2019;" d="M446 961q61 254 101 501h219l14 -22q-53 -207 -176 -479h-158z" />
135
+ <glyph unicode="&#x201c;" d="M233 983q57 217 177 479h157q-66 -276 -100 -501h-219zM659 983q57 217 177 479h157q-66 -276 -100 -501h-219z" />
136
+ <glyph unicode="&#x201d;" d="M233 961q61 254 101 501h219l14 -22q-53 -207 -176 -479h-158zM659 961q61 254 101 501h219l14 -22q-53 -207 -176 -479h-158z" />
137
+ <glyph unicode="&#x2022;" d="M379 748q0 262 235.5 262t235.5 -262q0 -129 -64 -195q-65 -68 -172 -68q-113 0 -174 68t-61 195z" />
138
+ <glyph unicode="&#x2026;" d="M78 110.5q0 139.5 127 139.5t127 -139.5t-127 -139.5t-127 139.5zM487 110.5q0 139.5 127 139.5t127 -139.5t-127 -139.5t-127 139.5zM897 110.5q0 139.5 127 139.5t127 -139.5t-127 -139.5t-127 139.5z" />
139
+ <glyph unicode="&#x202f;" horiz-adv-x="311" />
140
+ <glyph unicode="&#x205f;" horiz-adv-x="391" />
141
+ <glyph unicode="&#x20ac;" d="M96 502v137h148l-2 39l2 119h-148v137h160q41 262 180 405q141 143 359 144q193 0 335 -92l-79 -146q-123 74 -242 74q-133 0 -234 -100q-96 -96 -133 -285h432v-137h-446q0 -6 -1 -14.5t-1 -14.5v-25v-61q0 -29 2 -43h385v-137h-367q74 -358 369 -359q139 0 268 58v-162 q-125 -59 -282 -59q-444 0 -541 522h-164z" />
142
+ <glyph unicode="&#x2122;" d="M0 1354v108h481v-108h-178v-613h-127v613h-176zM526 741v721h187l139 -534l149 534h179v-721h-127v342q0 74 10 207h-12l-154 -549h-100l-146 549h-12l10 -180v-369h-123z" />
143
+ <glyph unicode="&#xe000;" horiz-adv-x="1100" d="M0 1100h1100v-1100h-1100v1100z" />
144
+ <glyph unicode="&#xfb01;" d="M49 961v75l195 68v96q0 190 75.5 278.5t255.5 88.5q96 0 197 -37l-47 -141q-82 29 -143 28q-90 0 -123 -51q-33 -53 -33 -164v-104h246v-137h-246v-961h-182v961h-195zM854 1394.5q0 114.5 106.5 114.5t106.5 -114q0 -58 -31 -86q-33 -29 -75 -29q-107 0 -107 114.5z M868 0v1098h183v-1098h-183z" />
145
+ <glyph unicode="&#xfb02;" d="M49 961v75l195 68v96q0 190 75.5 278.5t255.5 88.5q96 0 197 -37l-47 -141q-82 29 -143 28q-90 0 -123 -51q-33 -53 -33 -164v-104h246v-137h-246v-961h-182v961h-195zM868 0v1556h183v-1556h-183z" />
146
+ <glyph unicode="&#xfb03;" d="M66 971v65l100 62v82q0 109 20 176q23 76 58 112q37 39 96 60q55 18 127 18q57 0 92 -10q47 -14 78 -25q43 33 88 43q53 12 115 13q59 0 98 -11q49 -14 82 -26l-41 -131q-18 8 -64 20q-31 8 -71 8q-37 0 -66 -12q-27 -12 -45 -37q-16 -23 -26 -69q-8 -39 -9 -107v-104 h367v-1098h-164v971h-203v-971h-163v971h-205v-971h-164v971h-100zM330 1098h205v102q0 115 24 193q-29 8 -43 10q-29 4 -45 4q-39 0 -61 -10q-27 -12 -45 -37q-14 -18 -25 -70q-10 -47 -10 -108v-84z" />
147
+ <glyph unicode="&#xfb04;" d="M66 971v65l100 62v82q0 109 20 176q23 76 58 112q37 39 96 60q55 18 127 18q57 0 92 -10q47 -14 78 -25q43 33 88 43q53 12 115 13q55 0 94 -11h131v-1556h-164v1421q-20 4 -29 4q-4 0 -14 1t-14 1q-37 0 -66 -12q-27 -12 -45 -37q-16 -23 -26 -69q-8 -39 -9 -107v-104 h142v-127h-142v-971h-163v971h-205v-971h-164v971h-100zM330 1098h205v102q0 115 24 193q-29 8 -43 10q-29 4 -45 4q-39 0 -61 -10q-27 -12 -45 -37q-14 -18 -25 -70q-10 -47 -10 -108v-84z" />
148
+ </font>
149
+ </defs></svg>
fonts/droid-sans-mono/droid-sans-mono-webfont.ttf ADDED
Binary file
fonts/droid-sans-mono/droid-sans-mono-webfont.woff ADDED
Binary file
fonts/inconsolata.css ADDED
@@ -0,0 +1,14 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ @font-face {
2
+ font-family: 'InconsolataRegular';
3
+ src: url('inconsolata/inconsolata-webfont.eot');
4
+ src: url('inconsolata/inconsolata-webfont.eot?#iefix') format('embedded-opentype'),
5
+ url('inconsolata/inconsolata-webfont.woff') format('woff'),
6
+ url('inconsolata/inconsolata-webfont.ttf') format('truetype'),
7
+ url('inconsolata/inconsolata-webfont.svg#InconsolataRegular') format('svg');
8
+ font-weight: normal;
9
+ font-style: normal;
10
+ }
11
+
12
+ .crayon-font-inconsolata * {
13
+ font-family: Inconsolata, 'InconsolataRegular', 'Courier New', monospace !important;
14
+ }
fonts/inconsolata/inconsolata-webfont.eot ADDED
Binary file
fonts/inconsolata/inconsolata-webfont.svg ADDED
@@ -0,0 +1,147 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0" standalone="no"?>
2
+ <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
3
+ <svg xmlns="http://www.w3.org/2000/svg">
4
+ <metadata>
5
+ This is a custom SVG webfont generated by Font Squirrel.
6
+ Copyright : Created by Raph Levien using his own tools and FontForge Copyright 2006 Raph Levien Released under the SIL Open Font License httpscriptssilorgOFL
7
+ </metadata>
8
+ <defs>
9
+ <font id="webfont9rzdef9O" horiz-adv-x="1024" >
10
+ <font-face units-per-em="2048" ascent="1679" descent="-369" />
11
+ <missing-glyph horiz-adv-x="500" />
12
+ <glyph unicode=" " />
13
+ <glyph unicode="!" d="M369 97q0 50 35.5 86t86 36t86 -36t35.5 -86t-35.5 -85t-86 -35t-86 35t-35.5 85zM389 1214q0 53 14 89q27 66 91 65q31 0 58.5 -22.5t39.5 -65.5q6 -31 6 -84q0 -45 -8 -127t-10 -106l-37 -566h-103l-30 566q-4 70 -12.5 144t-8.5 107z" />
14
+ <glyph unicode="&#x22;" d="M227 870l45 140q20 61 21 112q0 23 -7 66t-7 63q0 57 26.5 85t61.5 28t63.5 -30.5t28.5 -94.5q0 -72 -68 -260l-49 -135zM582 870l45 140q18 61 18 112q0 23 -6 66t-6 63q0 57 26.5 85t61.5 28t63.5 -30.5t28.5 -94.5q0 -72 -70 -260l-49 -135z" />
15
+ <glyph unicode="#" d="M51 387l8 94l203 4l41 349l-223 -3l6 97l227 2l41 348l125 6l-43 -352l226 2l40 334l127 4l-41 -336l187 2l-12 -98l-187 -2l-43 -344l203 4l-10 -97l-203 -4l-45 -368l-125 -9l45 375l-227 -2l-43 -364l-121 -6l43 368zM383 487l225 5l43 344l-227 -2z" />
16
+ <glyph unicode="$" d="M123 193l88 122q8 -6 8 -20t6 -23q102 -109 256 -125v451q-66 20 -112 43q-207 98 -207 272q0 111 89 195t230 102v123h131q2 -4 2 -8q0 -6 -7 -15.5t-7 -19.5v-78q190 -20 305 -157l-88 -111q-10 2 -10 14l-2 17q-2 4 -10 12q-70 84 -195 105v-396q92 -31 137 -49 q205 -88 205 -276q0 -119 -89 -217.5t-253 -120.5v-129h-119v125q-221 14 -358 164zM297 930q0 -92 113 -158q29 -16 71 -33v355q-90 -10 -137 -57.5t-47 -106.5zM600 152q96 18 152.5 78.5t56.5 131.5q0 100 -102 156q-35 18 -107 41v-407z" />
17
+ <glyph unicode="%" d="M57 1032q0 115 68 190.5t162 75.5t161.5 -76.5t67.5 -193.5q0 -113 -66.5 -188.5t-160.5 -75.5q-96 0 -164 76.5t-68 191.5zM94 0l707 1276h137l-713 -1276h-131zM182 1038q0 -92 33 -129t72 -37t69.5 36t30.5 116q0 96 -32.5 132t-71.5 36q-37 0 -69 -36t-32 -118z M530 244q0 115 68 190.5t162 75.5t160.5 -76t66.5 -188q0 -115 -66.5 -190.5t-160.5 -75.5t-162 75.5t-68 188.5zM651 244q0 -82 34 -122t75 -40t73.5 38t32.5 120q0 88 -33.5 127t-74.5 39t-74 -38t-33 -124z" />
18
+ <glyph unicode="&#x26;" d="M74 299q0 119 70.5 228.5t187.5 174.5q-145 174 -146 318q0 115 82 191.5t201 76.5q117 0 195.5 -77.5t78.5 -194.5q0 -100 -60 -193.5t-161 -146.5l230 -322q63 74 92 166q2 8 2 17q0 4 -1 11t-1 13q0 12 8 21l133 -93q-70 -125 -156 -237l144 -186l-121 -91l-113 181 q-63 -80 -154 -128t-192 -48q-137 0 -228 91t-91 228zM229 313q0 -88 53.5 -145t133.5 -57q61 0 122.5 35.5t94.5 70.5l31 35l-261 354q-82 -51 -128 -131t-46 -162zM328 1018q0 -98 125 -254q72 39 113.5 105.5t41.5 136.5q0 72 -42 116.5t-99 44.5t-98 -41.5t-41 -107.5z " />
19
+ <glyph unicode="'" d="M422 870l45 140q20 61 20 112q0 23 -7 66t-7 63q0 57 26.5 85t61.5 28t63.5 -30.5t28.5 -94.5q0 -72 -67 -260l-51 -135z" />
20
+ <glyph unicode="(" d="M285 528.5q0 280.5 139 506t379 329.5l61 -125q-8 -4 -16 -4q-4 0 -11.5 1t-11.5 1q-6 0 -18 -6q-178 -106 -279.5 -290.5t-101.5 -403.5q0 -242 119 -452t325 -331l-65 -108q-244 127 -382 364.5t-138 518z" />
21
+ <glyph unicode=")" d="M147 -233q209 111 331 310t122 431q0 227 -119 422.5t-321 304.5l39 127q250 -115 398 -345.5t148 -502.5q0 -276 -151.5 -513t-407.5 -357z" />
22
+ <glyph unicode="*" d="M84 723l53 133l332 -156l-33 363h166q-2 -12 -6 -27.5t-6 -27.5l-31 -308l326 148l53 -125l-350 -107l258 -309l-113 -88l-221 340l-229 -342l-111 90l266 307z" />
23
+ <glyph unicode="+" d="M92 596v125h363v350h129v-350h350v-125h-350v-383h-129v383h-363z" />
24
+ <glyph unicode="," d="M338 -283q57 53 102 127q31 49 31 86q0 41 -47 72q-57 39 -57 92q0 47 33.5 82t82.5 35q57 0 100.5 -47t43.5 -123q0 -164 -219 -385z" />
25
+ <glyph unicode="-" d="M145 575v138h738v-138h-738z" />
26
+ <glyph unicode="." d="M367 94q0 49 35.5 84t86 35t86 -35t35.5 -84t-35.5 -83t-86 -34t-86 34t-35.5 83z" />
27
+ <glyph unicode="/" d="M131 -27l641 1389l123 -64l-643 -1384z" />
28
+ <glyph unicode="0" d="M102 629q0 291 125 473t287 182q76 0 147.5 -44t130 -125t94.5 -211t36 -287.5t-37 -283.5t-96.5 -202t-129 -115t-143.5 -39q-162 0 -288 178.5t-126 473.5zM236 653q0 -131 28 -241l451 581q-41 82 -94.5 124t-108.5 42q-104 0 -190 -138.5t-86 -367.5zM311 283 q43 -84 98.5 -129t112.5 -45q45 0 89 27.5t85 82.5t66.5 154.5t25.5 226.5q0 141 -26 256z" />
29
+ <glyph unicode="1" d="M186 1106l328 172h96v-1167h230v-113h-602v113h235v989l-252 -74z" />
30
+ <glyph unicode="2" d="M150 0v90q76 150 163.5 258.5t206.5 216.5q45 39 61.5 54.5t56.5 58.5t57.5 72.5t33.5 75.5t16 89q0 102 -71.5 173t-173.5 71q-76 0 -133.5 -37t-85.5 -80q-4 -8 -7.5 -23t-9.5 -24l-104 82q55 96 151.5 151.5t204.5 55.5q156 0 263.5 -104.5t107.5 -253.5 q0 -63 -20.5 -125t-58.5 -114t-69.5 -86t-76.5 -77q-51 -51 -106.5 -100t-124.5 -131t-116 -168h535q12 0 22 8q14 14 27 10v-143h-749z" />
31
+ <glyph unicode="3" d="M141 123l109 129q8 -8 12 -27.5t14 -29.5q10 -12 29 -27.5t68 -37t102 -21.5q111 0 184.5 76.5t73.5 183.5q0 113 -84 177t-217 64q-33 0 -63 -4v115q127 0 200 33q63 29 99.5 84t36.5 116q0 82 -62.5 140.5t-159.5 58.5q-129 0 -219 -98l-80 88q125 137 305 137 q150 0 251.5 -95t101.5 -229q0 -92 -52.5 -167.5t-138.5 -108.5q98 -35 158.5 -125t60.5 -205q0 -154 -108.5 -263.5t-284.5 -109.5q-205 1 -336 146z" />
32
+ <glyph unicode="4" d="M98 354v105l543 819h121v-799h164v-127h-164v-352h-150v354h-514zM240 479h374v572z" />
33
+ <glyph unicode="5" d="M131 174l127 94q10 -6 11 -24.5t3 -22.5q14 -29 81 -74t155 -45q109 0 183.5 81t74.5 223q0 145 -77 225t-185 80q-66 0 -129.5 -32t-110.5 -89l-90 37l43 649h647v-129h-526l-21 -367q100 49 209 49q166 0 275.5 -113.5t109.5 -312.5q0 -201 -114.5 -313.5 t-286.5 -112.5q-115 0 -215.5 51.5t-163.5 145.5z" />
34
+ <glyph unicode="6" d="M137 582q0 238 56 391q55 160 163.5 238.5t231.5 78.5q162 0 280 -116l-100 -109q-10 6 -17.5 23.5t-13.5 21.5q-6 8 -22.5 18.5t-52 22.5t-72.5 12q-35 0 -69 -8t-79 -40t-77.5 -82t-58 -144t-27.5 -219q43 72 115.5 112.5t154.5 40.5q143 0 246.5 -113.5t103.5 -304 t-106.5 -308t-257.5 -117.5q-86 0 -166 43t-136 124q-96 148 -96 435zM287 526q-12 -176 62.5 -298t191.5 -122q90 0 154.5 76t64.5 217q0 152 -67.5 225.5t-155.5 73.5q-72 0 -139.5 -47t-110.5 -125z" />
35
+ <glyph unicode="7" d="M162 1141v135h723v-80q-131 -295 -244 -598q-109 -297 -203 -598h-162q115 344 246 682q88 231 185 459h-545z" />
36
+ <glyph unicode="8" d="M123 322q0 109 70.5 206t185.5 150q-88 45 -141.5 126t-53.5 173q0 131 99.5 223t244.5 92q141 0 236.5 -88t95.5 -215q0 -92 -55 -175t-148 -132q111 -51 178.5 -146.5t67.5 -205.5q0 -147 -112.5 -248.5t-278.5 -101.5t-277.5 99.5t-111.5 242.5zM270 340 q0 -96 72 -163.5t176 -67.5q100 0 170 64.5t70 157.5t-74 172t-199 118q-92 -39 -153.5 -116t-61.5 -165zM322 989q0 -57 34.5 -109.5t76.5 -82t79 -45.5l35 -19q76 41 125 108.5t49 139.5q0 80 -58.5 135t-144.5 55q-84 0 -140 -53t-56 -129z" />
37
+ <glyph unicode="9" d="M139 866q0 182 107.5 302t259.5 120q109 0 204 -69.5t142 -206.5q43 -129 43 -357q0 -236 -53 -379q-55 -147 -164 -221.5t-234 -74.5q-164 0 -282 116l100 109q10 -6 17.5 -24.5t15.5 -24.5q59 -47 154 -47q76 0 145.5 43t105.5 133q47 109 54 315q-45 -63 -115 -100 t-150 -37q-143 0 -246.5 112.5t-103.5 290.5zM279 872q0 -135 66.5 -209.5t158.5 -74.5q70 0 134 42t107 113q16 186 -56.5 302t-186.5 116q-92 0 -157.5 -78t-65.5 -211z" />
38
+ <glyph unicode=":" d="M367 94q0 49 35.5 84t86 35t86 -35t35.5 -84t-35.5 -83t-86 -34t-86 34t-35.5 83zM367 748.5q0 48.5 35.5 83t86 34.5t86 -34.5t35.5 -83t-35.5 -83t-86 -34.5t-86 34.5t-35.5 83z" />
39
+ <glyph unicode=";" d="M338 -283q57 53 102 127q31 49 31 86q0 41 -47 72q-57 39 -57 92q0 47 33.5 82t82.5 35q57 0 100.5 -47t43.5 -123q0 -164 -219 -385zM367 748.5q0 48.5 35.5 83t86 34.5t86 -34.5t35.5 -83t-35.5 -83t-86 -34.5t-86 34.5t-35.5 83z" />
40
+ <glyph unicode="&#x3c;" d="M72 606l872 -510v156l-717 401l711 363v145l-866 -456v-99z" />
41
+ <glyph unicode="=" d="M92 348v125h842v-125h-842zM92 772v125h842v-125h-842z" />
42
+ <glyph unicode="&#x3e;" d="M82 96v156l715 401l-711 363v145l868 -456v-99z" />
43
+ <glyph unicode="?" d="M131 1149q66 100 172.5 156.5t222.5 56.5q166 0 264.5 -105.5t98.5 -255.5q0 -55 -12.5 -100t-41 -84t-46 -57.5t-57.5 -51t-46 -36.5q-57 -51 -72.5 -97.5t-15.5 -111.5v-84h-135v84q0 82 17.5 139t78.5 125l40 41q32 33 47.5 51.5t38 52t32.5 68.5t10 72 q0 92 -61.5 154.5t-153.5 62.5q-78 0 -153.5 -48t-122.5 -130zM414 91q0 48 34.5 83t86 35t86 -35t34.5 -83t-34.5 -83t-86 -35t-86 35t-34.5 83z" />
44
+ <glyph unicode="@" d="M63 643q0 166 45.5 296t118 206t156.5 113.5t172 37.5q115 0 209 -60t143 -167q45 -102 45 -295v-416h-123v78q-80 -94 -204 -94q-111 0 -189 78t-78 188q0 86 51.5 160t143.5 111q82 31 240 30h30q0 115 -79.5 196t-194.5 81q-68 0 -132.5 -33t-117.5 -96.5t-85 -169 t-32 -238.5q0 -143 39 -253.5t103.5 -174t139.5 -95.5t152 -32q119 0 220 68l55 -101q-131 -84 -287 -84q-100 0 -193.5 38t-172 115t-127 210t-48.5 303zM485 614q0 -68 47.5 -113.5t114.5 -45.5q47 0 88 23.5t64 68.5q14 29 21 72t8 66.5t1 82.5v39h-34q-158 0 -228 -47 q-82 -56 -82 -146z" />
45
+ <glyph unicode="A" d="M31 -2l450 1300h17l491 -1298h-147l-142 373h-405l-123 -375h-141zM324 483h344l-181 488z" />
46
+ <glyph unicode="B" d="M98 0v1276h363q158 0 239 -35q88 -39 136.5 -113.5t48.5 -162.5q0 -92 -51.5 -169t-137.5 -112q106 -37 173 -128t67 -202q0 -102 -56.5 -187t-156.5 -128q-90 -39 -264 -39h-361zM240 125h243q109 0 166 27q63 29 99 87t36 130q0 70 -37.5 132t-105.5 95q-68 31 -192 31 h-209v-502zM240 748h200q117 0 176.5 25.5t92 73.5t32.5 103q0 57 -33.5 106.5t-95.5 73.5q-57 25 -170 25h-202v-407z" />
47
+ <glyph unicode="C" d="M84 631q0 147 31.5 264t81 188.5t116 118.5t129 65.5t127.5 18.5q127 0 232.5 -68.5t159.5 -183.5l-138 -67q-8 6 -8 20v7v7q0 10 -6 23q-41 68 -106.5 107.5t-139.5 39.5q-141 0 -240.5 -142t-99.5 -386q0 -248 102.5 -394.5t249.5 -146.5q76 0 147 42t114 114l106 -70 q-59 -98 -159.5 -153t-215.5 -55q-66 0 -131 19t-129.5 67.5t-114 121t-79 187.5t-29.5 256z" />
48
+ <glyph unicode="D" d="M111 -2v1278h297q98 0 165.5 -13.5t131.5 -54.5q121 -78 179 -227.5t58 -339.5q0 -211 -72.5 -366.5t-210.5 -225.5q-100 -51 -276 -51h-272zM246 111h131q76 0 130 11t107 46q184 125 185 453q0 332 -160 462q-53 45 -108.5 58.5t-131.5 13.5h-153v-1044z" />
49
+ <glyph unicode="E" d="M121 0v1278h782v-127h-647v-420h535v-131h-535v-473h641v-127h-776z" />
50
+ <glyph unicode="F" d="M160 0v1278h735v-125h-592v-401h477v-125h-477v-627h-143z" />
51
+ <glyph unicode="G" d="M74 623q0 160 35.5 283.5t89 193t123 115t129 59.5t116.5 14q119 0 217.5 -57t153.5 -156l-100 -102q-12 8 -27 39q-31 68 -96.5 109.5t-147.5 41.5q-86 0 -162.5 -47t-123.5 -135q-66 -121 -66 -328q0 -297 123 -436q96 -111 242 -111q121 0 229 78v303h-231v125h364 v-499q-180 -133 -375 -133q-70 0 -137.5 20t-133 68.5t-113.5 119t-78.5 183.5t-30.5 252z" />
52
+ <glyph unicode="H" d="M111 0v1276h159q2 -4 2 -10t-6 -16.5t-6 -22.5v-498h500v547h155q2 -4 3 -8q0 -8 -7.5 -17.5t-7.5 -19.5v-1233h-145v610h-498v-608h-149z" />
53
+ <glyph unicode="I" d="M166 -2v121h252v1036h-238v121h633v-121h-252v-1038h264v-119h-659z" />
54
+ <glyph unicode="J" d="M100 119l97 117q6 -6 7 -19.5t5 -17.5q8 -10 27.5 -28.5t67.5 -42.5t97 -24q96 0 150 80q23 33 34 81t12 76t1 85v729h-246v121h584v-121h-197v-727q0 -61 -2 -97t-13 -88.5t-36 -95.5q-43 -82 -119.5 -126t-169.5 -44q-86 0 -164 37t-135 105z" />
55
+ <glyph unicode="K" d="M86 0v1278h172q2 -12 -12 -29q-6 -10 -6 -24v-537l532 598q41 -10 107 -10h53l-483 -551l516 -727l-183 -6l-442 647l-100 -111v-528h-154z" />
56
+ <glyph unicode="L" d="M135 -2v1278h168q2 -14 -8 -33q-10 -18 -10 -37v-1083h614v-125h-764z" />
57
+ <glyph unicode="M" d="M84 -2v1278h113l315 -625l322 627h108v-1280h-135v965l-277 -514h-55l-258 507v-958h-133z" />
58
+ <glyph unicode="N" d="M102 0v1276h140l536 -946v948h152q2 -12 -6 -27q-8 -14 -9 -28v-1225h-112l-563 1006v-1004h-138z" />
59
+ <glyph unicode="O" d="M59 640q0 144 30 260t77 186.5t109.5 118.5t123 66.5t121.5 18.5q109 0 208 -61.5t159 -177.5q78 -154 78 -416q0 -254 -76 -408q-59 -123 -158.5 -185t-210.5 -62q-61 0 -122.5 20t-123 69.5t-108.5 122t-77 188.5t-30 260zM201 659q0 -145 29.5 -254.5t77.5 -169 t101.5 -87t110.5 -27.5q72 0 137.5 42t106.5 130q57 121 57 323q0 215 -49 338q-41 102 -111.5 151.5t-146.5 49.5q-55 0 -106.5 -24.5t-99.5 -79t-77.5 -156t-29.5 -236.5z" />
60
+ <glyph unicode="P" d="M121 0v1276h389q156 0 240 -43q88 -45 136 -131t48 -185.5t-47 -183.5t-133 -129q-82 -41 -234 -41h-252v-563h-147zM266 690h258q96 0 150 25q53 29 82.5 81t29.5 113q0 66 -31.5 121t-88.5 84q-55 27 -156 27h-242z" />
61
+ <glyph unicode="Q" d="M59 639q0 145 31 261t77 186.5t108.5 118.5t123 66.5t121.5 18.5q109 0 208 -62.5t161 -180.5q76 -152 76 -414q0 -254 -76 -408q-51 -100 -130 -160.5t-171 -78.5q4 -68 34.5 -111t116.5 -43q25 0 81.5 5t84.5 5l-4 -139q-34 -1 -66 -1q-63 0 -117 3q-81 4 -132 29 q-125 63 -123 252q-76 10 -142.5 51t-128 114.5t-97.5 199.5t-36 288zM199 662q0 -145 29.5 -256t76.5 -172.5t102.5 -91t114.5 -29.5q37 0 74 11t80 45t75.5 86t54 145.5t21.5 215.5q0 211 -51 340q-43 104 -114.5 153.5t-147.5 49.5q-57 0 -109.5 -26.5t-99.5 -81 t-76.5 -155.5t-29.5 -234z" />
62
+ <glyph unicode="R" d="M115 0v1276h377q160 0 243 -43q86 -43 133 -126t47 -181q0 -127 -71.5 -226.5t-188.5 -130.5l295 -569h-159l-283 563h-248v-563h-145zM260 690h248q96 0 147 25q55 29 84 81t29 113q0 66 -30.5 121t-90.5 84q-53 27 -155 27h-232v-451z" />
63
+ <glyph unicode="S" d="M106 143l84 148q10 -6 11 -21q0 -14 6 -22q47 -59 127 -99t176 -40q131 0 206 69.5t75 161.5q0 109 -109 176q-37 23 -184.5 83t-212.5 108q-137 100 -138 249q0 133 111 230.5t279 97.5q104 0 196 -42t158 -118l-90 -123q-10 4 -11.5 17.5t-5.5 19.5q-39 57 -106.5 92 t-151.5 35q-106 0 -168.5 -55t-62.5 -131q0 -115 131 -191q29 -18 185.5 -83.5t222.5 -126.5q98 -92 98 -230q0 -66 -23.5 -127t-72 -117.5t-133.5 -90t-197 -33.5q-248 -1 -400 163z" />
64
+ <glyph unicode="T" d="M63 1149v129h885v-129h-377v-1151h-145v1151h-363z" />
65
+ <glyph unicode="U" d="M102 440v836h162q2 -4 2 -10q0 -8 -14 -29q-8 -10 -8 -27v-772q0 -123 30 -188q33 -72 99.5 -112t144.5 -40q76 0 142.5 39t99.5 111q33 68 33 196v832h137v-830q0 -86 -9.5 -148t-41.5 -122q-53 -96 -150.5 -147.5t-212.5 -51.5q-117 0 -214 51.5t-150 147.5 q-31 57 -40.5 117.5t-9.5 146.5z" />
66
+ <glyph unicode="V" d="M51 1278h150l327 -981l310 979h141l-428 -1284h-66z" />
67
+ <glyph unicode="W" d="M35 1276h133l137 -862l205 768h45l207 -772l117 866h120l-202 -1284h-56l-219 842l-223 -842h-59z" />
68
+ <glyph unicode="X" d="M84 0l348 651l-342 627h154l268 -485l264 485h144l-324 -625l362 -653h-161l-283 506l-274 -506h-156z" />
69
+ <glyph unicode="Y" d="M57 1278h164l314 -621l282 619h152l-363 -772v-504h-155v504z" />
70
+ <glyph unicode="Z" d="M102 -2v100l643 1049h-618v129h788l-2 -100l-630 -1051h602q14 0 31.5 7t31.5 5v-139h-846z" />
71
+ <glyph unicode="[" d="M268 -182v1554h586v-123h-455v-1315h457v-116h-588z" />
72
+ <glyph unicode="\" d="M131 1298l121 64l643 -1389l-121 -59z" />
73
+ <glyph unicode="]" d="M170 -66h457v1315h-455v123h584v-1554h-586v116z" />
74
+ <glyph unicode="^" d="M190 752l314 524h45l276 -522l-108 -52l-199 359l-225 -359z" />
75
+ <glyph unicode="_" d="M72 -39h882v-125h-882v125z" />
76
+ <glyph unicode="`" d="M285 1323l106 51l53 -135q25 -59 58 -98q14 -18 47 -47t47 -45q35 -49 33 -85t-29 -57q-16 -14 -38.5 -18t-53.5 9t-59 46q-45 55 -113 242z" />
77
+ <glyph unicode="a" d="M100 242q0 82 54.5 155.5t160.5 112.5q55 20 133 29.5t125.5 10.5t145.5 1h31v35q0 111 -31 159q-55 90 -193 91q-168 0 -268 -105l-72 94q125 131 334 131q111 0 195 -39.5t131 -115.5q45 -76 45 -221v-580h-139v102q-154 -125 -336 -125q-141 0 -228.5 78t-87.5 187z M248 252q0 -66 54 -114t142 -48q82 0 145.5 35t100.5 76q31 31 45.5 65.5t17.5 56t3 54.5v61h-35q-32 1 -71.5 1t-87.5 -1q-95 -2 -148 -14q-82 -20 -124 -68.5t-42 -103.5z" />
78
+ <glyph unicode="b" d="M123 0v1362h172q4 -10 -10 -23q-12 -8 -13 -22v-524q45 76 122 120.5t167 44.5q70 0 136.5 -29.5t120.5 -87t86 -150.5t32 -212q0 -123 -34 -221t-90 -157.5t-125 -91.5t-142 -32q-84 0 -157 39t-120 107l-51 -123h-94zM272 498q0 -141 7 -185q8 -63 34.5 -106 t64.5 -62.5t68.5 -27.5t59.5 -8q33 0 65.5 8t71.5 30.5t69.5 57.5t51 98.5t20.5 145.5q0 94 -21.5 165.5t-51 111.5t-68.5 64.5t-70.5 32.5t-62.5 8q-72 0 -129 -36.5t-84 -100.5q-25 -59 -25 -196z" />
79
+ <glyph unicode="c" d="M115 467q0 211 132 349t339 138q111 0 202 -46t148 -128l-105 -121q-10 6 -10 23.5t-4 24.5q-4 8 -18.5 24.5t-43 40t-76.5 40.5t-104 17q-131 0 -220 -95t-89 -251q0 -164 92.5 -268t229.5 -104q147 0 248 114l86 -100q-139 -147 -347 -148q-199 0 -329.5 139.5 t-130.5 350.5z" />
80
+ <glyph unicode="d" d="M92 475q0 129 36 226.5t95.5 151.5t125 81t136.5 27q96 0 168 -44.5t107 -117.5v563h158q0 -12 -13 -31q-8 -12 -8 -26l2 -1219q0 -51 10 -86h-147q-8 27 -8 70v80q-45 -78 -123 -124t-166 -46q-72 0 -136.5 29.5t-118.5 88t-86 155.5t-32 222zM236 500q0 -109 25.5 -190 t66.5 -122t84 -60t86 -19q76 0 140 48t91 130q18 61 19 170q0 141 -15 200q-27 94 -96.5 138.5t-144.5 44.5q-43 0 -85 -16.5t-82 -52.5t-64.5 -106.5t-24.5 -164.5z" />
81
+ <glyph unicode="e" d="M100 457q0 244 124 372.5t306 128.5q59 0 115.5 -17t110 -54t91.5 -103.5t54 -156.5q9 -56 9 -114q0 -33 -3 -67h-665q4 -98 36.5 -170.5t82 -108.5t98.5 -52.5t102 -16.5q147 0 242 105l82 -80q-121 -143 -336 -143q-199 0 -324 126t-125 351zM248 561h514q2 17 2 33 q0 94 -61 167q-71 85 -183 85q-41 0 -82 -14.5t-81 -45t-69.5 -89t-39.5 -136.5z" />
82
+ <glyph unicode="f" d="M129 764v117h203v92q0 156 51 237q49 80 134 122t185 42q180 0 287 -129l-67 -135q-4 0 -9.5 4t-7.5 12q0 18 -4 25q-33 47 -87 76.5t-118 29.5q-131 0 -188 -102q-35 -61 -35 -203v-71h307v-117h-307v-764h-141v764h-203z" />
83
+ <glyph unicode="g" d="M78 -131q0 111 153 207q-76 41 -75 125q0 92 106 180q-66 43 -102.5 110.5t-36.5 143.5q0 137 104.5 234.5t245.5 97.5q131 0 221 -90q102 85 232 85q14 0 28 -1l19 -121q-27 4 -55 4q-88 0 -162 -45q47 -72 47 -158q0 -131 -99.5 -226.5t-238.5 -95.5q-61 0 -119 23 q-66 -55 -65 -106q0 -45 55 -62q43 -10 133 -10q40 2 87 2q36 0 76 -1q93 -3 154 -28q72 -29 109 -84t37 -119q0 -51 -23.5 -99t-72 -91t-135.5 -69.5t-199 -26.5q-225 0 -324.5 65.5t-99.5 155.5zM213 -96q0 -78 92 -115q78 -31 195 -31q133 0 209 41q88 49 88 125 q0 37 -27 69t-84 40q-33 6 -108 6h-91q-98 4 -157 10q-117 -63 -117 -145zM258 644q0 -85 60.5 -145.5t145.5 -60.5t145.5 60.5t60.5 145.5t-60.5 145.5t-145.5 60.5t-145.5 -60.5t-60.5 -145.5z" />
84
+ <glyph unicode="h" d="M143 0v1362h170v-6q0 -8 -12 -23q-8 -8 -8 -20v-543q55 84 138 136t173 52q82 0 148.5 -44t101.5 -121q33 -76 33 -226v-567h-146v563q0 45 -1 72t-13 67.5t-35 67.5q-51 59 -127 59q-68 0 -129 -42t-96 -87q-47 -63 -47 -161v-539h-150z" />
85
+ <glyph unicode="i" d="M205 0v119h239v698h-227v119h375v-817h219v-119h-606zM416 1238q0 44 30.5 74.5t74.5 30.5t75 -30.5t31 -74.5t-31 -74.5t-75 -30.5t-74.5 30.5t-30.5 74.5z" />
86
+ <glyph unicode="j" d="M98 -225l97 127q6 -6 10 -19.5t8 -19.5q6 -12 23.5 -29.5t62.5 -40t94 -22.5q61 0 112.5 30.5t76.5 85.5q25 53 24 150v778h-348v121h498v-870q0 -154 -43 -236q-47 -90 -135.5 -138t-192.5 -48q-181 0 -287 131zM575 1238q0 44 32 74.5t76 30.5t74.5 -30.5t30.5 -74.5 t-30.5 -74.5t-74.5 -30.5t-76 30.5t-32 74.5z" />
87
+ <glyph unicode="k" d="M135 -2v1364h168q2 -12 -10 -31q-8 -10 -8 -22v-803l469 434q43 -10 108 -10h53l-393 -371l459 -561h-14l-176 -6l-383 477l-123 -115v-356h-150z" />
88
+ <glyph unicode="l" d="M162 0v119h276v1124h-264v119h414v-1243h274v-119h-700z" />
89
+ <glyph unicode="m" d="M78 0v936h135v-92q33 51 84 82.5t106 31.5q61 0 107.5 -38.5t58.5 -98.5q27 61 84.5 99t124.5 38q98 0 148 -75q12 -16 19 -38t11.5 -43.5t5.5 -45t1 -45.5v-47v-666h-140v666q0 106 -12 135q-23 51 -74 51q-59 0 -108 -84q-41 -66 -41 -148v-618h-137v651q0 92 -9 123 q-23 72 -88 72q-66 0 -112 -88q-29 -55 -29 -133v-625h-135z" />
90
+ <glyph unicode="n" d="M139 0v936h152v-166q53 84 136 136t173 52q82 0 148.5 -44t101.5 -121q35 -76 35 -226v-567h-146v563q0 45 -2 72t-14 67.5t-35 67.5q-49 59 -127 59q-66 0 -128 -42t-97 -87q-45 -63 -45 -161v-539h-152z" />
91
+ <glyph unicode="o" d="M82 461q0 213 131 354t313 141q170 0 293 -131t123 -362q0 -223 -123 -355.5t-297 -132.5q-182 0 -311 138.5t-129 347.5zM238 473q0 -166 84 -268.5t200 -102.5q111 0 192 94.5t81 260.5q0 180 -84 277t-195 97q-115 0 -196.5 -97t-81.5 -261z" />
92
+ <glyph unicode="p" d="M123 -342v1278h149v-143q47 76 126 119.5t169 43.5q72 0 138.5 -28.5t121 -85t88 -150.5t33.5 -213q0 -125 -34.5 -223t-91 -158.5t-125 -91.5t-142.5 -31q-86 0 -159.5 39t-121.5 109v-465h-151zM272 510q0 -86 1 -122t7.5 -80t18.5 -72q27 -61 85 -95.5t128 -34.5 q31 0 63.5 6.5t73.5 29t72 58.5t52.5 100.5t21.5 148.5q0 96 -22.5 168.5t-53.5 112.5t-72 63.5t-71.5 30.5t-61.5 7q-72 0 -131 -36.5t-86 -100.5q-25 -57 -25 -184z" />
93
+ <glyph unicode="q" d="M86 477q0 225 121 354.5t287 129.5q174 0 258 -138q14 -20 14 -24v137h139v-1278h-147v492q-43 -78 -121 -124t-166 -46q-160 0 -272.5 138t-112.5 359zM236 498q0 -186 79.5 -287.5t188.5 -101.5q76 0 140.5 48t88.5 130q20 61 21 170q0 160 -23 223q-29 80 -95.5 120 t-137.5 40q-106 0 -184 -86t-78 -256z" />
94
+ <glyph unicode="r" d="M203 -2v938h153l-4 -180q43 96 136.5 149t199.5 53q152 0 250 -102l-68 -141q-10 8 -21 25.5t-13 21.5q-55 70 -156 69q-162 0 -262 -157q-31 -47 -46.5 -90t-17.5 -67.5t-2 -61.5v-457h-149z" />
95
+ <glyph unicode="s" d="M117 127l84 147q10 -4 9 -19t7 -22q20 -27 52 -51t99.5 -52t141.5 -28q100 0 170 42t70 106q0 76 -95 121q-39 18 -133 46.5t-116 37.5q-29 10 -45.5 17t-56.5 29.5t-63.5 45t-44 63.5t-20.5 86q0 109 100.5 185.5t260.5 76.5q215 0 348 -147l-86 -129q-10 2 -10.5 16.5 t-4.5 20.5q-37 47 -104.5 87t-155.5 40q-82 0 -139 -36t-57 -91q0 -70 92 -113q37 -18 161 -54t183 -69q137 -78 137 -213q0 -115 -104.5 -202.5t-284.5 -87.5q-235 0 -395 147z" />
96
+ <glyph unicode="t" d="M143 815l2 121h224l16 250l162 26q2 -12 1 -18t-6 -17.5t-7 -19.5l-25 -221h307v-121h-307q-18 -182 -18 -366q0 -135 6 -181q10 -78 54 -113.5t103 -35.5q94 0 209 84l45 -117q-141 -104 -299 -104q-141 0 -213 100q-25 35 -38 84t-15 82t-2 88q0 240 20 479h-219z" />
97
+ <glyph unicode="u" d="M127 414l2 522h147v-522q0 -137 35 -203q27 -53 75 -84t103 -31q66 0 124.5 40t91.5 100q37 68 36 184v516h150v-852q0 -51 10 -84h-156q-4 29 -4 72l2 71q-45 -78 -122.5 -122t-165.5 -44q-92 0 -171 50.5t-120 140.5q-37 84 -37 246z" />
98
+ <glyph unicode="v" d="M82 936h176q2 -8 -2 -21.5t-4 -17.5q0 -6 2 -12l270 -684l152 348q96 225 127 387h133q-39 -170 -141 -410l-228 -532h-114z" />
99
+ <glyph unicode="w" d="M33 936h149q4 -14 -4 -39q-6 -18 -2 -39l137 -674l160 664h90l199 -662q57 385 74 523q13 110 13 189q0 20 -1 38h137q-61 -473 -156 -938h-139l-172 606l-164 -606h-133z" />
100
+ <glyph unicode="x" d="M96 0l330 475l-324 461h162l244 -346l233 346h152l-303 -455l344 -481h-168l-258 365l-244 -365h-168z" />
101
+ <glyph unicode="y" d="M45 -276l78 131q6 -6 10 -19.5t6 -13.5q4 -8 14.5 -19.5t37 -25t57.5 -13.5q74 0 131 62q33 35 65 108l29 70l-379 932h182q2 -10 -3 -24.5t-5 -20.5t4 -17l275 -688l178 502q51 145 70 248h153q-33 -109 -92 -270l-293 -772q-37 -100 -80 -148q-90 -102 -235 -102 q-121 0 -203 80z" />
102
+ <glyph unicode="z" d="M102 -2v100l580 709h-537v129h727v-100l-569 -711h555q14 0 31.5 7t32.5 5v-139h-820z" />
103
+ <glyph unicode="{" d="M109 467v115h38q94 0 138 45q53 57 53 174q0 25 -2 73t-2 74q0 182 100 275q29 25 62.5 42t67.5 24t71 11.5t71 4.5h68h62v-117h-70q-47 0 -82 1t-67.5 -5t-57.5 -23q-82 -51 -82 -190q0 -25 2 -72t2 -72q0 -98 -30 -163q-47 -96 -148 -140q174 -59 174 -317 q0 -33 -3 -89.5t-3 -82.5q0 -154 84 -211q18 -14 42 -21.5t48.5 -9.5t53 -3t59.5 -1h76v-115h-74h-74q-35 0 -68.5 3.5t-63.5 8.5t-59.5 18t-54.5 32q-115 88 -114 297q0 43 4 109.5t4 95.5q0 135 -53 188q-43 41 -131 41h-41z" />
104
+ <glyph unicode="|" d="M444 -309v1644h138v-1644h-138z" />
105
+ <glyph unicode="}" d="M188 1188v117h64h66q34 0 71 -4.5t71 -11.5t68.5 -24.5t61.5 -41.5q102 -92 102 -275q0 -27 -3 -75t-3 -72q0 -117 53 -174q45 -45 138 -45h41v-115h-44q-88 0 -129 -41q-53 -53 -53 -188q0 -29 3 -95.5t3 -109.5q0 -209 -112 -297q-27 -18 -56.5 -31.5t-59.5 -18.5 t-63.5 -8.5t-68.5 -3.5h-74h-74v115h76q31 0 59.5 1t53 3t48.5 9.5t44 21.5q84 57 84 211q0 27 -3 83t-3 89q0 258 172 317q-98 43 -146 140q-33 66 -32 163q0 25 3 72t3 72q0 139 -82 190q-27 16 -58.5 22.5t-66.5 5.5t-82 -1h-72z" />
106
+ <glyph unicode="~" d="M84 768q49 80 124 131t159 51q57 0 107 -23.5t81 -52t72 -53t80 -24.5q45 0 83.5 32.5t90.5 100.5l94 -78q-51 -76 -125 -132t-160 -56q-55 0 -104 25.5t-78 56t-69 56t-83 25.5q-92 0 -170 -127z" />
107
+ <glyph unicode="&#xa0;" />
108
+ <glyph unicode="&#xa2;" d="M98 559q0 207 126 343t331 147l29 229l137 -14q2 -12 -7 -27.5t-12 -30.5l-20 -168q160 -31 242 -157l-90 -117q-8 6 -9 20q0 25 -8 33q-57 70 -151 98l-95 -716q156 0 269 114l73 -100q-133 -145 -344 -145h-16l-31 -230l-116 15l28 231q-154 43 -245 171t-91 304z M244 578q0 -131 56 -225.5t151 -131.5l88 709q-129 -8 -212 -102t-83 -250z" />
109
+ <glyph unicode="&#xa3;" d="M80 100q59 27 77.5 37t38 26.5t35.5 41.5q72 111 72 250q0 76 -31 202h-135v117h107q-14 74 -15 131q0 166 105.5 268.5t255.5 102.5q152 0 266 -105l-90 -112q-10 6 -16.5 21.5t-12.5 19.5q-6 8 -22.5 20.5t-53 25.5t-75.5 13q-90 0 -154.5 -65.5t-64.5 -186.5 q0 -55 16 -133h205v-117h-176q27 -119 26 -198q0 -154 -73 -275q27 4 55 4q70 0 175 -42t163 -42q84 0 151 58l54 -107q-106 -86 -213 -86q-63 0 -176 46t-189 46q-106 0 -252 -77z" />
110
+ <glyph unicode="&#xa5;" d="M74 1278h159l297 -535l273 533h151l-356 -672v-43h274v-117h-274v-129h274v-114h-274v-201h-139v201h-287v114h287v129h-287v117h287v43z" />
111
+ <glyph unicode="&#xa9;" d="M29 561q0 219 145 371.5t350 152.5t350.5 -152.5t145.5 -369.5q0 -219 -146.5 -371.5t-350.5 -152.5t-349 152.5t-145 369.5zM121 561q0 -182 119.5 -308t285.5 -126t286 127t120 309t-119 309t-286 127t-286.5 -127t-119.5 -311zM236 565q0 129 88 216t213 87 q94 0 164.5 -53t91.5 -137l-107 -39q-6 8 -7 23.5t-1 17.5q-4 12 -14.5 29.5t-44 37t-78.5 19.5q-78 0 -134.5 -49t-56.5 -139q0 -92 56.5 -157t136.5 -65q49 0 90 25t63 68l90 -60q-43 -66 -110.5 -102.5t-140.5 -36.5q-125 0 -212 93t-87 222z" />
112
+ <glyph unicode="&#xad;" d="M145 575v138h738v-138h-738z" />
113
+ <glyph unicode="&#xae;" d="M29 561q0 219 145 371.5t350 152.5t350.5 -152.5t145.5 -369.5q0 -219 -146.5 -371.5t-350.5 -152.5t-349 152.5t-145 369.5zM121 561q0 -182 119.5 -308t285.5 -126t286 127t120 309t-119 309t-286 127t-286.5 -127t-119.5 -311zM317 272v598h193q94 0 141 -20 q51 -23 79 -64t28 -90q0 -55 -33 -99t-86 -58l131 -256l-96 -15l-127 256h-135v-252h-95zM412 606h106q74 0 107 21q39 25 39 69q0 47 -46 72q-33 18 -106 18h-100v-180z" />
114
+ <glyph unicode="&#xb4;" d="M418 1130l180 302l129 -86l-207 -277z" />
115
+ <glyph unicode="&#x2000;" horiz-adv-x="714" />
116
+ <glyph unicode="&#x2001;" horiz-adv-x="1431" />
117
+ <glyph unicode="&#x2002;" horiz-adv-x="714" />
118
+ <glyph unicode="&#x2003;" horiz-adv-x="1431" />
119
+ <glyph unicode="&#x2004;" horiz-adv-x="477" />
120
+ <glyph unicode="&#x2005;" horiz-adv-x="356" />
121
+ <glyph unicode="&#x2006;" horiz-adv-x="237" />
122
+ <glyph unicode="&#x2007;" horiz-adv-x="237" />
123
+ <glyph unicode="&#x2008;" horiz-adv-x="178" />
124
+ <glyph unicode="&#x2009;" horiz-adv-x="284" />
125
+ <glyph unicode="&#x200a;" horiz-adv-x="77" />
126
+ <glyph unicode="&#x2010;" d="M145 575v138h738v-138h-738z" />
127
+ <glyph unicode="&#x2011;" d="M145 575v138h738v-138h-738z" />
128
+ <glyph unicode="&#x2012;" d="M145 575v138h738v-138h-738z" />
129
+ <glyph unicode="&#x2013;" d="M145 575v138h738v-138h-738z" />
130
+ <glyph unicode="&#x2014;" horiz-adv-x="2048" d="M145 575v138h1762v-138h-1762z" />
131
+ <glyph unicode="&#x2018;" d="M373 922q0 164 217 385l72 -64q-57 -51 -103 -127q-31 -49 -31 -84q0 -41 47 -74q57 -37 58 -90q0 -47 -34 -81.5t-83 -34.5q-57 0 -100 47t-43 123z" />
132
+ <glyph unicode="&#x2019;" d="M338 813q57 53 102 127q31 49 31 86q0 41 -47 72q-57 39 -57 92q0 47 33.5 82t82.5 35q57 0 100.5 -47.5t43.5 -122.5q0 -164 -219 -385z" />
133
+ <glyph unicode="&#x201c;" d="M162 922q0 164 217 385l70 -64q-57 -51 -103 -127q-31 -49 -31 -84q0 -41 50 -74q57 -37 57 -90q0 -47 -35 -81.5t-84 -34.5q-57 0 -99 47t-42 123zM586 922q0 164 217 385l69 -64q-57 -51 -102 -127q-31 -49 -31 -84q0 -41 49 -74q57 -37 58 -90q0 -47 -35 -81.5 t-84 -34.5q-57 0 -99 47t-42 123z" />
134
+ <glyph unicode="&#x201d;" d="M125 813q59 53 104 127q29 49 29 86q0 41 -47 72q-57 39 -57 92q0 47 33.5 82t84.5 35q57 0 99.5 -47.5t42.5 -122.5q0 -164 -217 -385zM549 813q59 53 104 127q29 49 29 86q0 41 -47 72q-57 39 -57 92q0 47 33.5 82t84.5 35q57 0 99.5 -47.5t42.5 -122.5 q0 -164 -217 -385z" />
135
+ <glyph unicode="&#x2022;" d="M350 607.5q0 70.5 51.5 120.5t123 50t122.5 -50t51 -120.5t-51 -121t-122.5 -50.5t-123 50.5t-51.5 121z" />
136
+ <glyph unicode="&#x2026;" d="M14 94q0 49 35 84t86 35t86 -35t35 -84t-35 -83t-86 -34t-86 34t-35 83zM367 94q0 49 35.5 84t86 35t86 -35t35.5 -84t-35.5 -83t-86 -34t-86 34t-35.5 83zM721 94q0 49 36 84t86 35t85 -35t35 -84t-35 -83t-85 -34t-86 34t-36 83z" />
137
+ <glyph unicode="&#x202f;" horiz-adv-x="284" />
138
+ <glyph unicode="&#x205f;" horiz-adv-x="356" />
139
+ <glyph unicode="&#x20ac;" d="M68 446l26 119h82v33q0 70 4 131h-112l26 119h105q25 117 73 201q72 127 180.5 182t221.5 55q168 0 276 -110l-51 -140q-8 6 -10 20.5t-6 20.5q-8 10 -26.5 26.5t-74 41t-116.5 24.5q-104 0 -196.5 -68.5t-133.5 -211.5q-6 -20 -10 -41h505l-45 -119h-479q-4 -55 -4 -121 v-43h422l-47 -119h-363q23 -125 84 -208q100 -137 271 -138q127 0 219 84l59 -102q-121 -104 -286 -105q-55 0 -108.5 11.5t-115 45.5t-110.5 84t-88 135t-54 193h-118z" />
140
+ <glyph unicode="&#x2122;" d="M37 1219v81h452v-81h-184v-564h-92v564h-176zM549 655v645h72l147 -296l76 147l78 149h67v-645h-86v441l-63 -113l-60 -109l-32 3l-113 219v-441h-86z" />
141
+ <glyph unicode="&#xe000;" horiz-adv-x="935" d="M0 935h935v-935h-935v935z" />
142
+ <glyph unicode="&#xfb01;" horiz-adv-x="2048" d="M1229 0v119h239v698h-227v119h375v-817h219v-119h-606zM1440 1238q0 44 30.5 74.5t74.5 30.5t75 -30.5t31 -74.5t-31 -74.5t-75 -30.5t-74.5 30.5t-30.5 74.5zM129 764v117h203v92q0 156 51 237q49 80 134 122t185 42q180 0 287 -129l-67 -135q-4 0 -9.5 4t-7.5 12 q0 18 -4 25q-33 47 -87 76.5t-118 29.5q-131 0 -188 -102q-35 -61 -35 -203v-71h307v-117h-307v-764h-141v764h-203z" />
143
+ <glyph unicode="&#xfb02;" horiz-adv-x="2048" d="M1186 0v119h276v1124h-264v119h414v-1243h274v-119h-700zM129 764v117h203v92q0 156 51 237q49 80 134 122t185 42q180 0 287 -129l-67 -135q-4 0 -9.5 4t-7.5 12q0 18 -4 25q-33 47 -87 76.5t-118 29.5q-131 0 -188 -102q-35 -61 -35 -203v-71h307v-117h-307v-764h-141 v764h-203z" />
144
+ <glyph unicode="&#xfb03;" horiz-adv-x="3072" d="M2253 0v119h239v698h-227v119h375v-817h219v-119h-606zM2464 1238q0 44 30.5 74.5t74.5 30.5t75 -30.5t31 -74.5t-31 -74.5t-75 -30.5t-74.5 30.5t-30.5 74.5zM1153 764v117h203v92q0 156 51 237q49 80 134 122t185 42q180 0 287 -129l-67 -135q-4 0 -9.5 4t-7.5 12 q0 18 -4 25q-33 47 -87 76.5t-118 29.5q-131 0 -188 -102q-35 -61 -35 -203v-71h307v-117h-307v-764h-141v764h-203zM129 764v117h203v92q0 156 51 237q49 80 134 122t185 42q180 0 287 -129l-67 -135q-4 0 -9.5 4t-7.5 12q0 18 -4 25q-33 47 -87 76.5t-118 29.5 q-131 0 -188 -102q-35 -61 -35 -203v-71h307v-117h-307v-764h-141v764h-203z" />
145
+ <glyph unicode="&#xfb04;" horiz-adv-x="3072" d="M2210 0v119h276v1124h-264v119h414v-1243h274v-119h-700zM1153 764v117h203v92q0 156 51 237q49 80 134 122t185 42q180 0 287 -129l-67 -135q-4 0 -9.5 4t-7.5 12q0 18 -4 25q-33 47 -87 76.5t-118 29.5q-131 0 -188 -102q-35 -61 -35 -203v-71h307v-117h-307v-764h-141 v764h-203zM129 764v117h203v92q0 156 51 237q49 80 134 122t185 42q180 0 287 -129l-67 -135q-4 0 -9.5 4t-7.5 12q0 18 -4 25q-33 47 -87 76.5t-118 29.5q-131 0 -188 -102q-35 -61 -35 -203v-71h307v-117h-307v-764h-141v764h-203z" />
146
+ </font>
147
+ </defs></svg>
fonts/inconsolata/inconsolata-webfont.ttf ADDED
Binary file
fonts/inconsolata/inconsolata-webfont.woff ADDED
Binary file
fonts/liberation-mono.css ADDED
@@ -0,0 +1,14 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ @font-face {
2
+ font-family: 'LiberationMonoRegular';
3
+ src: url('liberation-mono/liberation-mono-webfont.eot');
4
+ src: url('liberation-mono/liberation-mono-webfont.eot?#iefix') format('embedded-opentype'),
5
+ url('liberation-mono/liberation-mono-webfont.woff') format('woff'),
6
+ url('liberation-mono/liberation-mono-webfont.ttf') format('truetype'),
7
+ url('liberation-mono/liberation-mono-webfont.svg#LiberationMonoRegular') format('svg');
8
+ font-weight: normal;
9
+ font-style: normal;
10
+ }
11
+
12
+ .crayon-font-liberation-mono * {
13
+ font-family: Liberation Mono, 'LiberationMonoRegular', 'Courier New', monospace !important;
14
+ }
fonts/liberation-mono/liberation-mono-webfont.eot ADDED
Binary file
fonts/liberation-mono/liberation-mono-webfont.svg ADDED
@@ -0,0 +1,153 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0" standalone="no"?>
2
+ <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
3
+ <svg xmlns="http://www.w3.org/2000/svg">
4
+ <metadata>
5
+ This is a custom SVG webfont generated by Font Squirrel.
6
+ Copyright : Digitized data 2007 Ascender Corporation All rights reserved
7
+ Designer : Steve Matteson
8
+ Foundry : Ascender Corporation
9
+ Foundry URL : httpwwwascendercorpcom
10
+ </metadata>
11
+ <defs>
12
+ <font id="webfontwflF1Ngq" horiz-adv-x="1228" >
13
+ <font-face units-per-em="2048" ascent="1638" descent="-410" />
14
+ <missing-glyph horiz-adv-x="500" />
15
+ <glyph unicode=" " />
16
+ <glyph unicode="!" d="M514 0v201h195v-201h-195zM516 1348h197l-25 -951h-147z" />
17
+ <glyph unicode="&#x22;" d="M276 1485h226l-43 -639h-142zM725 1485h225l-43 -639h-141z" />
18
+ <glyph unicode="#" d="M53 408v108h226l67 318h-242v106h265l88 410h110l-88 -410h363l88 410h110l-88 -410h211v-106h-233l-68 -318h260v-108h-282l-88 -408h-111l86 408h-362l-84 -408h-111l86 408h-203zM389 516h363l67 318h-360z" />
19
+ <glyph unicode="$" d="M66 379l170 37q10 -45 34 -99q23 -49 60 -79q39 -33 96 -56q55 -23 131 -24v489q-2 0 -7 1t-7 3q-6 0 -11 2l-2 1l-2 1q-66 16 -98 27q-57 18 -92 33q-45 18 -82 47q-43 31 -68 65q-29 39 -43 84q-16 53 -16 113q0 80 33 141q31 57 90 99q55 39 135 59q72 18 170 23v131 h129v-131q100 -2 174 -25q63 -18 123 -64q53 -41 84 -98q29 -53 51 -135l-174 -33q-8 43 -29 88q-16 37 -51 68q-33 31 -76 45q-49 18 -102 20v-426q18 -4 57 -14t58 -14q53 -14 108 -37q47 -18 97 -51q37 -25 75 -70q33 -39 51.5 -94t18.5 -125q0 -72 -28.5 -139.5 t-86.5 -112.5q-63 -49 -143 -76q-82 -27 -207 -33v-161h-129v161q-213 6 -336 99q-120 90 -155 260zM301 1018q0 -55 21 -90q16 -31 55 -58q31 -23 80 -39l100 -28v411q-70 -2 -119 -18q-49 -15 -79.5 -43t-43.5 -61q-14 -39 -14 -74zM686 156q68 4 119 18q52 15 92 43 q35 25 59 70q23 41 23 96q0 65 -25 104q-27 43 -63 66q-47 29 -94 43l-111 31v-471z" />
20
+ <glyph unicode="%" d="M0 1024q0 96 23 164q22 65 61 104q37 37 92 53.5t115 16.5q55 0 110 -16q53 -14 91 -54q37 -37 59 -104.5t22 -163.5q0 -92 -22 -160q-22 -65 -62 -104q-39 -39 -90 -57.5t-112.5 -18.5t-112.5 18q-53 18 -90 56q-39 39 -61.5 106.5t-22.5 159.5zM76 0l932 1354h147 l-934 -1354h-145zM147 1024q0 -68 8.5 -106.5t28.5 -69.5q18 -27 45 -39q29 -12 60 -12q33 0 57 12q27 12 43 39q20 31 28.5 69.5t8.5 106.5q0 72 -8 111q-10 47 -27 71q-18 28 -43 37q-27 10 -57 10q-37 0 -64 -12q-29 -12 -45 -37q-16 -27 -26 -69q-9 -39 -9 -111z M655 330q0 94 23 162q22 65 61 104q37 37 92.5 53.5t114.5 16.5q55 0 111 -17q53 -14 90 -53q40 -40 61 -104q23 -68 23 -162t-23 -162q-22 -65 -61 -105q-39 -39 -92 -57q-51 -18 -113 -18q-57 0 -110.5 18.5t-92.5 56.5q-40 40 -61 105q-23 68 -23 162zM803 330 q0 -61 10 -109q10 -43 27 -69q18 -27 45 -39q29 -12 59 -13q35 0 59.5 12.5t43.5 39.5q16 27 26 69q10 47 10 108.5t-10 108.5t-26 72q-18 28 -43 37q-27 10 -58 10q-39 0 -61 -10q-27 -12 -45 -39q-20 -31 -28.5 -69.5t-8.5 -108.5z" />
21
+ <glyph unicode="&#x26;" d="M43 358q0 72 23 140q20 61 61 114q40 52 92 93q51 39 117 71q-16 29 -29 64q-23 63 -24 69q-12 49 -17 74q-6 37 -6 76q0 63 21 117q20 51 65 94q45 41 111 63q74 25 153 25q70 0 129 -19q61 -20 103 -51q39 -31 65 -84q25 -49 25 -114q0 -68 -35 -125q-33 -55 -90 -97 q-63 -47 -131 -77l-152 -68q20 -37 64 -105q41 -66 63.5 -98.5t71.5 -93.5q37 -46 80 -92q37 76 71 184q33 102 54 221l143 -43q-25 -141 -67 -254q-37 -98 -95 -209q43 -55 92.5 -79.5t88.5 -24.5q18 0 51 4q23 2 45 12v-135q-16 -8 -53 -16q-28 -6 -62 -6q-37 0 -78 10 q-35 8 -71 29q-45 25 -64 41q-28 25 -49 49q-31 -27 -64 -49q-45 -31 -79 -45q-45 -18 -95 -31q-52 -12 -110 -12q-106 0 -189 28q-76 27 -129 80q-49 49 -75 121q-25 67 -25 149zM211 362q0 -49 16 -98q14 -45 47 -80q31 -35 82 -53q55 -20 113 -20q33 0 74 10q33 8 65 24 q35 18 56 33q16 12 43 39q-102 115 -170 213q-102 145 -148 227q-84 -45 -131 -121t-47 -174zM408 1057q0 -65 18 -123q14 -45 43 -103l121 54q49 23 98 53q41 27 68 66q25 37 24 81q0 34 -12 62q-12 29 -35 47q-20 18 -53 31q-31 12 -72 12q-37 0 -80 -14q-33 -10 -63 -35 q-23 -18 -41 -58q-16 -36 -16 -73z" />
22
+ <glyph unicode="'" d="M502 1485h223l-41 -639h-141z" />
23
+ <glyph unicode="(" d="M342 532q0 147 20 269q18 111 68 239q43 114 111 222q74 117 159 223h191q-96 -119 -164 -232q-74 -123 -113 -227q-45 -119 -65 -238q-20 -117 -21 -258q0 -143 21 -260q20 -119 65 -237q39 -104 113 -228q68 -113 164 -231h-191q-94 117 -159 223q-68 109 -111 226 q-49 129 -68 239q-20 120 -20 270z" />
24
+ <glyph unicode=")" d="M336 -426q104 127 166 231q74 123 112 228q45 119 66 237q20 117 20 260q0 141 -20 258q-20 119 -66 238q-39 104 -112 227q-61 104 -166 232h192q86 -106 160 -223q68 -108 111 -222q45 -119 65.5 -239.5t20.5 -268.5q0 -150 -20.5 -270.5t-65.5 -238.5 q-43 -117 -111 -226q-66 -106 -160 -223h-192z" />
25
+ <glyph unicode="*" d="M248 1159l45 133l266 -106l-10 297h135l-12 -295l264 102l45 -131l-283 -74l185 -249l-119 -72l-150 258l-155 -256l-119 72l188 247z" />
26
+ <glyph unicode="+" d="M117 608v146h424v428h145v-428h424v-146h-424v-428h-145v428h-424z" />
27
+ <glyph unicode="," d="M258 -362l170 661h264l-309 -661h-125z" />
28
+ <glyph unicode="-" d="M334 465v160h561v-160h-561z" />
29
+ <glyph unicode="." d="M496 0v299h235v-299h-235z" />
30
+ <glyph unicode="/" d="M115 -20l821 1505h176l-815 -1505h-182z" />
31
+ <glyph unicode="0" d="M125 676q0 203 37 338q35 131 102 213q63 78 157.5 110.5t194.5 32.5q96 0 191 -33q89 -31 154 -110q70 -86 104 -213q39 -143 39 -338q0 -199 -39 -328q-41 -137 -104.5 -215t-157.5 -117q-90 -37 -192.5 -36.5t-190.5 36.5q-96 39 -156 117q-68 86 -102 213 q-37 133 -37 330zM305 676q0 -160 21 -260q20 -102 61 -168t96 -92q61 -29 129 -29t129 29q55 27 96.5 92t61.5 168q20 100 21 260q0 162 -21 264q-23 115 -57 170q-39 63 -97 88q-59 27 -129 27q-78 0 -133 -27q-59 -29 -98 -90q-37 -59 -59 -168q-21 -100 -21 -264z" />
32
+ <glyph unicode="1" d="M147 973v147q82 0 146 17q82 20 133 47q61 31 110.5 73.5t73.5 92.5h166v-1205h354v-145h-972v145h438v1020q-18 -39 -67.5 -75.5t-110.5 -61.5q-66 -27 -133 -41q-66 -14 -138 -14z" />
33
+ <glyph unicode="2" d="M143 0v117q39 88 117 180q59 70 154 154q106 94 164 139q78 59 149 129q63 61 109 131q41 63 41 141q0 59 -19 103q-20 47 -55 73q-41 31 -84 41q-57 14 -108.5 14.5t-100.5 -16.5q-51 -16 -82 -45q-34 -31 -55 -74q-25 -49 -31 -104l-182 18q8 72 41 144q31 68 86 117 q59 53 137 79q82 29 186 29q106 0 189 -24q88 -27 143 -70t88 -117q33 -72 33 -158q0 -94 -43 -174q-45 -82 -111 -151q-78 -82 -149 -137l-162 -129q-77 -65 -141 -129q-66 -66 -97 -136h723v-145h-940z" />
34
+ <glyph unicode="3" d="M127 362l186 17q10 -57 31 -102.5t57 -77.5q35 -33 93 -52q55 -18 127 -18q137 0 213 64q78 66 77 184q0 66 -34 112q-31 43 -86 72q-45 25 -111 37q-51 10 -113 10h-100v158h96q51 0 107 12q57 12 100 39t76 72q29 41 28 108q0 109 -65 166q-70 59 -199 60 q-119 0 -192 -62q-72 -59 -84 -172l-182 15q12 96 51 161q41 68 102 115q63 47 139 68q84 23 168 22q115 0 205 -29q82 -27 137.5 -75.5t79.5 -112.5q27 -70 27 -137q0 -53 -19 -107q-18 -51 -55 -94q-41 -47 -92 -76q-57 -33 -129 -47v-4q84 -10 143 -39q61 -31 105 -74 q41 -41 63.5 -96t22.5 -108q0 -86 -33 -164q-31 -74 -92 -123q-63 -51 -149.5 -77.5t-204.5 -26.5q-133 0 -220 32q-89 34 -147 86q-59 53 -88 123q-31 75 -39 141z" />
35
+ <glyph unicode="4" d="M102 319v140l635 891h201v-889h186v-142h-186v-319h-180v319h-656zM256 461h502v692z" />
36
+ <glyph unicode="5" d="M127 315l182 21q14 -45 33 -78q20 -37 53 -65q29 -25 86 -48q49 -18 121 -18q66 0 127 23q58 22 98 61q43 43 63.5 98.5t20.5 130.5q0 61 -20 111q-23 57 -60 90q-41 39 -96 59q-57 23 -129 23q-49 0 -82 -8q-49 -12 -71 -23q-27 -12 -58 -33q-37 -25 -51 -38h-174 l45 729h803v-146h-635l-31 -426q45 35 121 64q68 27 170 26q106 0 191 -30q80 -29 143 -90q59 -55 90 -134q33 -82 33 -170q0 -94 -33 -186q-31 -88 -94 -147q-66 -63 -158 -97q-94 -35 -217 -34q-102 0 -192 26q-78 23 -140 72q-55 43 -90 106q-35 61 -49 131z" />
37
+ <glyph unicode="6" d="M152 641q0 174 34.5 313.5t98.5 229.5q63 92 159 139q94 47 211 47q76 0 136 -14q61 -14 114 -49q49 -33 90 -88q40 -55 62 -136l-172 -30q-27 90 -90.5 131t-141.5 41q-72 0 -135 -35q-53 -31 -100 -103q-45 -70 -66 -165q-23 -102 -22 -228q49 92 139 139.5t203 47.5 q94 0 174 -31q82 -31 135 -88q55 -59 86 -137q29 -74 29 -179q0 -106 -29 -186q-31 -88 -88 -147q-66 -68 -141 -99q-88 -35 -197 -34q-121 0 -215 47q-90 45 -154 133q-59 82 -90 207q-30 122 -30 274zM348 481q0 -76 21 -137q23 -66 57 -113q37 -49 90 -77.5t119 -28.5 q61 0 117 22q47 20 88 64q37 40 55 98.5t18 128.5q0 68 -18 123q-20 59 -53 96q-37 39 -90 62q-55 23 -123 22q-45 0 -99 -16q-51 -16 -90 -49q-47 -41 -67 -80q-25 -49 -25 -115z" />
38
+ <glyph unicode="7" d="M158 1204v146h911v-140q-106 -154 -182 -284q-82 -141 -149.5 -301t-102.5 -310q-39 -166 -39 -315h-188q0 156 41 315q41 164 106 312q68 152 156 299q98 164 184 278h-737z" />
39
+ <glyph unicode="8" d="M133 377q0 74 23 127q25 59 63 100q39 43 90 68q51 27 105 35v4q-61 16 -105 45q-47 33 -78 73q-37 51 -49 93q-16 53 -16 102q0 68 29 131q27 59 84 111q53 47 139 75.5t192 28.5q109 0 199 -29q84 -27 141 -77q55 -49 82 -110.5t27 -131.5q0 -49 -17 -102 q-14 -47 -47 -93q-27 -37 -77 -71q-45 -31 -109 -43v-4q59 -8 112.5 -37t90.5 -68q40 -43 61 -98q20 -53 21 -127q0 -82 -29 -158q-27 -70 -86 -127q-53 -51 -150 -84q-89 -31 -215 -30q-127 0 -215 30q-90 31 -149 84q-61 55 -88 127q-29 76 -29 156zM319 391 q0 -57 17 -110q15 -49 49 -86q35 -39 92 -60q55 -20 139 -20t138 20q57 23 90 58q33 37 49 90q14 49 14 112q0 49 -14 90q-16 47 -47 80q-33 35 -92 58q-55 20 -144 20q-82 0 -135 -20q-55 -23 -90 -60q-35 -39 -49 -80q-17 -49 -17 -92zM350 1012q0 -45 10 -78 q12 -41 41 -76q31 -37 80 -57q55 -23 131 -23q78 0 138 25q47 18 77 57q27 33 37 76q8 35 8 76t-14 88q-12 39 -45 71q-27 27 -80 48q-49 18 -123 18q-70 0 -118 -18q-55 -20 -82 -48q-29 -29 -45 -71q-15 -37 -15 -88z" />
40
+ <glyph unicode="9" d="M141 911q0 102 31 189q29 80 92 143q59 59 148 94q84 33 198 33q237 0 357 -166q121 -168 120 -502q0 -172 -34 -311q-31 -127 -103 -227q-63 -90 -159 -137q-98 -47 -213 -47q-78 0 -148 16q-55 14 -115 51q-47 31 -88 92q-35 53 -57 135l172 27q27 -88 88 -133 q57 -43 150 -43q72 0 135 35q57 33 102 98q39 57 66 166q27 106 26 225q-23 -49 -57.5 -84t-83.5 -61q-51 -27 -100 -39q-61 -14 -109 -14q-94 0 -174 34q-76 33 -131 95q-53 59 -84 145q-29 80 -29 186zM324 911q0 -65 18 -123q20 -61 51 -102q33 -41 88 -68 q51 -25 121 -24q55 0 103 16q49 16 92 52q37 29 67 83q27 47 27 117q0 76 -19 139q-18 66 -55 115q-33 45 -90 78q-52 31 -123 31q-61 0 -117 -23q-49 -20 -88 -65t-55 -99q-20 -66 -20 -127z" />
41
+ <glyph unicode=":" d="M496 0v299h235v-299h-235zM496 782v299h235v-299h-235z" />
42
+ <glyph unicode=";" d="M352 -362l168 661h266l-311 -661h-123zM496 782v299h235v-299h-235z" />
43
+ <glyph unicode="&#x37e;" d="M352 -362l168 661h266l-311 -661h-123zM496 782v299h235v-299h-235z" />
44
+ <glyph unicode="&#x3c;" d="M117 571v205l993 418v-154l-856 -366l856 -367v-153z" />
45
+ <glyph unicode="=" d="M117 344v148h993v-148h-993zM117 856v148h993v-148h-993z" />
46
+ <glyph unicode="&#x3e;" d="M117 154v153l858 367l-858 366v154l993 -418v-205z" />
47
+ <glyph unicode="?" d="M94 961q12 89 49 165q35 74 101 129q63 53 149 84q90 31 201 31q108 0 197 -24q88 -25 151 -70q61 -43 96 -115q35 -70 35 -160q0 -68 -18 -120t-49 -93q-29 -37 -72 -73q-27 -23 -80 -64q-23 -16 -44.5 -32.5l-35.5 -26.5q-47 -35 -72 -64q-35 -39 -51 -75 q-20 -47 -20 -97h-174q4 70 20 119q16 47 51 92q29 37 70 72q27 23 80 63l78 58q33 25 67 63q31 35 49 76q18 43 19 94q0 57 -21 99q-23 43 -59 69q-43 29 -92 43q-59 16 -123 17q-61 0 -123 -21q-59 -20 -96 -53q-45 -43 -68 -86q-25 -49 -30 -113zM449 0v201h194v-201 h-194z" />
48
+ <glyph unicode="@" d="M43 514q0 209 43 387t123 307t196.5 203t266.5 74q129 0 229 -60q96 -57 162 -159q63 -100 94 -232q33 -141 33 -278q0 -150 -21 -264q-23 -125 -59 -205q-41 -88 -96.5 -135.5t-128.5 -47.5q-35 0 -58 9q-29 10 -45 26q-20 20 -30.5 47t-10.5 74v8v13q0 2 1 5t1 5v8h-6 q-8 -20 -39 -74q-20 -37 -51 -63q-31 -28 -67 -43q-35 -14 -78 -15q-66 0 -107 33t-69 86q-23 43 -37 123q-12 72 -13 143q0 76 13 150q14 84 33 143q23 70 55 127q35 61 72 101q39 43 90 67q49 25 104 25q37 0 74 -15q33 -12 53 -36q16 -18 35 -56q10 -23 22 -67h7l30 151 h117l-98 -508l-17 -82q-8 -53 -12 -77.5t-8 -65.5t-4 -51q0 -55 14 -71.5t35 -16.5q39 0 71.5 39t57.5 112q23 66 35 174q12 101 12 222q0 141 -25 239q-29 113 -77 197q-47 80 -125 131q-70 47 -170 47q-121 0 -213 -68q-96 -70 -157.5 -182t-96.5 -270q-33 -152 -33 -334 q0 -160 29 -276q31 -126 86 -215q55 -88 137 -140q80 -49 182 -49q49 0 111 14q53 12 94 33q53 27 86 49q35 25 78 64l71 -88q-49 -43 -92 -72q-39 -27 -104 -59q-55 -29 -119 -43q-59 -14 -135 -15q-127 0 -229 56q-98 53 -172 161q-72 106 -111 250t-39 330zM412 492 q0 -61 6 -112.5t18.5 -88.5t34.5 -60q20 -20 55 -20q39 0 74 27q37 29 66 77q31 55 51 121q27 86 37 160q2 10 6 43q0 8 3 25.5t5 27.5q0 8 1 26.5t3 26.5q2 16 2 39q0 102 -35 160q-35 55 -94 55q-35 0 -67 -22q-37 -27 -60 -59q-18 -29 -45 -89q-18 -43 -33 -106 q-16 -72 -20 -115q-8 -77 -8 -116z" />
49
+ <glyph unicode="A" d="M0 0l510 1350h217l502 -1350h-195l-137 383h-563l-137 -383h-197zM385 530h463l-148 424q-8 25 -26 76q-8 20 -13.5 40t-11.5 36q-12 35 -20 61l-13 37q-2 -8 -12 -39l-20 -61l-12.5 -37.5t-10.5 -36.5q-6 -20 -13 -39.5l-13 -36.5z" />
50
+ <glyph unicode="B" d="M162 0v1350h411q106 0 209 -21q92 -18 155.5 -57t98.5 -103q33 -59 33 -147q0 -53 -16 -107q-16 -51 -49 -90q-35 -41 -84 -71q-41 -27 -117 -43q84 -8 149 -37q68 -29 111 -72t65.5 -100.5t22.5 -120.5q0 -109 -41 -176q-43 -72 -113 -117q-71 -46 -166 -68 q-90 -20 -196 -20h-473zM352 154h266q84 0 136 10q61 12 108 40.5t71.5 74t24.5 118.5q0 63 -24.5 106.5t-71.5 71.5q-53 31 -112 43q-66 12 -146 13h-252v-477zM352 780h226q84 0 139 15q49 12 92 45q39 29 53 67q16 43 17 90q0 109 -76 154t-228 45h-223v-416z" />
51
+ <glyph unicode="C" d="M113 682q0 156 32 293q31 127 99 217q66 88 166 133q98 45 239 45q102 0 176 -26.5t133 -75.5q49 -41 93 -107q37 -55 63 -127l-168 -63q-14 45 -40.5 90t-61.5 78q-37 34 -86 55q-47 20 -109 20q-86 0 -151.5 -34.5t-104.5 -100.5q-41 -70 -59 -168q-20 -109 -21 -229 q0 -137 21 -233q23 -109 61 -173q41 -68 109 -106q61 -35 158 -35q63 0 112 25q57 29 90 61q47 47 70 90q29 55 49 107l160 -66q-23 -57 -70 -137q-39 -66 -98.5 -119t-136.5 -84q-82 -33 -179 -32q-137 0 -243 51q-102 49 -170 141q-66 90 -101 221q-32 125 -32 289z" />
52
+ <glyph unicode="D" d="M162 0v1350h311q160 0 279 -39q123 -41 204 -119q84 -80 127 -207q41 -121 41 -297q0 -172 -39 -297q-40 -129 -116 -215q-80 -90 -187 -131q-117 -45 -250 -45h-370zM352 156h162q211 0 315 133q104 132 105 399q0 133 -29 232q-27 94 -86 155q-61 63 -141 90 q-90 29 -205 29h-121v-1038z" />
53
+ <glyph unicode="E" d="M162 0v1350h919v-156h-729v-424h670v-154h-670v-460h770v-156h-960z" />
54
+ <glyph unicode="F" d="M195 0v1350h890v-156h-700v-496h676v-157h-676v-541h-190z" />
55
+ <glyph unicode="G" d="M113 682q0 166 30 295q31 127 96.5 215t166.5 133q98 45 235 45q92 0 176 -27q70 -23 131 -69q59 -45 94 -105q35 -57 62 -131l-172 -55q-37 109 -107 170q-72 61 -182 61q-86 0 -151 -34q-61 -33 -103 -103q-39 -66 -57 -166q-18 -98 -19 -229q0 -268 86 -407.5 t256 -139.5q51 0 90 8q43 8 74 21q31 10 58 24q35 16 38 21v336h-292v160h479v-572q-12 -8 -84 -51q-43 -27 -107 -49q-59 -23 -125 -37q-72 -16 -147 -16q-133 0 -233 53q-98 53 -164 145q-66 94 -97 221q-32 138 -32 283z" />
56
+ <glyph unicode="H" d="M162 0v1350h190v-568h522v568h193v-1350h-193v623h-522v-623h-190z" />
57
+ <glyph unicode="I" d="M203 0v156h315v1038h-315v156h821v-156h-315v-1038h315v-156h-821z" />
58
+ <glyph unicode="J" d="M176 350l186 31q9 -65 31 -111q18 -39 51 -75q25 -29 66 -45q35 -14 78 -15q102 0 155.5 72t53.5 209v778h-312v156h500v-930q0 -100 -24 -182q-23 -74 -76 -138q-49 -59 -125 -90q-74 -31 -174 -30q-170 0 -273 90q-104 90 -137 280z" />
59
+ <glyph unicode="K" d="M162 0v1350h190v-674l574 674h225l-506 -574l582 -776h-223l-488 639l-164 -170v-469h-190z" />
60
+ <glyph unicode="L" d="M238 0v1350h190v-1194h672v-156h-862z" />
61
+ <glyph unicode="M" d="M129 0v1350h238l184 -490q6 -12 20 -61q16 -49 23 -76q8 -29 24 -94l27 90q10 37 23 76q14 49 20 63l186 492h226v-1350h-162v868v105q0 68 2 96q2 35 2 100l-33 -108l-30 -94q-18 -57 -31 -88l-164 -439h-137l-166 439q-8 20 -12 34q-10 33 -15 45l-16 48l-16 49 l-37 114q0 -23 1 -48t1 -52q0 -14 1 -47t1 -51v-103v-868h-160z" />
62
+ <glyph unicode="N" d="M162 0v1350h223l526 -1139q-4 29 -8 86q-4 45 -6 88q-2 33 -2 100v865h172v-1350h-231l-521 1130l9 -88q2 -25 6 -81q2 -29 2 -84v-877h-170z" />
63
+ <glyph unicode="O" d="M102 682q0 176 33 301t101 215q65 86 159 129q96 43 219 43q246 0 379 -174t133 -514q0 -170 -34 -305q-31 -121 -103 -219q-66 -90 -160 -133q-100 -45 -217 -45q-125 0 -223 47q-92 45 -160 137q-66 90 -96.5 219t-30.5 299zM303 682q0 -272 80 -409.5t231 -137.5 q166 0 238 139q74 141 74 408q0 268 -80 401q-80 131 -232 131q-158 0 -233 -131q-78 -133 -78 -401z" />
64
+ <glyph unicode="P" d="M162 0v1350h461q121 0 217 -29q88 -27 155 -84q61 -51 92 -127q31 -74 31 -166q0 -88 -28 -160q-33 -82 -91 -139q-55 -55 -151 -94q-92 -37 -213 -37h-283v-514h-190zM352 666h254q84 0 144 20q57 20 100 59q39 37 57 89q20 57 21 108q0 125 -82 188q-84 66 -248 66 h-246v-530z" />
65
+ <glyph unicode="Q" d="M102 682q0 176 33 301t101 215q65 86 159 129q96 43 219 43q246 0 379 -174t133 -514q0 -139 -26 -266q-25 -117 -74 -203q-49 -88 -119 -141q-68 -53 -162 -76q39 -123 109 -182q66 -57 168 -58q18 0 59 4t56 9v-134q-45 -10 -84 -16q-45 -6 -95 -6q-86 0 -149 25 q-57 23 -113 73q-49 45 -84 117q-33 63 -61 156q-117 12 -197 63q-86 55 -139 139q-59 96 -86 215q-27 121 -27 281zM303 682q0 -272 80 -409.5t231 -137.5q166 0 238 139q74 141 74 408q0 268 -80 401q-80 131 -232 131q-158 0 -233 -131q-78 -133 -78 -401z" />
66
+ <glyph unicode="R" d="M162 0v1350h481q115 0 211 -27q92 -25 150 -74q57 -47 88 -116q29 -63 28 -156q0 -63 -18 -125q-18 -59 -62 -113q-45 -55 -106.5 -90t-157.5 -51l402 -598h-222l-364 575h-240v-575h-190zM352 725h281q86 0 139 20q63 25 92 54q34 34 49 80q16 49 17 94q0 223 -305 223 h-273v-471z" />
67
+ <glyph unicode="S" d="M80 338l184 37q14 -59 35 -101q23 -43 68 -77q39 -31 102 -50q61 -18 145 -18q66 0 134 14q55 12 100 41q43 28 67 74q23 43 23 109q0 76 -31 114q-35 45 -86 72q-49 27 -119 45l-135 35l-35 9t-28.5 8t-36.5 12q-61 18 -98 32q-47 18 -88 47q-45 31 -72 64 q-25 31 -47 88q-16 43 -17 117q0 100 35 164q39 72 101 112q63 43 147 64q82 20 186 20q119 0 199 -20q82 -20 137.5 -61.5t89.5 -102.5q35 -63 56 -139l-189 -33q-12 51 -33 90q-23 41 -57 67q-33 25 -86 41q-45 14 -117 15q-76 0 -135 -17q-47 -12 -86 -45 q-31 -25 -47 -67q-14 -37 -14 -84q0 -63 26 -99q29 -39 72 -61q53 -29 105 -41l131 -35l110 -28q51 -14 106.5 -37t96.5 -49.5t78 -69.5q35 -41 53 -96.5t18 -126.5q0 -88 -30 -158q-31 -72 -94 -123q-70 -55 -162 -82q-102 -29 -232 -28q-236 0 -364.5 92t-165.5 266z" />
68
+ <glyph unicode="T" d="M76 1194v156h1075v-156h-442v-1194h-191v1194h-442z" />
69
+ <glyph unicode="U" d="M141 471v879h193v-852q0 -98 12 -166q12 -70 43 -113t82 -63q49 -20 133 -21q86 0 139 21q55 20 88 63q33 41 50 117q14 66 14 176v838h190v-861q0 -131 -28 -233q-25 -90 -90 -158q-59 -61 -150 -90q-92 -29 -213 -28.5t-203 26.5q-84 27 -143 86q-61 61 -88 152 q-29 96 -29 227z" />
70
+ <glyph unicode="V" d="M10 1350h201l319 -904q4 -10 10.5 -28.5l11.5 -33.5t9 -30l27 -92q14 -47 26 -94q12 45 27 92l27 90l30 96l320 904h201l-506 -1350h-199z" />
71
+ <glyph unicode="W" d="M0 1350h188l111 -836q4 -25 8 -73t4 -54q2 -14 5 -53t6 -58q8 -84 10 -108q8 33 15 66.5l15 68.5q2 12 6.5 27.5t8.5 31.5q6 31 14 62l15 57q4 14 8 29.5t6 21.5l108 400h174l109 -400q2 -6 6 -20t8 -31q6 -29 15 -57q2 -10 7 -29.5t7 -29.5l8 -32t6 -28l15.5 -69.5 t15.5 -67.5q2 12 4 35l8 84q2 27 6.5 56.5t6.5 55.5q4 41 12 115l102 836h191l-211 -1350h-207l-104 387q-2 8 -5.5 19.5l-7.5 25.5q-6 27 -14 55l-16 62q-8 31 -15 61l-33 146l-34 -148q-6 -31 -15 -61l-16 -60q-4 -14 -14 -55q-2 -12 -6.5 -23.5t-6.5 -21.5l-104 -387 h-209z" />
72
+ <glyph unicode="X" d="M37 0l475 705l-434 645h205l331 -514l332 514h205l-434 -645l477 -705h-207l-373 573l-372 -573h-205z" />
73
+ <glyph unicode="Y" d="M37 1350h205l372 -613l373 613h205l-483 -766v-584h-189v584z" />
74
+ <glyph unicode="Z" d="M74 0v143l817 1051h-746v156h963v-140l-817 -1054h864v-156h-1081z" />
75
+ <glyph unicode="[" d="M410 -426v1911h546v-139h-366v-1633h366v-139h-546z" />
76
+ <glyph unicode="\" d="M115 1485h178l821 -1505h-182z" />
77
+ <glyph unicode="]" d="M270 -287h367v1633h-367v139h547v-1911h-547v139z" />
78
+ <glyph unicode="^" d="M133 442l379 908h203l379 -908h-154l-330 803l-325 -803h-152z" />
79
+ <glyph unicode="_" d="M-4 -125h1237v-94h-1237v94z" />
80
+ <glyph unicode="`" d="M401 1432v28h197l227 -239v-21h-123z" />
81
+ <glyph unicode="a" d="M127 301q0 106 41 176q43 72 102 109q61 37 146 53q88 16 166 16l235 4v60q0 68 -12 115t-41 75q-33 33 -70 43q-43 12 -98 13q-51 0 -90 -7q-35 -6 -70 -28q-29 -18 -47 -53t-24 -84l-189 18q9 65 37 117q27 51 78 92q49 41 125 61q74 20 182 21q197 0 301 -94 q100 -92 100 -271v-465q0 -80 22.5 -120.5t80.5 -40.5q18 0 28 2q4 2 14.5 4t14.5 2v-113q-34 -9 -67 -12q-45 -4 -70 -4q-45 0 -88 14q-37 12 -60 41q-23 31 -34 68q-14 45 -17 94h-6q-27 -49 -61 -94q-29 -37 -78 -72q-41 -29 -100 -45q-61 -16 -132 -16q-158 0 -237 86 q-82 88 -82 235zM317 299q0 -80 45.5 -131t129.5 -51q80 0 145 33q63 31 100 77q41 49 62 107q18 49 18 110v91l-188 -5q-37 0 -111 -8q-53 -6 -100 -33q-49 -29 -74 -69q-27 -45 -27 -121z" />
82
+ <glyph unicode="b" d="M178 0q0 2 1 12.5t1 18.5q0 6 1 23.5t1 27.5t1 31.5t1 33.5v76v1262h181v-424v-57q0 -10 -1.5 -28t-1.5 -24q0 -8 -1 -25.5t-1 -23.5h5q51 111 133 154q88 47 200 47q195 0 293 -139q98 -138 99 -418q0 -287 -101 -426q-100 -141 -291 -141q-115 0 -200 43 q-84 41 -133 141h-3q0 -8 -1 -25.5t-1 -28t-1 -27.5t-1 -24q0 -8 -1 -21t-1 -18q0 -6 -3 -16l-1 -4h-174zM365 524q0 -123 20 -198q23 -84 57 -127q39 -47 88 -66q57 -20 117 -20q61 0 113 22q47 20 80 76q33 57 47 131q16 88 16 199q0 119 -14 192q-14 76 -47 131 q-29 49 -78 76q-47 25 -115 25q-63 0 -119 -23q-51 -20 -88 -74q-37 -51 -57 -135q-20 -82 -20 -209z" />
83
+ <glyph unicode="c" d="M129 543q0 163 43 270q43 106 115 172q68 61 159 90q86 27 187 27q96 0 174 -25q74 -25 133 -69q55 -43 90 -103q35 -61 47 -127l-190 -12q-14 90 -80 143q-63 51 -182 52q-90 0 -146 -27q-57 -27 -94 -80q-35 -49 -51 -131q-14 -72 -15 -176q0 -106 15 -180 q16 -82 51 -136q39 -57 94 -84q61 -29 144 -28q109 0 180 53q70 51 88 162l188 -12q-9 -68 -43 -129q-37 -66 -90 -109q-66 -51 -135 -76q-82 -29 -180 -28q-135 0 -232 43q-100 45 -155 118q-58 77 -86 178q-29 105 -29 224z" />
84
+ <glyph unicode="d" d="M137 532q0 565 393 566q120 0 203 -43q78 -41 129 -142h2v27v45v49q0 8 -1 18.5t-1 12.5v420h180v-1262q0 -14 1 -38.5t1 -37.5v-65q0 -10 1.5 -27.5t1.5 -23.5q0 -8 1 -18.5t1 -12.5h-172q0 10 -3 23q-4 25 -4 43q0 8 -1 25.5t-1 27.5t-1 28.5t-1 26.5h-4 q-51 -106 -131 -154q-82 -47 -201 -47q-201 0 -297 139t-96 420zM324 539q0 -119 14 -193q16 -84 45 -133q31 -51 80 -75.5t115 -24.5q70 0 122 24q51 25 88 76t56 137q18 84 18 205q0 113 -18.5 192.5t-53 127t-90.5 69.5q-49 20 -120 21q-61 0 -113 -23q-49 -22 -80 -74 q-33 -55 -47 -133q-16 -87 -16 -196z" />
85
+ <glyph unicode="e" d="M133 549q0 158 39 262q39 106 107 170q66 63 155.5 92t181.5 29q137 0 222 -41q90 -43 147 -119q61 -80 84 -180q25 -106 25 -236v-22h-772q0 -80 20 -158q18 -71 55 -123q35 -51 95 -80q57 -29 131 -28q57 0 102 12t84 35q35 20 61.5 53t36.5 66l158 -45 q-12 -39 -47 -91q-27 -41 -86 -82q-47 -33 -129 -59q-78 -25 -180 -24q-113 0 -205 36.5t-156 106.5q-61 68 -96 178q-33 105 -33 248zM324 641h583q-10 96 -32.5 157.5t-65.5 100.5t-86 53q-53 16 -104.5 16.5t-96.5 -14.5q-53 -16 -94 -51t-72 -100q-28 -62 -32 -162z" />
86
+ <glyph unicode="f" d="M137 940v141h262v27q0 98 23 172q20 68 74 117q47 43 129 65q84 23 192 23q8 0 31.5 -1t38.5 -1q27 0 80 -4l38.5 -5.5t36.5 -3.5l58 -8v-143q-6 2 -26.5 3t-29.5 1l-75 6q-53 4 -74 4q-14 0 -32.5 1t-22.5 1q-59 0 -115 -10q-51 -10 -82 -37q-33 -29 -47 -74 q-16 -49 -16 -122v-11h491v-141h-491v-940h-181v940h-262z" />
87
+ <glyph unicode="g" d="M143 549q0 137 20.5 233.5t69.5 171.5q47 72 123 109q78 37 187 37q113 0 196.5 -53.5t128.5 -149.5h2q0 8 1 26.5t1 29t1 31t1 28.5q0 18 5 47q0 6 1 11t2 8l1 3h172q0 -2 -1 -12t-1 -18q0 -6 -1 -23.5t-1 -28t-1 -32t-1 -33.5v-76v-825q0 -229 -107 -342 q-109 -115 -328 -115q-90 0 -157 18q-72 18 -119 56q-51 39 -80 84q-31 49 -43 108l184 27q18 -78 74 -117q57 -41 148 -41q55 0 102 19q45 18 78 53t51 98q16 55 16 146v194h-2q-23 -47 -47 -78q-39 -47 -71 -67q-49 -31 -97 -47q-49 -16 -127 -17q-106 0 -174 33 q-74 35 -119 100q-47 68 -67 168q-21 97 -21 236zM330 551q0 -123 14 -195q16 -78 47 -125q33 -51 80 -67q49 -18 115 -19q53 0 102 21q53 23 92 70q37 47 64 126q25 76 24 189q0 119 -22 192q-25 82 -64 129.5t-90 70t-104 22.5q-66 0 -117 -23q-49 -20 -80 -72 q-33 -53 -47 -126.5t-14 -192.5z" />
88
+ <glyph unicode="h" d="M184 0v1485h183v-391q0 -35 -5 -101q-2 -27 -4 -51t-2 -45h4q27 49 55.5 84t73.5 66q35 25 93 40q49 14 116 15q82 0 150 -23q61 -20 108 -67q45 -45 70 -117q23 -66 23 -174v-721h-181v694q0 78 -16 133q-14 49 -47 82q-29 29 -70 41q-39 12 -88 13q-55 0 -110 -23 q-45 -18 -88 -66q-40 -43 -62 -104q-23 -63 -22 -143v-627h-181z" />
89
+ <glyph unicode="i" d="M143 0v141h422v799h-319v141h499v-940h379v-141h-981zM545 1292v193h200v-193h-200z" />
90
+ <glyph unicode="j" d="M117 -242q18 -6 53 -12q12 -2 33.5 -5t32.5 -5q27 -4 75 -8q53 -4 78 -4q59 0 105 14q51 16 86 45q31 27 55 78q20 43 20 114v965h-405v141h586v-1110q0 -113 -35 -184q-37 -78 -94.5 -123t-137.5 -67.5t-163 -22.5q-29 0 -82 4q-35 2 -80 10q-25 4 -70 13q-27 4 -57 16 v141zM637 1292v193h199v-193h-199z" />
91
+ <glyph unicode="k" d="M236 0v1485h180v-928l475 524h211l-438 -465l460 -616h-211l-364 500l-133 -99v-401h-180z" />
92
+ <glyph unicode="l" d="M133 0v141h422v1200h-289v144h469v-1344h381v-141h-983z" />
93
+ <glyph unicode="m" d="M98 1081h150l1 -8q1 -8 1 -16q0 -6 1 -21.5t1 -26t1 -28.5t1 -27v-47h2q10 33 31 74q16 35 43 63q23 25 61 43q31 14 80 15q92 0 133 -47q43 -49 62 -150h2q23 55 39 84q18 33 51 61.5t63 39.5q37 12 82 12q59 0 105 -23q43 -22 67.5 -67.5t36.5 -116.5q12 -72 12 -174 v-721h-168v686q0 80 -6 131q-6 43 -20 86q-12 35 -35 47.5t-53 12.5q-63 0 -105 -84q-39 -80 -39 -252v-627h-168v686q0 80 -6 131q-6 52 -18 86q-12 35 -35 47q-20 12 -53 13q-35 0 -60 -25q-27 -27 -45 -72q-20 -49 -28 -112q-10 -72 -11 -148v-606h-170v852v70 q0 12 -1 36.5t-1 34.5q0 12 -1 30.5t-1 27.5q0 10 -1 20z" />
94
+ <glyph unicode="n" d="M178 1081h170l1 -9q1 -9 1 -17q0 -6 2 -23.5t2 -27.5q0 -8 1 -28t1 -30v-49h4q31 57 56 84q37 41 76 66q37 23 96 40q49 14 119 15q80 0 147 -23q63 -20 107 -67q45 -47 65 -117q23 -74 23 -174v-721h-181v694q0 78 -16 133q-14 49 -47 82q-29 29 -70 41q-39 12 -88 13 q-55 0 -110 -23q-45 -18 -88 -66q-40 -43 -62 -104q-23 -63 -22 -143v-627h-181v852v70q0 12 -1 36.5t-1 34.5q0 12 -1 30.5t-1 27.5q0 10 -1 20z" />
95
+ <glyph unicode="o" d="M129 543q0 274 127 418q125 141 358 141q244 0 365 -139q119 -137 119 -420q0 -139 -35 -248t-96 -176q-65 -71 -154 -105q-92 -35 -205 -34q-104 0 -196 34q-90 35 -152 105q-63 74 -96 174q-35 109 -35 250zM319 543q0 -133 23 -209q25 -84 63.5 -131t92.5 -70 q49 -20 108.5 -20t120.5 20q57 18 96 67.5t62 133.5q23 86 22 209q0 127 -20 207q-23 86 -60 131q-43 51 -92 69q-52 18 -117 19q-68 0 -120 -21q-55 -20 -95 -69q-41 -49 -61 -131q-23 -86 -23 -205z" />
96
+ <glyph unicode="p" d="M178 1081h176l1 -3q1 -3 1 -7v-10t2 -21.5t2 -23.5t1 -26.5t1 -29t1.5 -30t1.5 -27.5h4q27 55 55 90q33 39 72 64q33 20 90 35q49 12 112 12q113 0 185 -39q74 -41 121 -115q43 -70 65 -176q20 -100 20.5 -227t-20.5 -228q-23 -113 -65 -180q-45 -74 -121 -116 q-74 -43 -185 -43q-49 0 -104 10q-45 8 -94 33q-37 18 -76 57q-37 37 -57 84h-5v-17q0 -4 1.5 -17t1.5 -21v-54q0 -10 1 -28.5t1 -28.5v-424h-183v1284v78q0 12 -1 33.5t-1 32t-1 28t-1 23.5q0 8 -1 17t-1 11zM367 524q0 -115 18 -194.5t53 -126.5t90 -70q49 -20 121 -20 q70 0 121 28q49 27 80 84q29 51 41 135q12 80 12 187q0 115 -10 178q-12 80 -43 131q-33 57 -78 82q-47 27 -121 27q-58 0 -110.5 -18.5t-91.5 -67.5q-37 -47 -60 -134q-22 -90 -22 -221z" />
97
+ <glyph unicode="q" d="M137 532q0 283 98.5 424.5t292.5 141.5q74 0 117 -11q49 -12 92 -34q35 -18 70 -58q23 -25 53 -82h2q0 8 1 25.5t1 28t2 28t2 25.5q0 18 4 43q2 12 2 20h177q0 -2 -1 -11t-1 -17q0 -6 -1 -24.5t-1 -31.5q0 -10 -1.5 -36.5t-1.5 -44.5v-117v-1227h-182v440q0 8 1 26.5 t1 29.5v55q0 16 1 29.5t1 27.5h-2q-23 -47 -55 -90q-27 -35 -72 -65q-37 -25 -92 -39q-57 -14 -115 -15q-203 0 -297 142q-96 143 -96 417zM324 539q0 -113 14 -187q16 -84 45 -133q31 -53 78 -79.5t117 -26.5q53 0 110 20q49 18 90 68q40 49 62 135q23 90 22.5 219 t-18.5 197q-23 84 -57.5 127t-90.5 65q-49 20 -116.5 20.5t-116.5 -24.5t-80 -78q-29 -49 -45 -133q-14 -73 -14 -190z" />
98
+ <glyph unicode="r" d="M242 1081h172q0 -4 6 -23.5t8 -31.5q2 -8 7 -29.5t7 -33.5l13 -68q2 -12 4 -35.5t2 -28.5h6q33 74 57 113q33 51 74 84q51 39 100 55q58 18 142 19q72 0 108 -4q47 -4 96 -13v-167q-33 6 -98 14q-53 6 -112 6q-82 0 -152 -35q-66 -33 -113 -92t-71 -137q-25 -77 -25 -166 v-508h-178v700q0 57 -6 115q-6 68 -15 109q-10 61 -18 94q-2 10 -7 32.5t-7 30.5z" />
99
+ <glyph unicode="s" d="M168 248l158 31q12 -53 38.5 -86t63.5 -52q31 -16 86 -22q33 -4 107 -4q66 0 108 8q51 10 84 29q37 23 57 53q20 33 21 80q0 49 -24.5 79.5t-69.5 53.5q-35 16 -105 35q-35 8 -69.5 17l-63.5 17q-115 33 -127 37q-74 25 -113 51q-47 33 -79 84q-29 45 -29 127 q0 150 104 230q109 84 308 84q84 0 147 -15q68 -16 125 -47q51 -29 90 -80q33 -43 49 -118l-162 -21q-6 45 -28 74q-20 27 -57 43t-76 22q-43 6 -88 7q-244 0 -244 -152q0 -47 20 -74q23 -29 62 -47q51 -25 92 -33l119 -30q68 -16 133 -37q72 -23 125 -55q57 -35 94 -90.5 t37 -137.5q0 -76 -31 -137t-86 -104q-57 -45 -137 -66q-86 -23 -186 -22q-80 0 -170 14q-66 10 -132 45q-55 29 -96 82q-37 47 -55 127z" />
100
+ <glyph unicode="t" d="M190 940v141h170l58 283h121v-283h432v-141h-432v-651q0 -84 41 -119q43 -37 141 -37q25 0 82 4q53 4 82 8q10 2 35.5 5.5t37.5 5.5q37 6 60 12v-137q-6 -2 -25.5 -6.5t-31.5 -8.5q-39 -10 -80 -16q-16 -2 -48 -5t-47 -5q-53 -6 -104 -6q-162 0 -244 69q-80 68 -80 215 v672h-168z" />
101
+ <glyph unicode="u" d="M184 360v721h181v-686q0 -80 12 -131q14 -57 37 -86q27 -33 69 -45q49 -14 107 -14q59 0 115 22q49 20 88 66q37 43 55 104q20 68 20 144v626h181v-850v-71q0 -12 1 -37t1 -35q0 -12 1 -30.5t1 -26.5q0 -10 1 -21l1 -10h-170l-1 9q-1 9 -1 18q0 6 -1 23.5t-1 27.5 q0 8 -1 27.5t-1 29.5t-1 26.5t-1 22.5h-3q-23 -43 -57 -84q-31 -37 -72 -65q-33 -23 -94 -41q-49 -14 -123 -14q-88 0 -155 22q-63 20 -106.5 67.5t-61.5 118.5q-21 82 -21 172z" />
102
+ <glyph unicode="v" d="M70 1081h200l269 -702l5 -15.5t6 -20.5t5 -19q4 -16 10 -33t10 -33l18.5 -65.5l14.5 -51.5q2 6 5 19.5t10 32.5l20 65l21 64l18 55l276 704h201l-444 -1081h-213z" />
103
+ <glyph unicode="w" d="M20 1081h179l94 -606q2 -25 8 -67q2 -16 5 -46t5 -45l11 -94q4 -61 4 -73l20 86q4 14 6 24t6 21.5t8.5 26l10.5 33.5t6 21l135 424h193l131 -424q4 -14 14 -55q8 -27 18 -71q14 -49 23 -86q0 43 2 73q2 35 10 94l13 91l5 36.5t5 30.5l100 606h176l-190 -1081h-205 l-141 471l-19 61q-14 47 -18 66q-6 18 -21 76q-12 -49 -20 -74q-14 -53 -18.5 -67.5l-11.5 -38t-9 -27.5l-147 -467h-203z" />
104
+ <glyph unicode="x" d="M94 0l416 555l-397 526h198l299 -419l299 419h201l-397 -524l420 -557h-201l-322 444l-321 -444h-195z" />
105
+ <glyph unicode="y" d="M66 1081h192l264 -641q18 -51 27 -67l31 -78l26 -70l15 -39q4 14 14 41l27 68q25 63 30 78l14.5 36.5l12.5 30.5l252 641h190l-456 -1081q-37 -98 -76 -176t-90 -135q-47 -53 -108.5 -84t-137.5 -31q-45 0 -64 2q-23 2 -61 10v135q25 -4 43 -4q8 0 21.5 -1t19.5 -1 q78 0 149 60q68 55 117 186l19 49z" />
106
+ <glyph unicode="z" d="M147 0v137l680 805h-641v139h844v-137l-682 -805h719v-139h-920z" />
107
+ <glyph unicode="{" d="M227 461v137q55 4 101 14q45 12 88 41q37 27 63 72q23 39 23 104v353q0 68 22 125q23 59 60 96t94 59.5t119 22.5h264v-139h-213q-41 0 -78 -11q-25 -6 -53 -35q-20 -20 -31 -59q-8 -33 -8 -90v-346q0 -61 -21 -105q-22 -46 -55 -79q-41 -41 -74 -58q-43 -23 -82 -31v-2 q33 -6 84 -32q33 -16 74 -58q31 -31 53 -80q20 -43 21 -104v-346q0 -111 39 -152q41 -45 131 -45h213v-139h-264q-61 0 -119 23q-53 20 -94 61q-37 37 -60 96q-23 57 -22 123v352q0 68 -23 107q-25 43 -63 70q-43 29 -88 40q-46 11 -101 15z" />
108
+ <glyph unicode="|" d="M530 -426v1911h166v-1911h-166z" />
109
+ <glyph unicode="}" d="M168 -287h213q90 0 131 45t41 152v346q0 66 18 104q23 49 54 80q39 39 73 58q45 25 84 32v2q-43 10 -82 31q-35 18 -73 58q-31 31 -54 79q-20 43 -20 105v346q0 49 -10 90q-10 39 -31 59q-27 27 -55 35q-37 10 -76 11h-213v139h264q61 0 119 -23q53 -20 92 -59t62 -96 q20 -53 20 -125v-353q0 -61 25 -104q27 -49 61 -72q41 -29 90 -41q45 -10 100 -14v-137q-55 -4 -100 -15q-49 -12 -90 -40q-35 -25 -61 -70q-25 -43 -25 -107v-352q0 -70 -20 -123q-23 -57 -62 -96q-41 -41 -92 -61q-57 -23 -119 -23h-264v139z" />
110
+ <glyph unicode="~" d="M109 580v143q55 41 114 61q68 23 148 23q40 0 80 -6q27 -4 79 -17q27 -6 76 -22q18 -6 37 -13.5t37 -13.5l45 -14q29 -10 51 -16q31 -8 51 -11q33 -4 50 -4q68 0 129 25q63 25 114 67v-149q-31 -22 -61 -37q-35 -16 -60 -25q-41 -12 -65 -14q-45 -4 -74 -4q-63 0 -141 22 q-33 10 -146 48q-127 45 -217 45q-37 0 -71 -6q-37 -6 -62 -17q-20 -8 -57 -29q-34 -18 -57 -36z" />
111
+ <glyph unicode="&#xa0;" />
112
+ <glyph unicode="&#xa2;" d="M133 655q0 117 29 215q27 90 86 164q55 68 137 111q76 39 184 49v184h129v-184q86 -6 152 -33q61 -25 115 -71q49 -43 79.5 -98.5t42.5 -119.5l-184 -14q-18 90 -81.5 145.5t-188.5 55.5q-156 0 -236 -101q-82 -104 -82 -290q0 -197 84 -299q82 -100 236 -101 q59 0 102 15q49 16 82 40.5t60 67.5q23 39 32 94l183 -12q-8 -59 -37 -119q-25 -53 -80 -104q-51 -49 -118.5 -78t-160.5 -39v-194h-129v194q-109 8 -190 51q-84 43 -137 109q-53 63 -82 162q-27 87 -27 200z" />
113
+ <glyph unicode="&#xa3;" d="M55 0v154q37 18 80 47q39 25 62 57q23 31 39 86t16 127v141h-186v142h186v221q0 90 24 164q23 70 78 125q53 53 131 79.5t189 26.5q78 0 137 -14q63 -14 113 -43q45 -25 86 -74q39 -45 55 -98q-2 -2 -6 -4t-21 -7q-4 -2 -11 -5t-15 -5t-16.5 -5t-16.5 -5l-37.5 -11 t-50.5 -16q-20 61 -81.5 94t-135.5 33q-123 0 -182 -57q-61 -59 -62 -182v-217h410v-142h-410v-139q0 -57 -6 -106q-6 -41 -27 -88q-18 -39 -47 -68q-33 -33 -74 -53h601q59 0 86 26q29 29 41 80l167 -24q-9 -43 -24 -86q-14 -41 -43 -76q-31 -37 -68 -58q-39 -20 -98 -20 h-883z" />
114
+ <glyph unicode="&#xa5;" d="M51 1350h201l360 -619l365 619h199l-412 -670h321v-143h-383v-138h383v-143h-383v-256h-178v256h-381v143h381l2 138h-383v143h320z" />
115
+ <glyph unicode="&#xa9;" d="M31 762q0 186 47 323q47 135 125 224q84 92 184 133q108 43 227 43q120 0 228 -43q100 -41 184 -133q78 -88 125 -224q45 -133 45 -323.5t-45 -323.5q-47 -139 -125 -225q-84 -92 -184 -133q-102 -41 -227.5 -41t-227.5 41q-100 41 -184 133q-78 86 -125 225 q-47 138 -47 324zM127 762q0 -178 37 -289q39 -117 104 -194q63 -76 156 -111q96 -37 190.5 -37t190.5 37q88 33 156 111q68 76 106 194q39 117 39 289q0 168 -39 285q-39 119 -106.5 194.5t-155.5 112.5q-84 35 -190.5 35t-190.5 -35q-94 -39 -156 -113q-66 -78 -104 -194 q-37 -111 -37 -285zM268 764q0 94 23 174q23 84 63 135q39 51 109 84q66 31 151 31q68 0 117 -19q53 -20 86 -46.5t60 -67.5q29 -41 41 -76l-113 -35q-8 23 -27 51q-16 25 -39 45q-20 18 -53 31q-27 10 -70 10q-53 0 -98 -22q-43 -20 -69 -64q-27 -41 -39.5 -100t-12.5 -131 q0 -76 14.5 -133.5t43.5 -102.5q29 -43 69 -67q43 -25 99 -25q37 0 71 15q25 10 56 36q23 20 39 49t28 58l117 -37q-12 -29 -45 -82q-25 -39 -64 -72q-41 -35 -86 -51q-49 -18 -116 -18q-90 0 -158 31q-63 29 -108.5 90t-65.5 135q-23 84 -23 174z" />
116
+ <glyph unicode="&#xad;" d="M334 465v160h561v-160h-561z" />
117
+ <glyph unicode="&#xae;" d="M31 762q0 186 47 323q47 135 125 224q84 92 184 133q108 43 227 43q120 0 228 -43q100 -41 184 -133q78 -88 125 -224q45 -133 45 -323.5t-45 -323.5q-47 -139 -125 -225q-84 -92 -184 -133q-102 -41 -227.5 -41t-227.5 41q-100 41 -184 133q-78 86 -125 225 q-47 138 -47 324zM127 762q0 -178 37 -289q39 -117 104 -194q63 -76 156 -111q96 -37 190.5 -37t190.5 37q88 33 156 111q68 76 106 194q39 117 39 289q0 168 -39 285q-39 119 -106.5 194.5t-155.5 112.5q-84 35 -190.5 35t-190.5 -35q-94 -39 -156 -113q-66 -78 -104 -194 q-37 -111 -37 -285zM328 342v832h307q141 0 217 -63.5t76 -172.5q0 -104 -51 -164q-55 -63 -138 -82l222 -350h-146l-199 338h-161v-338h-127zM455 774h182q80 0 123 43q41 41 41 119q0 68 -47 104q-43 35 -129 35h-170v-301z" />
118
+ <glyph unicode="&#xb4;" d="M401 1200v21l228 239h196v-28l-299 -232h-125z" />
119
+ <glyph unicode="&#x2000;" horiz-adv-x="741" />
120
+ <glyph unicode="&#x2001;" horiz-adv-x="1482" />
121
+ <glyph unicode="&#x2002;" horiz-adv-x="741" />
122
+ <glyph unicode="&#x2003;" horiz-adv-x="1482" />
123
+ <glyph unicode="&#x2004;" horiz-adv-x="493" />
124
+ <glyph unicode="&#x2005;" horiz-adv-x="370" />
125
+ <glyph unicode="&#x2006;" horiz-adv-x="245" />
126
+ <glyph unicode="&#x2007;" horiz-adv-x="245" />
127
+ <glyph unicode="&#x2008;" horiz-adv-x="184" />
128
+ <glyph unicode="&#x2009;" horiz-adv-x="294" />
129
+ <glyph unicode="&#x200a;" horiz-adv-x="81" />
130
+ <glyph unicode="&#x2010;" d="M334 465v160h561v-160h-561z" />
131
+ <glyph unicode="&#x2011;" d="M334 465v160h561v-160h-561z" />
132
+ <glyph unicode="&#x2012;" d="M334 465v160h561v-160h-561z" />
133
+ <glyph unicode="&#x2013;" d="M170 451v137h889v-137h-889z" />
134
+ <glyph unicode="&#x2014;" d="M-10 451v137h1247v-137h-1247z" />
135
+ <glyph unicode="&#x2018;" d="M397 862l312 623h122l-169 -623h-265z" />
136
+ <glyph unicode="&#x2019;" d="M399 862l168 623h267l-312 -623h-123z" />
137
+ <glyph unicode="&#x201c;" d="M176 862l311 623h123l-168 -623h-266zM616 862l312 623h123l-170 -623h-265z" />
138
+ <glyph unicode="&#x201d;" d="M178 862l168 623h266l-311 -623h-123zM616 862l170 623h265l-312 -623h-123z" />
139
+ <glyph unicode="&#x2022;" d="M336 682q0 55 22 106q25 55 58 88t88 58q51 23 106 22q53 0 109 -22q51 -20 90 -57q35 -33 59 -89q23 -51 23 -106q0 -53 -23 -109q-23 -57 -59 -90q-43 -41 -90 -59q-55 -23 -109 -23q-55 0 -106 22.5t-88 59.5q-35 35 -57.5 90.5t-22.5 108.5z" />
140
+ <glyph unicode="&#x2026;" d="M117 0v219h176v-219h-176zM528 0v219h172v-219h-172zM938 0v219h174v-219h-174z" />
141
+ <glyph unicode="&#x202f;" horiz-adv-x="294" />
142
+ <glyph unicode="&#x205f;" horiz-adv-x="370" />
143
+ <glyph unicode="&#x20ac;" d="M90 461v143h121q-4 29 -4 39v37v43q0 10 4 35h-121v141h129q29 233 156 352q129 119 354 119q57 0 107 -6q45 -6 96 -23q61 -20 90 -34q39 -18 86 -54l-82 -139q-59 45 -127 72q-70 29 -156 28q-74 0 -129 -14q-59 -16 -98 -49q-45 -39 -67 -96q-25 -61 -37 -158h460 v-139h-475v-37q0 -8 -1 -20.5t-1 -20.5q0 -35 4 -76h473v-141h-458q10 -86 28 -139q23 -66 60 -105q39 -43 96 -63q55 -20 139 -21q55 0 94 8q47 10 82 25q41 16 70 33q12 6 34.5 20.5t29.5 18.5l75 -136q-57 -37 -86 -51q-53 -27 -92 -39q-53 -16 -100 -24 q-61 -10 -117 -10q-117 0 -209 34q-88 35 -151 97q-57 57 -97 151q-37 88 -49 199h-131z" />
144
+ <glyph unicode="&#x2122;" d="M4 1391v92h457v-92h-174v-549h-113v549h-170zM518 842v641h158l182 -465l4 -8l4 -13q4 -8 6 -14q27 70 29 76t6 14t6 14q6 14 9 25q2 4 5 11t3 10l4 8l137 342h154v-641h-107v352v160l-6 -19q-2 -8 -4 -14q-2 -2 -2 -6t-2 -6l-191 -467h-90l-135 342l-10 30 q-4 10 -10 26.5t-13 33.5q-27 66 -30 80v-43v-469h-107z" />
145
+ <glyph unicode="&#xe000;" horiz-adv-x="1080" d="M0 1080h1080v-1080h-1080v1080z" />
146
+ <glyph unicode="&#xf001;" d="M84 950v131h152v123q0 59 12 109q14 59 39 88q33 39 82 59q55 23 131 23q23 0 67 -4q41 -4 60 -9v-137q-25 4 -39.5 6t-40.5 2q-41 0 -66 -12q-27 -12 -39 -31q-14 -20 -20 -50.5t-6 -67.5v-99h211v-131h-211v-950h-180v950h-152zM881 0v1081h180v-1081h-180zM881 1313 v172h180v-172h-180z" />
147
+ <glyph unicode="&#xfb01;" d="M84 950v131h152v123q0 59 12 109q14 59 39 88q33 39 82 59q55 23 131 23q23 0 67 -4q41 -4 60 -9v-137q-25 4 -39.5 6t-40.5 2q-41 0 -66 -12q-27 -12 -39 -31q-14 -20 -20 -50.5t-6 -67.5v-99h211v-131h-211v-950h-180v950h-152zM881 0v1081h180v-1081h-180zM881 1313 v172h180v-172h-180z" />
148
+ <glyph unicode="&#xf002;" d="M84 950v131h152v123q0 59 12 109q14 59 39 88q33 39 82 59q55 23 131 23q23 0 67 -4q41 -4 60 -9v-137q-25 4 -39.5 6t-40.5 2q-41 0 -66 -12q-27 -12 -39 -31q-14 -20 -20 -50.5t-6 -67.5v-99h211v-131h-211v-950h-180v950h-152zM881 0v1485h180v-1485h-180z" />
149
+ <glyph unicode="&#xfb02;" d="M84 950v131h152v123q0 59 12 109q14 59 39 88q33 39 82 59q55 23 131 23q23 0 67 -4q41 -4 60 -9v-137q-25 4 -39.5 6t-40.5 2q-41 0 -66 -12q-27 -12 -39 -31q-14 -20 -20 -50.5t-6 -67.5v-99h211v-131h-211v-950h-180v950h-152zM881 0v1485h180v-1485h-180z" />
150
+ <glyph unicode="&#xfb03;" horiz-adv-x="3686" d="M2601 0v141h422v799h-319v141h499v-940h379v-141h-981zM3003 1292v193h200v-193h-200zM1366 940v141h262v27q0 98 23 172q20 68 74 117q47 43 129 65q84 23 192 23q8 0 31.5 -1t38.5 -1q27 0 80 -4l38.5 -5.5t36.5 -3.5l58 -8v-143q-6 2 -26.5 3t-29.5 1l-75 6 q-53 4 -74 4q-14 0 -32.5 1t-22.5 1q-59 0 -115 -10q-51 -10 -82 -37q-33 -29 -47 -74q-16 -49 -16 -122v-11h491v-141h-491v-940h-181v940h-262zM137 940v141h262v27q0 98 23 172q20 68 74 117q47 43 129 65q84 23 192 23q8 0 31.5 -1t38.5 -1q27 0 80 -4l38.5 -5.5 t36.5 -3.5l58 -8v-143q-6 2 -26.5 3t-29.5 1l-75 6q-53 4 -74 4q-14 0 -32.5 1t-22.5 1q-59 0 -115 -10q-51 -10 -82 -37q-33 -29 -47 -74q-16 -49 -16 -122v-11h491v-141h-491v-940h-181v940h-262z" />
151
+ <glyph unicode="&#xfb04;" horiz-adv-x="3686" d="M2591 0v141h422v1200h-289v144h469v-1344h381v-141h-983zM1366 940v141h262v27q0 98 23 172q20 68 74 117q47 43 129 65q84 23 192 23q8 0 31.5 -1t38.5 -1q27 0 80 -4l38.5 -5.5t36.5 -3.5l58 -8v-143q-6 2 -26.5 3t-29.5 1l-75 6q-53 4 -74 4q-14 0 -32.5 1t-22.5 1 q-59 0 -115 -10q-51 -10 -82 -37q-33 -29 -47 -74q-16 -49 -16 -122v-11h491v-141h-491v-940h-181v940h-262zM137 940v141h262v27q0 98 23 172q20 68 74 117q47 43 129 65q84 23 192 23q8 0 31.5 -1t38.5 -1q27 0 80 -4l38.5 -5.5t36.5 -3.5l58 -8v-143q-6 2 -26.5 3 t-29.5 1l-75 6q-53 4 -74 4q-14 0 -32.5 1t-22.5 1q-59 0 -115 -10q-51 -10 -82 -37q-33 -29 -47 -74q-16 -49 -16 -122v-11h491v-141h-491v-940h-181v940h-262z" />
152
+ </font>
153
+ </defs></svg>
fonts/liberation-mono/liberation-mono-webfont.ttf ADDED
Binary file
fonts/liberation-mono/liberation-mono-webfont.woff ADDED
Binary file
fonts/ubuntu-mono.css ADDED
@@ -0,0 +1,14 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ @font-face {
2
+ font-family: 'UbuntuMonoRegular';
3
+ src: url('ubuntu-mono/ubuntu-mono-webfont.eot');
4
+ src: url('ubuntu-mono/ubuntu-mono-webfont.eot?#iefix') format('embedded-opentype'),
5
+ url('ubuntu-mono/ubuntu-mono-webfont.woff') format('woff'),
6
+ url('ubuntu-mono/ubuntu-mono-webfont.ttf') format('truetype'),
7
+ url('ubuntu-mono/ubuntu-mono-webfont.svg#UbuntuMonoRegular') format('svg');
8
+ font-weight: normal;
9
+ font-style: normal;
10
+ }
11
+
12
+ .crayon-font-ubuntu-mono * {
13
+ font-family: Ubuntu Mono, 'UbuntuMonoRegular', 'Courier New', monospace !important;
14
+ }
fonts/ubuntu-mono/ubuntu-mono-webfont.eot ADDED
Binary file
fonts/ubuntu-mono/ubuntu-mono-webfont.svg ADDED
@@ -0,0 +1,146 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0" standalone="no"?>
2
+ <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
3
+ <svg xmlns="http://www.w3.org/2000/svg">
4
+ <metadata>
5
+ This is a custom SVG webfont generated by Font Squirrel.
6
+ Copyright : Copyright 2011 Canonical Ltd Licensed under the Ubuntu Font Licence 10
7
+ Designer : Dalton Maag Ltd
8
+ Foundry : Dalton Maag Ltd
9
+ Foundry URL : httpwwwdaltonmaagcom
10
+ </metadata>
11
+ <defs>
12
+ <font id="UbuntuMonoRegular" horiz-adv-x="1024" >
13
+ <font-face units-per-em="2048" ascent="1638" descent="-410" />
14
+ <missing-glyph horiz-adv-x="500" />
15
+ <glyph unicode=" " />
16
+ <glyph unicode="!" d="M371 114.5q0 63.5 41 101.5t96 38q57 0 97 -38t40 -101.5t-40 -101.5t-97 -38q-55 0 -96 38t-41 101.5zM418 924v344h182v-344q0 -76 -2 -139.5t-7 -121t-11 -113.5l-13 -118h-116l-13 118q-6 56 -11 113.5t-7 121t-2 139.5z" />
17
+ <glyph unicode="&#x22;" d="M264 1300v91h158v-93q0 -90 -10.5 -205.5t-26.5 -211.5h-86q-14 96 -24.5 211.5t-10.5 207.5zM602 1300v91h158v-93q0 -90 -10.5 -205.5t-24.5 -211.5h-86q-16 96 -26.5 211.5t-10.5 207.5z" />
18
+ <glyph unicode="#" d="M55 334v137h158l61 326h-219v135h248l64 336h153l-63 -336h227l61 336h154l-61 -336h131v-135h-158l-63 -326h221v-137h-248l-64 -334h-153l63 334h-227l-64 -334h-153l63 334h-131zM367 471h225l63 326h-225z" />
19
+ <glyph unicode="$" d="M111 106l45 142q55 -27 130.5 -50.5t190.5 -23.5q74 0 124 11.5t79 33t41 51t12 64.5q0 51 -24.5 87t-66.5 63.5t-95 49t-111 41.5q-55 20 -109.5 45t-96.5 61t-68.5 86t-26.5 124q0 131 78 213t225 104v211h152v-205q82 -4 150.5 -19t109.5 -32l-35 -143 q-43 16 -108.5 33.5t-165.5 17.5q-111 0 -169.5 -41t-58.5 -119q0 -43 17.5 -71.5t50.5 -51t77 -41t99 -38.5q70 -27 135.5 -56.5t114.5 -70.5t78.5 -98.5t29.5 -137.5q0 -121 -79.5 -205t-245.5 -104v-236h-152v230q-129 4 -208.5 28t-118.5 47z" />
20
+ <glyph unicode="%" d="M37 977q0 156 59.5 236.5t164 80.5t163.5 -80.5t59 -236.5t-59 -238t-163.5 -82t-164 82t-59.5 238zM51 0l776 1268h144l-776 -1268h-144zM162 977q0 -92 25.5 -151.5t72.5 -59.5t71.5 59.5t24.5 151.5t-24.5 151.5t-71.5 59.5t-72.5 -59.5t-25.5 -151.5zM543 290.5 q0 155.5 58 236.5t162.5 81t164 -81t59.5 -236.5t-59.5 -236.5t-164 -81t-162.5 81t-58 236.5zM668 291q0 -92 24.5 -151.5t71.5 -59.5t72.5 59.5t25.5 151.5t-25.5 151.5t-72.5 59.5t-71.5 -59.5t-24.5 -151.5z" />
21
+ <glyph unicode="&#x26;" d="M63 309q0 96 50.5 194.5t158.5 182.5q-53 72 -85.5 145.5t-32.5 151.5q0 80 25.5 139.5t68.5 97t99 57t116 19.5q53 0 104 -16t90 -50t62.5 -83t23.5 -113q0 -94 -61 -193.5t-195 -183.5l70 -77l73 -83l77 -89q16 57 28.5 124.5t18.5 149.5l141 -18 q-12 -119 -35.5 -212.5t-58.5 -168.5q47 -66 90 -135.5t78 -147.5h-178q-35 72 -78 137q-66 -82 -147 -117.5t-169 -35.5q-78 0 -139 25.5t-104 70.5t-67 104t-24 125zM233 326q0 -80 41 -132.5t101 -65.5q18 -4 38 -4q43 0 91 20q70 30 127 112q-68 92 -141 171l-138 157 q-59 -53 -89 -122.5t-30 -135.5zM313 995q0 -59 18.5 -110t78.5 -129q98 61 139 130.5t41 129.5q0 74 -40 110.5t-91 36.5q-53 0 -99.5 -42t-46.5 -126z" />
22
+ <glyph unicode="'" d="M422 1300v91h178v-93q0 -45 -3 -103t-8 -120.5t-11.5 -123t-14.5 -107.5h-104q-8 47 -14.5 107.5t-11.5 123t-8 121.5t-3 104z" />
23
+ <glyph unicode="(" d="M231 549q0 254 117 485.5t350 401.5l90 -123h-2q-190 -147 -290.5 -340t-100.5 -420q0 -115 23.5 -217.5t72 -196.5t123 -182t177.5 -176l-93 -123q-236 174 -351.5 404.5t-115.5 486.5z" />
24
+ <glyph unicode=")" d="M231 1313l93 123q236 -174 351.5 -404.5t115.5 -486.5q0 -127 -30 -250t-88.5 -236.5t-145.5 -215t-203 -185.5l-91 123h3q190 147 291.5 339.5t101.5 420.5q0 115 -23.5 217t-73 196.5t-124.5 182.5t-177 176z" />
25
+ <glyph unicode="*" d="M117 915l55 168l14 -6q72 -29 144.5 -63.5t138.5 -71.5q-16 74 -29.5 154t-13.5 157v15h176v-15q0 -78 -13.5 -157.5t-29.5 -153.5q66 39 137.5 73t143.5 60l14 6l53 -168l-12 -4q-74 -23 -152.5 -35t-154.5 -20l114 -108q59 -56 101 -119l8 -11l-143 -104l-11 12 q-43 61 -77 134l-66 141l-68 -141q-35 -73 -81 -134l-11 -10l-141 102l10 13q45 63 103 119l112 106l-155 22q-80 11 -152 35z" />
26
+ <glyph unicode="+" d="M94 467v143h344v377h148v-377h346v-143h-346v-379h-148v379h-344z" />
27
+ <glyph unicode="," d="M305 -162l73 17q36 8 66.5 23.5t55 39t39.5 64.5q-66 6 -95.5 50t-29.5 87q0 82 46 124t105 42q76 0 115 -54.5t39 -132.5q0 -59 -23.5 -123.5t-72 -121t-120 -96.5t-169.5 -52z" />
28
+ <glyph unicode="-" d="M287 440v160h450v-160h-450z" />
29
+ <glyph unicode="." d="M362 131q0 63 41 110.5t111 47.5q68 0 109 -47t41 -111q0 -61 -41 -108.5t-109 -47.5q-70 0 -111 47.5t-41 108.5z" />
30
+ <glyph unicode="/" d="M141 -338l572 1770h170l-568 -1770h-174z" />
31
+ <glyph unicode="0" d="M94 634.5q0 319.5 109.5 490.5t308.5 171q201 0 309.5 -171t108.5 -490.5t-108.5 -490.5t-309.5 -171q-199 0 -308.5 171t-109.5 490.5zM266 634.5q0 -104.5 12.5 -197.5t41 -162.5t75.5 -110.5t117 -41t117 41t75.5 110.5t41 162.5t12.5 197.5t-12.5 198t-41 163 t-75.5 110.5t-117 41t-117 -41t-75.5 -110.5t-41 -163t-12.5 -198zM397 657.5q0 53.5 33 94.5t86 41q51 0 83 -41t32 -94.5t-32 -92.5t-83 -39q-53 0 -86 39t-33 92.5z" />
32
+ <glyph unicode="1" d="M154 1006q104 41 202.5 103t182.5 159h118v-1125h240v-143h-682v143h274v889q-23 -20 -54.5 -41.5t-69 -42t-78.5 -39t-80 -30.5z" />
33
+ <glyph unicode="2" d="M117 1145q16 18 49 45t79 50.5t103.5 39.5t122.5 16q199 0 294 -91t95 -261q0 -66 -25.5 -127t-67.5 -120.5t-95 -116.5l-109 -113l-71 -74q-41 -43 -78 -88t-61.5 -88t-24.5 -74h583v-143h-768q-2 10 -2 22v21q0 86 29 159.5t74 139.5t101 124l112 114l87 88 q42 43 73.5 86t51 89t19.5 95q0 55 -17.5 94t-47 64.5t-68.5 38t-84 12.5q-53 0 -97 -14.5t-78 -35t-58.5 -40t-36.5 -31.5z" />
34
+ <glyph unicode="3" d="M121 39l33 145q33 -16 104.5 -38.5t175.5 -22.5q162 0 230.5 64.5t68.5 172.5q0 70 -28.5 117t-75.5 76t-108.5 41t-129.5 12h-43v137h60q45 0 93 9.5t88 33t64.5 64.5t24.5 104q0 104 -64.5 148.5t-150.5 44.5q-88 0 -149.5 -25.5t-102.5 -52.5l-66 129q43 31 130 64.5 t194 33.5q100 0 172 -24.5t118 -69.5t68.5 -105.5t22.5 -131.5q0 -100 -52.5 -170t-133.5 -107q98 -29 169.5 -111.5t71.5 -220.5q0 -82 -27.5 -152.5t-84 -121.5t-145.5 -80t-212 -29q-47 0 -97 7.5t-93 18.5t-77 22.5t-48 17.5z" />
35
+ <glyph unicode="4" d="M74 324v114q35 82 95 188.5t136 220.5t162 223.5t174 197.5h164v-805h149v-139h-149v-324h-164v324h-567zM238 463h403v604q-55 -59 -111.5 -131t-109.5 -150.5t-99 -160.5t-83 -162z" />
36
+ <glyph unicode="5" d="M135 39l33 145q33 -16 101.5 -38.5t172.5 -22.5q82 0 137.5 18.5t89 50t49 72.5t15.5 86q0 70 -23.5 124t-82 91t-159.5 56.5t-255 19.5q12 90 19.5 169t12.5 153.5t8 148.5t7 156h610v-144h-462l-6 -74q-3 -46 -7 -98l-8 -98q-4 -47 -6 -76q274 -10 399 -120.5 t125 -297.5q0 -84 -26.5 -155.5t-83 -122.5t-143.5 -80t-206 -29q-49 0 -97 7.5t-91 17.5t-76 21.5t-47 19.5z" />
37
+ <glyph unicode="6" d="M111 508q0 184 50 326.5t143 238.5t226.5 147.5t300.5 53.5l15 -143q-109 -2 -198 -24t-158.5 -70t-116.5 -123.5t-72 -186.5q49 23 107.5 37t123.5 14q106 0 181 -32.5t120.5 -87t66 -126t20.5 -147.5q0 -70 -23 -142.5t-70 -133t-120.5 -98.5t-176.5 -38 q-211 0 -315 141.5t-104 393.5zM283 508q0 -80 11 -150.5t38.5 -125t75 -86t120.5 -31.5q61 0 102.5 25.5t68 64.5t38 87t11.5 91q0 125 -56.5 190.5t-177.5 65.5q-66 0 -120 -12.5t-109 -36.5q-2 -20 -2 -40v-42z" />
38
+ <glyph unicode="7" d="M129 1120v148h803v-142q-61 -72 -133 -192.5t-136.5 -271t-111.5 -321.5t-59 -341h-175q10 145 52.5 308t101.5 315.5t131 282.5t141 214h-614z" />
39
+ <glyph unicode="8" d="M104 319q0 109 59.5 193t141.5 135q-174 98 -174 301q0 70 26.5 133.5t76 110.5t120 75.5t158.5 28.5q102 0 175 -30.5t118 -78.5t65.5 -106.5t20.5 -113.5q0 -109 -55.5 -188t-126.5 -126q211 -100 211 -323q0 -160 -101.5 -258.5t-308.5 -98.5q-119 0 -196.5 32 t-124 82t-66 111.5t-19.5 120.5zM268 317q0 -33 12.5 -68.5t41 -66t75.5 -50t115 -19.5q63 0 109.5 17t76 47t44 67t14.5 73q0 117 -84 179.5t-232 95.5q-82 -45 -127 -113t-45 -162zM297 963q0 -84 60.5 -157t199.5 -106q78 45 124 106.5t46 160.5q0 27 -12.5 60.5t-38 61 t-66.5 47t-98 19.5q-59 0 -99 -18.5t-67 -46t-38 -61t-11 -66.5z" />
40
+ <glyph unicode="9" d="M104 885q0 70 23 142.5t70 132t120.5 98t176.5 38.5q209 0 315 -143t106 -393q0 -379 -184 -570.5t-555 -193.5l-6 143q229 0 369.5 91.5t185.5 314.5q-49 -23 -108.5 -36t-124.5 -13q-109 0 -182.5 31.5t-119 86t-66 124t-20.5 147.5zM276 889q0 -125 56.5 -189.5 t177.5 -64.5q66 0 122 12t109 35q2 20 2 39v39q0 80 -11 151.5t-38.5 125t-76 85t-121.5 31.5q-61 0 -102.5 -25.5t-68 -63.5t-38 -85t-11.5 -90z" />
41
+ <glyph unicode=":" d="M362 131q0 63 41 110.5t111 47.5q68 0 109 -47t41 -111q0 -61 -41 -108.5t-109 -47.5q-70 0 -111 47.5t-41 108.5zM362 793q0 63 41 110t111 47q68 0 109 -47t41 -110q0 -61 -41 -108.5t-109 -47.5q-70 0 -111 47.5t-41 108.5z" />
42
+ <glyph unicode=";" d="M256 -162l73 17q36 8 66.5 23.5t55 39t38.5 64.5q-66 6 -95 50t-29 87q0 82 46 124t105 42q76 0 115 -54.5t39 -132.5q0 -59 -23.5 -123.5t-72 -121t-120 -96.5t-169.5 -52zM362 793q0 63 41 110t111 47q68 0 109 -47t41 -110q0 -61 -41 -108.5t-109 -47.5 q-70 0 -111 47.5t-41 108.5z" />
43
+ <glyph unicode="&#x3c;" d="M100 449v145l791 336l47 -142l-649 -266l649 -268l-47 -141z" />
44
+ <glyph unicode="=" d="M94 270v146h838v-146h-838zM94 659v146h838v-146h-838z" />
45
+ <glyph unicode="&#x3e;" d="M100 254l650 268l-650 266l47 142l791 -336v-145l-791 -336z" />
46
+ <glyph unicode="?" d="M188 1223q61 35 139 54t167 19q104 0 170.5 -28.5t105.5 -72.5t54.5 -97.5t15.5 -102.5q0 -61 -23.5 -109t-58.5 -91t-76 -82t-76 -81t-58.5 -91t-23.5 -109h-145l-2 39q0 88 45 152.5t99 120t99.5 110.5t45.5 127q0 78 -49.5 125t-145.5 47q-59 0 -117.5 -14.5 t-117.5 -46.5zM330 114.5q0 63.5 40 101.5t97 38q55 0 96 -38t41 -101.5t-41 -101.5t-96 -38q-57 0 -97 38t-40 101.5z" />
47
+ <glyph unicode="@" d="M82 498q0 211 38 362.5t104.5 247.5t154.5 142t190 46q180 0 284.5 -121.5t104.5 -338.5v-707q-61 -25 -124.5 -34t-116.5 -9q-72 0 -133.5 23.5t-107.5 72.5t-71.5 126t-25.5 184q0 190 98 289.5t256 99.5q16 0 31.5 -1t32.5 -3q0 129 -53.5 204.5t-170.5 75.5 q-72 0 -131 -35t-102 -111.5t-67.5 -197.5t-24.5 -293q0 -129 24.5 -248.5t76.5 -210t133 -144.5t194 -54q82 0 170 26l16 -137q-109 -29 -200 -28q-150 0 -259.5 66.5t-180 175t-105.5 248t-35 284.5zM543 492q0 -41 5 -88.5t23.5 -87.5t52 -67.5t93.5 -27.5q16 0 36.5 2 t43.5 8v502q-18 6 -36 8t-34 2q-88 0 -136 -68t-48 -183z" />
48
+ <glyph unicode="A" d="M18 0l78 293q43 158 93 323l106 333q55 167 117 319h209q59 -152 113 -319l103 -333l91 -323l78 -293h-179l-75 332h-488l-74 -332h-172zM303 471h410q-47 184 -101.5 355t-101.5 294q-47 -129 -102.5 -299t-104.5 -350z" />
49
+ <glyph unicode="B" d="M111 20v1229q31 8 70.5 14.5t81.5 9.5t82 5t73 2q94 0 176 -16.5t142.5 -55.5t94 -102.5t33.5 -157.5q0 -45 -14 -87t-40 -79t-59.5 -64.5t-72.5 -41.5q104 -29 175 -105.5t71 -199.5q0 -188 -121 -284.5t-385 -96.5q-31 0 -72 2t-82 5t-81.5 9t-71.5 14zM279 139 q4 -2 46 -5t105.5 -3t121.5 10.5t103 38t73 72.5t28 117q0 63 -25.5 106t-67.5 68.5t-97.5 37t-114.5 11.5h-172v-453zM279 731h133q51 0 102 10.5t92 33t65.5 61t24.5 98.5q0 55 -22.5 94t-59 63.5t-85 35t-101.5 10.5t-93 -1.5t-56 -5.5v-399z" />
50
+ <glyph unicode="C" d="M94 635q0 162 42 284.5t114 206.5t168 127t205 43q76 0 154.5 -20.5t154.5 -67.5l-49 -139q-135 78 -254 78q-84 0 -150.5 -36t-114 -103.5t-73 -161.5t-25.5 -211q0 -131 28 -227.5t77 -160t117.5 -94t148.5 -30.5q59 0 124.5 15.5t135.5 54.5l45 -140 q-72 -41 -152.5 -60.5t-173.5 -19.5q-113 0 -208 40t-164.5 121t-109.5 206t-40 295z" />
51
+ <glyph unicode="D" d="M111 20v1229q129 31 256 31q123 0 228 -35t182 -112.5t121 -200.5t44 -297q0 -176 -44 -299t-121 -200t-182.5 -111.5t-227.5 -34.5q-127 -1 -256 30zM279 141q51 -6 104 -6q92 0 163.5 27.5t121 88t76 156t26.5 228.5q0 258 -99.5 379t-293.5 121q-27 0 -52.5 -1 t-45.5 -6v-987z" />
52
+ <glyph unicode="E" d="M186 0v1268h711v-144h-543v-389h475v-143h-475v-449h588v-143h-756z" />
53
+ <glyph unicode="F" d="M186 0v1268h719v-144h-551v-395h486v-141h-486v-588h-168z" />
54
+ <glyph unicode="G" d="M94 635q0 160 41 282.5t111.5 206.5t165 128t202.5 44q70 0 123.5 -10t91 -24.5t62.5 -29.5l37 -24l-56 -141q-47 37 -111.5 60.5t-135.5 23.5q-78 0 -144.5 -37t-114 -104.5t-74 -162.5t-26.5 -212q0 -115 23.5 -209t68.5 -161.5t112 -105.5t153 -38q59 0 92 8t49 16 v480h168v-594q-39 -14 -125 -36t-203 -22q-115 0 -209 44t-160.5 128t-103.5 208t-37 282z" />
55
+ <glyph unicode="H" d="M92 0v1268h168v-535h504v535h168v-1268h-168v590h-504v-590h-168z" />
56
+ <glyph unicode="I" d="M182 0v143h246v981h-246v144h660v-144h-246v-981h246v-143h-660z" />
57
+ <glyph unicode="J" d="M111 76l67 137q39 -29 103.5 -61.5t150.5 -32.5q131 0 195.5 69.5t64.5 235.5v700h-432v144h600v-860q0 -90 -19.5 -170t-67.5 -138.5t-129 -92.5t-204 -34t-206.5 35t-122.5 68z" />
58
+ <glyph unicode="K" d="M131 0v1268h168v-566q133 137 255 287t214 279h195q-100 -150 -220 -297.5t-260 -294.5q66 -55 139.5 -129t144.5 -161t133.5 -185.5t105.5 -200.5h-191q-51 94 -110.5 184t-126 168t-137 142.5t-142.5 111.5v-606h-168z" />
59
+ <glyph unicode="L" d="M186 0v1268h168v-1125h588v-143h-756z" />
60
+ <glyph unicode="M" d="M66 0q6 156 14 319.5t19.5 325.5t26.5 319.5t34 303.5h155l199 -631l197 631h157q41 -299 58.5 -612.5t31.5 -655.5h-163l-4.5 240t-5.5 266l-6 278q-3 141 -7 275l-184 -578h-148l-188 578q-2 -133 -5 -274l-6 -278l-7 -267q-3 -129 -5 -240h-163z" />
61
+ <glyph unicode="N" d="M113 0v1268h172l146 -269q62 -115 114.5 -222t101.5 -221l111 -263v975h153v-1268h-172l-131 308l-118 259l-111 229l-113 216v-1012h-153z" />
62
+ <glyph unicode="O" d="M59 635q0 170 33 295t92.5 206t142.5 120.5t185 39.5q100 0 184 -39.5t143.5 -120.5t93.5 -206t34 -295t-34 -295t-93.5 -207t-143.5 -121t-184 -39q-102 0 -185 39t-142.5 121t-92.5 207t-33 295zM231 635q0 -250 68 -383t209 -133q143 0 215 133t72 383t-72 383 t-215 133q-141 0 -209 -133t-68 -383z" />
63
+ <glyph unicode="P" d="M150 0v1249q37 8 80.5 14.5t87.5 10.5t86 5t77 1q113 0 198 -28.5t141.5 -81t84 -124t27.5 -159.5q0 -199 -117 -306.5t-350 -107.5h-148v-473h-167zM317 616h140q154 0 228.5 61.5t74.5 203.5q0 254 -266 254q-53 0 -102.5 -1t-74.5 -6v-512z" />
64
+ <glyph unicode="Q" d="M59 633q0 170 33 295t92.5 205.5t142.5 120.5t185 40q100 0 184 -40t143.5 -120.5t93.5 -205.5t34 -295q0 -152 -27 -267.5t-76 -197.5t-118.5 -129t-153.5 -62q6 -41 34.5 -70.5t72.5 -51t100.5 -36t118.5 -22.5l-39 -135q-84 14 -161 36.5t-138.5 59.5t-104.5 90.5 t-57 131.5q-166 35 -262.5 193.5t-96.5 459.5zM231 633q0 -250 68 -383t209 -133q143 0 215 133t72 383t-72 383t-215 133q-141 0 -209 -133t-68 -383z" />
65
+ <glyph unicode="R" d="M113 0v1249q31 8 70.5 14.5t81.5 9.5t83 5t74 2q229 0 345 -100.5t116 -298.5q0 -117 -61.5 -206t-166.5 -138l69 -112l77 -133l77 -146q38 -75 70 -146h-180q-61 147 -134 282.5t-140 219.5q-12 -2 -36 -2h-32h-143v-500h-170zM283 639h108q74 0 132.5 10t100.5 38 t64.5 76t22.5 126q0 74 -22.5 121t-59.5 74.5t-87 39t-106 11.5q-47 0 -91 -1t-62 -6v-489z" />
66
+ <glyph unicode="S" d="M113 61l51 140q41 -23 121 -52.5t194 -29.5q129 0 196.5 49t67.5 147q0 59 -24.5 101.5t-65.5 74t-92 55t-104 44.5q-61 25 -117.5 55.5t-100.5 71.5t-70 96t-26 131q0 166 104.5 259t291.5 93q51 0 101 -7t93 -17t77 -24.5t54 -28.5l-53 -142q-41 25 -112.5 49.5 t-159.5 24.5q-92 0 -160 -46t-68 -138q0 -53 19.5 -90t53.5 -65t79 -50.5t98 -44.5q78 -33 142.5 -66t110.5 -78t71.5 -106t25.5 -150q0 -166 -111.5 -255t-320.5 -89q-68 0 -127 9.5t-105 23.5t-81 28.5t-53 26.5z" />
67
+ <glyph unicode="T" d="M80 1124v144h864v-144h-348v-1124h-168v1124h-348z" />
68
+ <glyph unicode="U" d="M98 436v832h168v-813q0 -96 17.5 -161t49.5 -103.5t77 -55t102 -16.5t102 16.5t77 55t49.5 103t17.5 161.5v813h168v-832q0 -106 -22.5 -192t-72 -145.5t-128 -92.5t-191.5 -33t-191.5 33t-128 92.5t-72 145.5t-22.5 192z" />
69
+ <glyph unicode="V" d="M27 1268h182q25 -129 62.5 -281.5t79.5 -305.5t85 -292t80 -244l77 246q44 141 87 294t81 304.5t62 278.5h176q-16 -82 -53 -220.5t-88 -309.5l-114 -362q-62 -191 -130 -376h-208l-124 375l-112 361q-51 171 -88 310.5t-55 221.5z" />
70
+ <glyph unicode="W" d="M66 1268h163l23 -1059l184 577h148l188 -577l23 1059h163q-6 -172 -15 -344t-21.5 -335t-26.5 -312.5t-31 -276.5h-155l-199 631l-197 -631h-157q-18 125 -31.5 275.5t-25 314.5t-19.5 336t-14 342z" />
71
+ <glyph unicode="X" d="M51 0q68 152 158 329t192 341l-329 598h186l248 -486l266 486h182l-336 -592q98 -160 190.5 -332t164.5 -344h-187l-53 125l-65 143q-35 74 -75 147.5t-83 137.5q-72 -115 -143.5 -263.5l-133.5 -289.5h-182z" />
72
+ <glyph unicode="Y" d="M27 1268h188q59 -172 136 -329l165 -323q94 174 167 331t132 321h184q-78 -201 -178 -391.5t-223 -401.5v-475h-168v471q-125 205 -226 399.5t-177 397.5z" />
73
+ <glyph unicode="Z" d="M111 0v111q63 129 140 265l157 267l159 254l154 227h-580v144h774v-131q-66 -90 -146 -214l-165 -259l-163 -272q-79 -136 -138 -249h629v-143h-821z" />
74
+ <glyph unicode="[" d="M293 -338v1770h489v-134h-329v-1503h329v-133h-489z" />
75
+ <glyph unicode="\" d="M143 1432h170l568 -1770h-172z" />
76
+ <glyph unicode="]" d="M242 -205h329v1503h-329v134h489v-1770h-489v133z" />
77
+ <glyph unicode="^" d="M82 645l354 623h152l354 -623l-135 -70l-295 517l-295 -517z" />
78
+ <glyph unicode="_" d="M16 -195h992v-143h-992v143z" />
79
+ <glyph unicode="`" d="M334 1311l108 108l234 -282l-86 -76z" />
80
+ <glyph unicode="a" d="M119 283q0 82 35.5 138t92 91t129.5 50.5t146 15.5q100 0 197 -23v47q0 43 -9.5 83t-35 73t-69.5 52t-113 19q-88 0 -154 -12t-100 -24l-21 139q35 16 116 28.5t173 12.5q106 0 179 -26.5t118 -74t63.5 -115t18.5 -147.5v-594q-59 -10 -156.5 -24.5t-200.5 -14.5 q-78 0 -151.5 13.5t-131 47.5t-92 93.5t-34.5 151.5zM291 285q0 -92 62.5 -128t168.5 -36q63 0 113.5 4t83.5 10v283q-33 10 -79 16t-97 6q-47 0 -92 -7t-80 -25.5t-57.5 -48t-22.5 -74.5z" />
81
+ <glyph unicode="b" d="M145 27v1364l170 28v-504q31 18 89.5 38t130.5 20q96 0 171.5 -37t128 -102.5t80 -156.5t27.5 -202q0 -115 -32.5 -207t-92 -156.5t-143.5 -99.5t-187 -35q-113 0 -201 17t-141 33zM315 147q39 -10 78 -15t74 -5q141 0 221 87t80 261q0 74 -14.5 138.5t-45 110.5 t-78.5 72.5t-116 26.5q-59 0 -114.5 -23.5t-84.5 -49.5v-603z" />
82
+ <glyph unicode="c" d="M100 473q0 129 41 223.5t113 155.5t167 91t204 30q70 0 138 -9.5t146 -33.5l-39 -146q-68 25 -124 32t-113 7q-74 0 -139.5 -19.5t-113.5 -61.5t-77 -108.5t-29 -160.5q0 -90 27 -154.5t75 -106.5t115.5 -62.5t149.5 -20.5q66 0 126 7t132 32l25 -141 q-72 -27 -145.5 -38.5t-160.5 -11.5q-115 0 -210 32t-163.5 93.5t-106.5 154.5t-38 216z" />
83
+ <glyph unicode="d" d="M82 475q0 111 27.5 202t81 156.5t128 102.5t170.5 37q76 0 133.5 -18.5t86.5 -39.5v476l170 28v-1392q-55 -16 -141.5 -33t-200.5 -17q-102 0 -186.5 35t-144 99.5t-92 156.5t-32.5 207zM256 475q0 -166 78 -256t203 -90q63 0 107 6t65 12v603q-29 27 -84.5 50t-114.5 23 q-68 0 -116 -26.5t-78.5 -72.5t-45 -110.5t-14.5 -138.5z" />
84
+ <glyph unicode="e" d="M82 473q0 127 39 221t102.5 155.5t143 92.5t163.5 31q193 0 297.5 -120t104.5 -364v-59h-680q10 -147 97 -224t245 -77q90 0 153.5 14.5t96.5 30.5l22 -143q-31 -16 -110.5 -35t-180.5 -19q-123 0 -216 38t-154.5 103.5t-92 157t-30.5 197.5zM256 567h504 q0 121 -63.5 191.5t-168.5 70.5q-59 0 -107 -22.5t-83 -59t-55.5 -84t-26.5 -96.5z" />
85
+ <glyph unicode="f" d="M129 809v141h201v86q0 111 30.5 183.5t81 117.5t117 63.5t140 18.5t148.5 -16.5t140 -38.5l-31 -145q-45 23 -112.5 39t-136.5 16q-43 0 -81 -11.5t-67 -39t-45 -73.5t-16 -116v-84h383v-141h-383v-809h-168v809h-201z" />
86
+ <glyph unicode="g" d="M82 496q0 104 29.5 191t86 150.5t138.5 99.5t186 36q123 0 210 -17.5t147 -33.5v-848q0 -221 -112 -319.5t-337 -98.5q-92 0 -167 14.5t-132 34.5l31 150q53 -23 121.5 -37.5t150.5 -14.5q147 0 211 59.5t64 192.5v33q-29 -16 -88.5 -34.5t-137.5 -18.5 q-84 0 -156.5 27.5t-127 84t-86 143.5t-31.5 206zM256 494q0 -82 19.5 -140.5t53 -96.5t77 -55.5t92.5 -17.5q63 0 119.5 18.5t91.5 43.5v555q-25 8 -68 15t-117 7q-131 0 -199.5 -89.5t-68.5 -239.5z" />
87
+ <glyph unicode="h" d="M145 1391l170 28v-483q41 16 92.5 25.5t100.5 9.5q109 0 181.5 -32t115.5 -89t61.5 -137t18.5 -176v-537h-168v500q0 176 -49.5 248.5t-175.5 72.5q-53 0 -103.5 -11t-73.5 -22v-788h-170v1391z" />
88
+ <glyph unicode="i" d="M111 809v141h442v-583q0 -141 39 -189.5t117 -48.5q59 0 109 14.5t79 30.5l25 -143q-12 -6 -35 -15.5t-52.5 -17.5t-65.5 -14.5t-75 -6.5q-90 0 -149.5 25t-95 74t-50 121.5t-14.5 169.5v442h-274zM297 1234.5q0 63.5 39 100.5t92 37q55 0 93 -37t38 -100.5t-38 -100 t-93 -36.5q-53 0 -92 36.5t-39 100z" />
89
+ <glyph unicode="j" d="M145 -281l52 144q51 -25 113.5 -42.5t119.5 -17.5q82 0 135 42t53 163v801h-385v141h553v-940q0 -98 -27.5 -166.5t-73.5 -111.5t-106.5 -61.5t-127.5 -18.5q-78 0 -157 16t-149 51zM500 1234.5q0 63.5 39 100.5t92 37q55 0 93 -37t38 -100.5t-38 -100t-93 -36.5 q-53 0 -92 36.5t-39 100z" />
90
+ <glyph unicode="k" d="M145 0v1391l170 28v-866l226 196q113 97 202 201h199q-88 -104 -212 -215l-243 -213q55 -41 125 -103.5t138.5 -134t130 -146.5t98.5 -138h-201q-39 63 -96 130t-121.5 128t-129 112.5t-116.5 86.5v-457h-170z" />
91
+ <glyph unicode="l" d="M111 1266v143h442v-1042q0 -72 9 -117t28.5 -72.5t48.5 -38t68 -10.5q59 0 110 14.5t80 30.5l25 -143q-12 -6 -35 -15.5t-53.5 -17.5t-66.5 -14.5t-75 -6.5q-90 0 -149.5 25t-94 74t-49 121.5t-14.5 169.5v899h-274z" />
92
+ <glyph unicode="m" d="M84 0v924q123 47 231 47q59 0 111.5 -17.5t89.5 -54.5q88 72 189 72q49 0 93 -18.5t77.5 -55.5t54 -92t20.5 -129v-676h-153v680q0 74 -33 112.5t-82 38.5q-25 0 -51.5 -12t-48.5 -39q12 -47 12 -104v-309h-154v311q0 72 -22.5 112.5t-87.5 40.5q-41 0 -92 -18v-813h-154 z" />
93
+ <glyph unicode="n" d="M145 0v924q92 23 183.5 35t171.5 12q190 0 287.5 -98.5t97.5 -315.5v-557h-168v526q0 92 -16.5 149.5t-46 89.5t-71.5 44t-91 12q-41 0 -87.5 -5t-89.5 -13v-803h-170z" />
94
+ <glyph unicode="o" d="M82 475q0 113 31.5 205t89 156.5t136.5 100.5t171 36q94 0 174 -36t137.5 -100.5t89 -156.5t31.5 -205t-31.5 -204t-89 -156.5t-137.5 -101.5t-174 -36q-92 0 -171 36t-136.5 101.5t-89 156.5t-31.5 204zM256 475q0 -160 68.5 -253t185.5 -93q119 0 188.5 93t69.5 253 q0 162 -69.5 255t-188.5 93q-117 0 -185.5 -93t-68.5 -255z" />
95
+ <glyph unicode="p" d="M145 -338v1260q55 16 142.5 32.5t199.5 16.5q102 0 186.5 -35t144 -99.5t92 -156.5t32.5 -207q0 -109 -27.5 -200t-80 -156.5t-128 -102.5t-171.5 -37q-76 0 -133.5 18.5t-86.5 41.5v-375h-170zM315 201q29 -27 84.5 -49.5t114.5 -22.5q68 0 116 26.5t78.5 72.5t45 108.5 t14.5 136.5q0 166 -78 257t-203 91q-70 0 -109.5 -6t-62.5 -14v-600z" />
96
+ <glyph unicode="q" d="M82 473q0 115 32.5 207t92 156.5t144.5 99.5t188 35q111 0 195.5 -17.5t144.5 -33.5v-1258h-170v375q-31 -20 -88.5 -40t-128.5 -20q-96 0 -172 37t-128.5 102.5t-81 156.5t-28.5 200zM256 473q0 -74 15.5 -136.5t46 -108.5t78.5 -72.5t116 -26.5q59 0 114.5 22.5 t84.5 49.5v600q-23 8 -63 14t-109 6q-125 0 -204 -91t-79 -257z" />
97
+ <glyph unicode="r" d="M219 0v899q209 72 422 72q66 0 125 -5t131 -22l-31 -149q-66 18 -116 23t-109 5q-125 0 -254 -35v-788h-168z" />
98
+ <glyph unicode="s" d="M135 43l33 154q72 -33 150.5 -54.5t168.5 -21.5q231 0 232 117q0 51 -42 83.5t-104.5 57t-136.5 48.5t-136 58.5t-104 86t-42 133.5q0 115 93 191.5t292 76.5q78 0 160.5 -11.5t142.5 -29.5l-31 -152q-16 8 -45 17.5t-65.5 16.5t-78.5 11t-81 4q-221 0 -222 -120 q0 -43 42 -73t105.5 -54.5t137.5 -50t137.5 -62.5t105.5 -89t42 -132q0 -129 -100.5 -200t-317.5 -71q-98 0 -180 16.5t-156 49.5z" />
99
+ <glyph unicode="t" d="M129 809v141h201v267l168 28v-295h401v-141h-401v-442q0 -72 10 -117t33.5 -72.5t60.5 -38t90 -10.5q74 0 119 12.5t86 32.5l25 -143q-29 -12 -91.5 -33t-154.5 -21q-106 0 -174 25t-106 74t-52 121.5t-14 169.5v442h-201z" />
100
+ <glyph unicode="u" d="M139 416v534h168v-497q0 -176 52.5 -250t175.5 -74q27 0 54 2t52 5t43 6t25 5v803h170v-923q-55 -14 -146.5 -30.5t-214.5 -16.5q-109 0 -180.5 31.5t-116.5 90t-63.5 138.5t-18.5 176z" />
101
+ <glyph unicode="v" d="M61 950h185q25 -90 56 -190l67 -201l70.5 -193.5t70.5 -166.5q35 74 73 167t74 193l71 201q34 100 58 190h177q-37 -133 -84 -261l-97 -250q-49 -122 -100 -232l-98 -207h-154q-96 193 -194.5 438.5t-174.5 511.5z" />
102
+ <glyph unicode="w" d="M39 950h160q6 -80 13 -156.5t17.5 -160.5l23.5 -182l30 -222q33 82 55 143.5l41 116.5l36 113l38 129h127l36 -129q16 -57 35 -113l39 -116q20 -61 51 -142l32.5 209.5t25 181.5t18.5 164.5t14 163.5h154q-10 -102 -24.5 -219t-35 -239.5t-45 -248.5t-51.5 -243h-127 q-31 70 -53 127l-44 115l-43 119l-50 143l-51 -143l-44 -119l-45 -115l-55 -127h-127q-57 252 -95 498.5t-56 451.5z" />
103
+ <glyph unicode="x" d="M59 0q68 123 165 253l192 247l-342 450h190l256 -332l236 332h180l-313 -440l185 -252q93 -131 159 -258h-189q-20 41 -50 90l-64.5 101.5t-72.5 103.5l-75 96l-78 -98q-41 -51 -79 -104l-70 -101q-33 -49 -56 -88h-174z" />
104
+ <glyph unicode="y" d="M74 -315l30 137q18 -10 52 -16.5t63 -6.5q100 0 156.5 44t103.5 145q-115 217 -215 465.5t-166 496.5h185q20 -82 47.5 -177t62.5 -195.5t75 -202t85 -193.5q33 94 61.5 186.5t53.5 185.5l49 190l51 206h176q-66 -266 -146.5 -516t-172.5 -463q-35 -82 -75 -141t-87 -98 t-106.5 -57.5t-135.5 -18.5q-39 0 -85 10.5t-62 18.5z" />
105
+ <glyph unicode="z" d="M150 0v113q43 82 107.5 179l133.5 192l136 182q67 86 116 143h-467v141h684v-127l-100 -120l-136 -169q-73 -93 -144.5 -195.5t-127.5 -195.5h522v-143h-724z" />
106
+ <glyph unicode="{" d="M162 481v131h82q35 0 61.5 15.5t44 41t26.5 57.5t9 65v329q0 76 15.5 133.5t52 97.5t99 60.5t157.5 20.5h165v-134h-174q-86 0 -121.5 -38.5t-35.5 -141.5v-282q0 -137 -41 -202t-94 -87q53 -25 94 -92.5t41 -196.5v-283q0 -102 36.5 -141t122.5 -39h172v-133h-165 q-94 0 -157 20.5t-99.5 60.5t-52 97.5t-15.5 132.5v330q0 31 -9 62.5t-26.5 57.5t-43 42t-60.5 16h-84z" />
107
+ <glyph unicode="|" d="M434 -338v1770h158v-1770h-158z" />
108
+ <glyph unicode="}" d="M150 -205h174q86 0 121.5 39t35.5 141v283q0 137 41 201.5t94 87.5q-53 25 -94 92.5t-41 196.5v282q0 102 -36.5 141t-122.5 39h-172v134h165q94 0 157 -20.5t100.5 -60.5t53 -97.5t15.5 -133.5v-329q0 -31 8 -63t25.5 -57.5t43 -42t60.5 -16.5h84v-131h-82 q-35 0 -60.5 -15t-43 -41t-26.5 -57.5t-9 -64.5v-330q0 -76 -15.5 -133t-53 -97t-100 -60.5t-157.5 -20.5h-165v133z" />
109
+ <glyph unicode="~" d="M76 434q6 35 22.5 80t45 84t72.5 65.5t110 26.5q55 0 101 -21.5t89 -47.5l95 -58q46 -29 98 -28q29 0 49 13t33.5 33.5t23.5 46t16 48.5l117 -33q-6 -35 -21.5 -80t-45 -84t-74.5 -65.5t-109 -26.5q-55 0 -101 21.5t-89 48.5l-94 57q-45 29 -99 29q-29 0 -49 -13.5 t-33.5 -34t-23.5 -46t-16 -48.5z" />
110
+ <glyph unicode="&#xa0;" />
111
+ <glyph unicode="&#xa2;" d="M100 532q0 109 31 192t86 142.5t132 94t167 47.5v260h152v-254q55 -4 110.5 -13.5t118.5 -29.5l-37 -142q-68 25 -123 32t-112 7q-74 0 -138.5 -19.5t-111.5 -59t-74 -104t-27 -153.5q0 -170 101.5 -250.5t265.5 -80.5q66 0 125 8t131 33l25 -140q-61 -23 -123 -33 t-131 -14v-254h-152v258q-188 27 -302 145.5t-114 327.5z" />
112
+ <glyph unicode="&#xa3;" d="M92 545v137h170v152q0 135 28.5 224t80 140t124 71.5t162.5 20.5q80 0 134.5 -13t105.5 -36l-41 -145q-92 45 -207 45q-49 0 -89 -14.5t-69.5 -49.5t-45 -93t-15.5 -146v-156h348v-137h-348v-15q0 -92 -7 -192t-22 -193h531v-145h-721q20 131 35.5 259t15.5 259v27h-170z " />
113
+ <glyph unicode="&#xa5;" d="M27 1268h186q66 -143 143.5 -285.5t161.5 -273.5q80 131 155 273t140 286h186l-170 -311q-88 -157 -188 -316h252v-131h-295v-186h295v-129h-295v-195h-168v195h-297v129h297v186h-297v131h250q-100 160 -189 318z" />
114
+ <glyph unicode="&#xa9;" d="M70 473q0 125 38.5 219t101 156.5t142.5 93.5t162 31t162 -31t141.5 -93.5t99 -155.5t37.5 -216q0 -125 -38.5 -218t-101 -155.5t-142.5 -94.5t-162 -32q-84 0 -163 32t-140.5 93.5t-99 154.5t-37.5 216zM188 477q0 -98 28 -171t74 -121t103.5 -72.5t118.5 -24.5 t119.5 24.5t103.5 72.5t73 120t28 168q0 98 -28 171t-74 121t-103.5 72.5t-118.5 24.5t-118.5 -24.5t-103.5 -72.5t-74 -121t-28 -167zM291 469q0 49 14 96t43 84t73 59.5t105 22.5q33 0 69 -5t71 -21l-41 -111q-23 10 -45.5 13t-40.5 3q-66 0 -93.5 -41t-27.5 -92 q0 -66 33.5 -103.5t95.5 -37.5q18 0 41.5 4t46.5 14l35 -108q-35 -16 -73 -24.5t-73 -8.5q-59 0 -103 21.5t-73 57.5t-43 82t-14 95z" />
115
+ <glyph unicode="&#xad;" d="M287 440v160h450v-160h-450z" />
116
+ <glyph unicode="&#xae;" d="M70 473q0 125 38.5 219t101 156.5t142.5 93.5t162 31t162 -31t141.5 -93.5t99 -155.5t37.5 -216q0 -125 -38.5 -218t-101 -155.5t-142.5 -94.5t-162 -32q-84 0 -163 32t-140.5 93.5t-99 154.5t-37.5 216zM188 477q0 -98 28 -171t74 -121t103.5 -72.5t118.5 -24.5 t119.5 24.5t103.5 72.5t73 120t28 168q0 98 -28 171t-74 121t-103.5 72.5t-118.5 24.5t-118.5 -24.5t-103.5 -72.5t-74 -121t-28 -167zM340 225v488q29 8 63.5 13t73.5 5q117 0 173.5 -45t56.5 -131q0 -98 -82 -145q25 -35 51 -83l53 -102h-117l-47 87q-20 38 -41 71h-73 v-158h-111zM451 485h36q55 0 82 14.5t27 61.5q0 41 -33 54.5t-67 13.5q-12 0 -23.5 -1t-21.5 -3v-140z" />
117
+ <glyph unicode="&#xb4;" d="M348 1137l234 282l110 -108l-258 -250z" />
118
+ <glyph unicode="&#x2000;" horiz-adv-x="727" />
119
+ <glyph unicode="&#x2001;" horiz-adv-x="1454" />
120
+ <glyph unicode="&#x2002;" horiz-adv-x="727" />
121
+ <glyph unicode="&#x2003;" horiz-adv-x="1454" />
122
+ <glyph unicode="&#x2004;" horiz-adv-x="483" />
123
+ <glyph unicode="&#x2005;" horiz-adv-x="362" />
124
+ <glyph unicode="&#x2006;" horiz-adv-x="241" />
125
+ <glyph unicode="&#x2007;" horiz-adv-x="241" />
126
+ <glyph unicode="&#x2008;" horiz-adv-x="180" />
127
+ <glyph unicode="&#x2009;" horiz-adv-x="290" />
128
+ <glyph unicode="&#x200a;" horiz-adv-x="79" />
129
+ <glyph unicode="&#x2010;" d="M287 440v160h450v-160h-450z" />
130
+ <glyph unicode="&#x2011;" d="M287 440v160h450v-160h-450z" />
131
+ <glyph unicode="&#x2012;" d="M287 440v160h450v-160h-450z" />
132
+ <glyph unicode="&#x2013;" d="M141 483v144h742v-144h-742z" />
133
+ <glyph unicode="&#x2014;" d="M0 483v144h1024v-144h-1024z" />
134
+ <glyph unicode="&#x2018;" d="M305 1061q0 59 23.5 123.5t70.5 121t120 96.5t169 52l31 -133l-73 -16q-36 -8 -66.5 -23.5t-55 -40t-39.5 -63.5q66 -6 95.5 -50.5t29.5 -87.5q0 -82 -47 -124t-104 -42q-76 0 -115 54.5t-39 132.5z" />
135
+ <glyph unicode="&#x2019;" d="M303 1001l73 17q36 8 66.5 23.5t55 39t39.5 64.5q-66 6 -95.5 50t-29.5 87q0 82 47 124t104 42q76 0 115 -54.5t39 -131.5q0 -59 -23.5 -124t-72 -121t-120 -96t-167.5 -53z" />
136
+ <glyph unicode="&#x201c;" d="M88 1071q0 57 17.5 114.5t57.5 104.5t106.5 82t166.5 47l29 -119l-68 -15q-33 -7 -61.5 -21.5t-51 -36t-34.5 -58.5q59 -6 89 -46t30 -89q0 -51 -33 -93t-103 -42q-59 0 -102 41t-43 131zM561 1071q0 57 17.5 114.5t57.5 104.5t106.5 82t166.5 47l29 -119l-68 -15 q-33 -7 -60.5 -21.5t-50 -36t-34.5 -58.5q59 -6 89 -46t30 -89q0 -51 -34 -93t-101 -42q-59 0 -103.5 41t-44.5 131z" />
137
+ <glyph unicode="&#x201d;" d="M86 1018l68 15q33 7 60.5 21.5t50 37t34.5 59.5q-59 4 -89 45t-30 88q0 51 34 93t101 42q59 0 103.5 -41t44.5 -131q0 -59 -17.5 -115.5t-57.5 -103.5t-106.5 -82t-166.5 -47zM559 1018l68 15q33 7 61.5 21.5t51 37t34.5 59.5q-59 4 -89 45t-30 88q0 51 33 93t103 42 q59 0 102 -41t43 -131q0 -59 -17.5 -115.5t-57.5 -103.5t-106.5 -82t-164.5 -47z" />
138
+ <glyph unicode="&#x2022;" d="M233 647q0 57 19.5 110.5t55.5 94.5t87 64.5t117 23.5q63 0 115.5 -23.5t88.5 -64.5t55.5 -94t19.5 -111q0 -59 -19.5 -112.5t-55.5 -93.5t-88.5 -63.5t-115.5 -23.5q-66 0 -117 23.5t-87 63.5t-55.5 93.5t-19.5 112.5z" />
139
+ <glyph unicode="&#x2026;" d="M63 86q0 45 30 78t79 33t79 -33t30 -78t-30 -78t-79 -33t-79 33t-30 78zM408 86q0 45 28.5 78t77.5 33t78 -33t29 -78t-29 -78t-78 -33t-77.5 33t-28.5 78zM748 86q0 45 28.5 78t77.5 33t78 -33t29 -78t-29 -78t-78 -33t-77.5 33t-28.5 78z" />
140
+ <glyph unicode="&#x202f;" horiz-adv-x="290" />
141
+ <glyph unicode="&#x205f;" horiz-adv-x="362" />
142
+ <glyph unicode="&#x20ac;" d="M74 416v131h125q-2 20 -2 43v45v50q0 24 2 46h-125v131h143q37 217 154.5 322.5t312.5 105.5q82 0 134 -10t102 -29l-33 -143q-43 16 -95.5 26.5t-107.5 10.5q-139 0 -204.5 -77t-86.5 -206h408l-25 -131h-401q-2 -23 -2 -46v-50v-45q0 -23 2 -43h366l-24 -131h-328 q27 -164 101.5 -227.5t197.5 -63.5q78 0 133.5 13.5t98.5 35.5l36 -145q-31 -16 -107.5 -35t-170.5 -19q-213 0 -324.5 117t-140.5 324h-139z" />
143
+ <glyph unicode="&#x2122;" d="M37 1165v103h381v-103h-131v-434h-119v434h-131zM457 731q6 102 12 178t13 137.5t14.5 113.5t17.5 108h111l90 -279l96 279h111q10 -55 17 -108.5t13 -115t11.5 -137.5t11.5 -176h-119q0 8 -1 53t-2 103.5t-3 120t-4 102.5l-86 -238h-92l-80 238q-4 -41 -6 -102.5 t-3 -120t-2.5 -103.5t-1.5 -53h-118z" />
144
+ <glyph unicode="&#xe000;" horiz-adv-x="950" d="M0 950h950v-950h-950v950z" />
145
+ </font>
146
+ </defs></svg>
fonts/ubuntu-mono/ubuntu-mono-webfont.ttf ADDED
Binary file
fonts/ubuntu-mono/ubuntu-mono-webfont.woff ADDED
Binary file
global.php CHANGED
@@ -71,15 +71,17 @@ define('CRAYON_JS', CRAYON_JS_DIR . 'crayon.js');
71
  define('CRAYON_JS_ADMIN', CRAYON_JS_DIR . 'crayon_admin.js');
72
  define('CRAYON_JS_UTIL', CRAYON_JS_DIR . 'util.js');
73
  define('CRAYON_CSSJSON_JS', CRAYON_JS_DIR . 'cssjson.js');
 
 
74
  // TODO rename TE
75
  define('CRAYON_TE_JS', 'crayon_te.js');
76
  define('CRAYON_TE_PHP', CRAYON_TAG_EDITOR_PATH . 'crayon_tag_editor_wp.class.php');
77
  // TODO Fix these
78
- define('CRAYON_TE_CONTENT_PHP', 'crayon_te_content.php');
79
  define('CRAYON_TINYMCE_JS', 'crayon_tinymce.js');
80
  define('CRAYON_QUICKTAGS_JS', 'crayon_qt.js');
81
- define('CRAYON_STYLE', CRAYON_CSS_DIR . 'style.css');
82
  define('CRAYON_STYLE_ADMIN', CRAYON_CSS_DIR . 'admin_style.css');
 
83
  define('CRAYON_LOGO', CRAYON_CSS_DIR . 'images/crayon_logo.png');
84
  define('CRAYON_DONATE_BUTTON', CRAYON_CSS_DIR . 'images/donate.png');
85
  define('CRAYON_THEME_EDITOR_PHP', CRAYON_THEME_EDITOR_PATH . 'theme_editor.php');
@@ -101,9 +103,6 @@ define('CRAYON_UTIL_PHP', CRAYON_UTIL_DIR . 'crayon_util.class.php');
101
  define('CRAYON_EXCEPTIONS_PHP', CRAYON_UTIL_DIR . 'exceptions.php');
102
  define('CRAYON_TIMER_PHP', CRAYON_UTIL_DIR . 'crayon_timer.class.php');
103
  define('CRAYON_LOG_PHP', CRAYON_UTIL_DIR . 'crayon_log.class.php');
104
- define('CRAYON_LIST_LANGS_PHP', CRAYON_UTIL_DIR . 'list_langs.php');
105
- define('CRAYON_PREVIEW_PHP', CRAYON_UTIL_DIR . 'preview.php');
106
- define('CRAYON_AJAX_PHP', CRAYON_UTIL_DIR . 'ajax.php');
107
 
108
  // Script time
109
 
@@ -122,12 +121,12 @@ define('CRAYON_LINE', "---------------------------------------------------------
122
  // Load utilities
123
 
124
  require_once (CRAYON_UTIL_PHP);
125
- require_once (CRAYON_EXCEPTIONS_PHP);
126
  require_once (CRAYON_TIMER_PHP);
127
  require_once (CRAYON_LOG_PHP);
128
 
129
  // Turn on the error & exception handlers
130
- crayon_handler_on();
131
 
132
  // GLOBAL FUNCTIONS
133
 
@@ -184,11 +183,29 @@ function crayon_vargs(&$var, $default) {
184
  $var = isset($var) ? $var: $default;
185
  }
186
 
187
- // LANGUAGE TRANSLATION FUNCTIONS
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
188
 
189
- function crayon_load_plugin_textdomain() {
190
  if (function_exists('load_plugin_textdomain')) {
191
- load_plugin_textdomain(CRAYON_DOMAIN, false, CRAYON_DIR.CRAYON_TRANS_DIR);
192
  }
193
  }
194
 
71
  define('CRAYON_JS_ADMIN', CRAYON_JS_DIR . 'crayon_admin.js');
72
  define('CRAYON_JS_UTIL', CRAYON_JS_DIR . 'util.js');
73
  define('CRAYON_CSSJSON_JS', CRAYON_JS_DIR . 'cssjson.js');
74
+ define('CRAYON_JS_FANCYBOX', CRAYON_JS_DIR . 'fancybox/jquery.fancybox.pack.js');
75
+ define('CRAYON_CSS_FANCYBOX', CRAYON_JS_DIR . 'fancybox/jquery.fancybox.css');
76
  // TODO rename TE
77
  define('CRAYON_TE_JS', 'crayon_te.js');
78
  define('CRAYON_TE_PHP', CRAYON_TAG_EDITOR_PATH . 'crayon_tag_editor_wp.class.php');
79
  // TODO Fix these
 
80
  define('CRAYON_TINYMCE_JS', 'crayon_tinymce.js');
81
  define('CRAYON_QUICKTAGS_JS', 'crayon_qt.js');
82
+ define('CRAYON_STYLE', CRAYON_CSS_DIR . 'crayon_style.css');
83
  define('CRAYON_STYLE_ADMIN', CRAYON_CSS_DIR . 'admin_style.css');
84
+ define('CRAYON_STYLE_GLOBAL', CRAYON_CSS_DIR . 'global_style.css');
85
  define('CRAYON_LOGO', CRAYON_CSS_DIR . 'images/crayon_logo.png');
86
  define('CRAYON_DONATE_BUTTON', CRAYON_CSS_DIR . 'images/donate.png');
87
  define('CRAYON_THEME_EDITOR_PHP', CRAYON_THEME_EDITOR_PATH . 'theme_editor.php');
103
  define('CRAYON_EXCEPTIONS_PHP', CRAYON_UTIL_DIR . 'exceptions.php');
104
  define('CRAYON_TIMER_PHP', CRAYON_UTIL_DIR . 'crayon_timer.class.php');
105
  define('CRAYON_LOG_PHP', CRAYON_UTIL_DIR . 'crayon_log.class.php');
 
 
 
106
 
107
  // Script time
108
 
121
  // Load utilities
122
 
123
  require_once (CRAYON_UTIL_PHP);
124
+ //require_once (CRAYON_EXCEPTIONS_PHP);
125
  require_once (CRAYON_TIMER_PHP);
126
  require_once (CRAYON_LOG_PHP);
127
 
128
  // Turn on the error & exception handlers
129
+ //crayon_handler_on();
130
 
131
  // GLOBAL FUNCTIONS
132
 
183
  $var = isset($var) ? $var: $default;
184
  }
185
 
186
+ // Checks if the input is a valid PHP file and matches the $valid filename
187
+ function crayon_is_php_file($filepath, $valid) {
188
+ $path = pathinfo(crayon_pf($filepath));
189
+ return is_file($filepath) && $path['extension'] === 'php' && $path['filename'] === $valid;
190
+ }
191
+
192
+ // Stops the script if crayon_is_php_file() returns false or a remote path is given
193
+ function crayon_die_if_not_php($filepath, $valid) {
194
+ if (!crayon_is_php_file($filepath, $valid) || crayon_is_path_url($filepath)) {
195
+ die("[ERROR] '$filepath' is not a valid PHP file for '$valid'");
196
+ }
197
+ }
198
+
199
+ function crayon_is_path_url($path) {
200
+ $parts = parse_url($path);
201
+ return isset($parts['scheme']) && strlen($parts['scheme']) > 1;
202
+ }
203
+
204
+ // LANGUAGE TRANSLATION FUNCTIONS
205
 
206
+ function crayon_load_plugin_textdomain() {
207
  if (function_exists('load_plugin_textdomain')) {
208
+ load_plugin_textdomain(CRAYON_DOMAIN, false, CRAYON_DIR.CRAYON_TRANS_DIR);
209
  }
210
  }
211
 
js/crayon.js CHANGED
@@ -7,8 +7,8 @@
7
  $.fn.exists = function () {
8
  return this.length !== 0;
9
  };
10
-
11
- // This makes IE < 9 doesn't support CSSStyleDeclaration, can't use this
12
  CrayonSyntaxUnused = function () {
13
  // For those who need them (< IE 9), add support for CSS functions
14
  var isStyleFuncSupported = null;
@@ -35,47 +35,47 @@
35
  return rule.test(this.cssText) ? 'important' : '';
36
  };
37
  }
38
- }
39
  };
40
 
41
  // Escape regex chars with \
42
  RegExp.escape = function(text) {
43
  return text.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&");
44
- };
45
-
46
-
47
- var hasCSSStyleDeclaration = typeof(CSSStyleDeclaration) != 'undefined';
48
- $.fn.style = function(styleName, value, priority) {
49
- // DOM node
50
- var node = this.get(0);
51
- // Ensure we have a DOM node
52
- if (typeof node == 'undefined') {
53
- return;
54
- }
55
- // CSSStyleDeclaration
56
- var style = node.style;
57
- // Getter/Setter
58
- if (typeof styleName != 'undefined') {
59
- if (typeof value != 'undefined') {
60
- // Set style property
61
- var priority = typeof priority != 'undefined' ? priority : '';
62
- if (typeof style.setProperty != 'undefined') {
63
- style.setProperty(styleName, value, priority);
64
- } else {
65
- style.styleName = value + ' ' + priority;
66
- }
67
- } else {
68
- // Get style property
69
- if (hasCSSStyleDeclaration) {
70
- return style.getPropertyValue(styleName);
71
- } else {
72
- return style.styleName;
73
- }
74
- }
75
- } else {
76
- // Get CSSStyleDeclaration
77
- return style;
78
- }
79
  };
80
 
81
  // END AUXILIARY FUNCTIONS
@@ -89,10 +89,15 @@
89
  var CRAYON_PLAIN = '.crayon-plain';
90
  var CRAYON_MAIN = '.crayon-main';
91
  var CRAYON_TABLE = '.crayon-table';
 
92
  var CRAYON_CODE = '.crayon-code';
93
  var CRAYON_NUMS = '.crayon-nums';
 
 
 
94
  var CRAYON_NUMS_CONTENT = '.crayon-nums-content';
95
  var CRAYON_NUMS_BUTTON = '.crayon-nums-button';
 
96
  var CRAYON_POPUP_BUTTON = '.crayon-popup-button';
97
  var CRAYON_COPY_BUTTON = '.crayon-copy-button';
98
  var CRAYON_PLAIN_BUTTON = '.crayon-plain-button';
@@ -143,6 +148,7 @@
143
  var nums = c.find(CRAYON_NUMS);
144
  var nums_content = c.find(CRAYON_NUMS_CONTENT);
145
  var nums_button = c.find(CRAYON_NUMS_BUTTON);
 
146
  var popup_button = c.find(CRAYON_POPUP_BUTTON);
147
  var copy_button = c.find(CRAYON_COPY_BUTTON);
148
  var plain_button = c.find(CRAYON_PLAIN_BUTTON);
@@ -157,10 +163,12 @@
157
  crayon[uid].nums = nums;
158
  crayon[uid].nums_content = nums_content;
159
  crayon[uid].nums_button = nums_button;
 
160
  crayon[uid].popup_button = popup_button;
161
  crayon[uid].copy_button = copy_button;
162
  crayon[uid].plain_button = plain_button;
163
  crayon[uid].nums_visible = true;
 
164
  crayon[uid].plain_visible = false;
165
 
166
  crayon[uid].toolbar_delay = 0;
@@ -185,6 +193,7 @@
185
 
186
  // Register click events
187
  nums_button.click(function() { CrayonSyntax.toggle_nums(uid); });
 
188
  plain_button.click(function() { CrayonSyntax.toggle_plain(uid); });
189
  copy_button.click(function() { CrayonSyntax.copy_plain(uid); });
190
 
@@ -193,8 +202,6 @@
193
  crayon[uid].scroll_block_fix = true;
194
  }
195
 
196
- // reconsile_dimensions(uid);
197
-
198
  // If nums hidden by default
199
  if (nums.filter('[data-settings~="hide"]').length != 0) {
200
  nums_content.ready(function() {
@@ -204,28 +211,31 @@
204
  } else {
205
  update_nums_button(uid);
206
  }
207
-
208
  // TODO If width has changed or timeout, stop timer
209
  if (/*last_num_width != nums.width() ||*/ i == 5) {
210
  clearInterval(load_timer);
 
211
  crayon[uid].loading = false;
212
  }
213
  i++;
214
  };
215
- // main.ready(function() {
216
- // alert();
217
- load_timer = setInterval(load_func, 300);
218
- fix_scroll_blank(uid);
219
- // });
220
-
 
 
 
 
 
 
221
  // Used for toggling
222
  main.css('position', 'relative');
223
  main.css('z-index', 1);
224
 
225
- // Update clickable buttons
226
- update_nums_button(uid);
227
- update_plain_button(uid);
228
-
229
  // Disable certain features for touchscreen devices
230
  touchscreen = (c.filter('[data-settings~="touchscreen"]').length != 0);
231
 
@@ -315,8 +325,18 @@
315
  crayon[uid].time = 0;
316
  }
317
 
 
 
 
 
 
318
  // Determine if Mac
319
  crayon[uid].mac = c.hasClass('crayon-os-mac');
 
 
 
 
 
320
  };
321
 
322
  var make_uid = function(uid) {
@@ -339,13 +359,39 @@
339
  if (typeof crayon[uid] == 'undefined') {
340
  return make_uid(uid);
341
  }
342
- var code = crayon[uid].plain_visible ? crayon[uid].plain : crayon[uid].main;
343
  var settings = crayon[uid].popup_settings;
344
- settings.data = get_all_css() + '<body style="padding:0; margin:0;"><div class="' + crayon[uid].attr('class') +
345
- ' crayon-popup">' + remove_css_inline(get_jquery_str(code)) + '</div></body>';
346
- if (typeof settings == 'undefined') {
347
  return;
348
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
349
  };
350
 
351
  var get_jquery_str = function(object) {
@@ -353,7 +399,18 @@
353
  };
354
 
355
  var remove_css_inline = function(string) {
356
- return string.replace(/style\s*=\s*["'][^"]+["']/gmi, '');
 
 
 
 
 
 
 
 
 
 
 
357
  };
358
 
359
  // Get all CSS on the page as a string
@@ -472,7 +529,7 @@
472
 
473
  if ( (main.is(':animated') || plain.is(':animated')) && typeof hover == 'undefined' ) {
474
  return;
475
- }
476
 
477
  reconsile_dimensions(uid);
478
 
@@ -507,8 +564,8 @@
507
  crayon[uid].scroll_changed = false;
508
 
509
  // Hide scrollbars during toggle to avoid Chrome weird draw error
510
- // visible.css('overflow', 'hidden');
511
- // hidden.css('overflow', 'hidden');
512
 
513
  fix_scroll_blank(uid);
514
 
@@ -517,18 +574,11 @@
517
  visible.fadeTo(animt(500, uid), 0,
518
  function() {
519
  visible.css('z-index', 0);
520
- // if (!crayon[uid].scroll_changed) {
521
- // visible.css('overflow', vis_over);
522
- // }
523
  });
524
  hidden.stop(true);
525
  hidden.fadeTo(animt(500, uid), 1,
526
  function() {
527
  hidden.css('z-index', 1);
528
- // if (!crayon[uid].scroll_changed) {
529
- // hidden.css('overflow', hid_over);
530
- // }
531
-
532
  // Give focus to plain code
533
  if (hidden == plain) {
534
  if (select) {
@@ -616,6 +666,28 @@
616
  return false;
617
  };
618
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
619
  var fix_table_width = function(uid) {
620
  if (typeof crayon[uid] == 'undefined') {
621
  make_uid(uid);
@@ -650,6 +722,20 @@
650
  }
651
  };
652
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
653
  var update_plain_button = function(uid) {
654
  if (typeof crayon[uid] == 'undefined' || typeof crayon[uid].plain_visible == 'undefined') {
655
  return;
@@ -678,7 +764,6 @@
678
  }
679
 
680
  crayon_slide(uid, toolbar, show, anim_time, hide_delay);
681
- // reconsile_dimensions(uid);
682
  };
683
 
684
  var toggle_scroll = function(uid, show) {
@@ -749,9 +834,28 @@
749
  var reconsile_dimensions = function(uid) {
750
  // Reconsile dimensions
751
  crayon[uid].plain.height(crayon[uid].main.height());
752
- //crayon[uid].plain.width(crayon[uid].main.width());
753
-
754
- // console_log('main: ' + crayon[uid].main.height() + ' plain: ' + crayon[uid].plain.height());
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
755
  };
756
 
757
  var animt = function(x, uid) {
7
  $.fn.exists = function () {
8
  return this.length !== 0;
9
  };
10
+
11
+ // This makes IE < 9 doesn't support CSSStyleDeclaration, can't use this
12
  CrayonSyntaxUnused = function () {
13
  // For those who need them (< IE 9), add support for CSS functions
14
  var isStyleFuncSupported = null;
35
  return rule.test(this.cssText) ? 'important' : '';
36
  };
37
  }
38
+ }
39
  };
40
 
41
  // Escape regex chars with \
42
  RegExp.escape = function(text) {
43
  return text.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&");
44
+ };
45
+
46
+
47
+ var hasCSSStyleDeclaration = typeof(CSSStyleDeclaration) != 'undefined';
48
+ $.fn.style = function(styleName, value, priority) {
49
+ // DOM node
50
+ var node = this.get(0);
51
+ // Ensure we have a DOM node
52
+ if (typeof node == 'undefined') {
53
+ return;
54
+ }
55
+ // CSSStyleDeclaration
56
+ var style = node.style;
57
+ // Getter/Setter
58
+ if (typeof styleName != 'undefined') {
59
+ if (typeof value != 'undefined') {
60
+ // Set style property
61
+ var priority = typeof priority != 'undefined' ? priority : '';
62
+ if (typeof style.setProperty != 'undefined') {
63
+ style.setProperty(styleName, value, priority);
64
+ } else {
65
+ style.styleName = value + ' ' + priority;
66
+ }
67
+ } else {
68
+ // Get style property
69
+ if (hasCSSStyleDeclaration) {
70
+ return style.getPropertyValue(styleName);
71
+ } else {
72
+ return style.styleName;
73
+ }
74
+ }
75
+ } else {
76
+ // Get CSSStyleDeclaration
77
+ return style;
78
+ }
79
  };
80
 
81
  // END AUXILIARY FUNCTIONS
89
  var CRAYON_PLAIN = '.crayon-plain';
90
  var CRAYON_MAIN = '.crayon-main';
91
  var CRAYON_TABLE = '.crayon-table';
92
+ var CRAYON_LOADING = '.crayon-loading';
93
  var CRAYON_CODE = '.crayon-code';
94
  var CRAYON_NUMS = '.crayon-nums';
95
+ var CRAYON_NUM = '.crayon-num';
96
+ var CRAYON_LINE = '.crayon-line';
97
+ var CRAYON_WRAPPED = 'crayon-wrapped';
98
  var CRAYON_NUMS_CONTENT = '.crayon-nums-content';
99
  var CRAYON_NUMS_BUTTON = '.crayon-nums-button';
100
+ var CRAYON_WRAP_BUTTON = '.crayon-wrap-button';
101
  var CRAYON_POPUP_BUTTON = '.crayon-popup-button';
102
  var CRAYON_COPY_BUTTON = '.crayon-copy-button';
103
  var CRAYON_PLAIN_BUTTON = '.crayon-plain-button';
148
  var nums = c.find(CRAYON_NUMS);
149
  var nums_content = c.find(CRAYON_NUMS_CONTENT);
150
  var nums_button = c.find(CRAYON_NUMS_BUTTON);
151
+ var wrap_button = c.find(CRAYON_WRAP_BUTTON);
152
  var popup_button = c.find(CRAYON_POPUP_BUTTON);
153
  var copy_button = c.find(CRAYON_COPY_BUTTON);
154
  var plain_button = c.find(CRAYON_PLAIN_BUTTON);
163
  crayon[uid].nums = nums;
164
  crayon[uid].nums_content = nums_content;
165
  crayon[uid].nums_button = nums_button;
166
+ crayon[uid].wrap_button = wrap_button;
167
  crayon[uid].popup_button = popup_button;
168
  crayon[uid].copy_button = copy_button;
169
  crayon[uid].plain_button = plain_button;
170
  crayon[uid].nums_visible = true;
171
+ crayon[uid].wrapped = false;
172
  crayon[uid].plain_visible = false;
173
 
174
  crayon[uid].toolbar_delay = 0;
193
 
194
  // Register click events
195
  nums_button.click(function() { CrayonSyntax.toggle_nums(uid); });
196
+ wrap_button.click(function() { CrayonSyntax.toggle_wrap(uid); });
197
  plain_button.click(function() { CrayonSyntax.toggle_plain(uid); });
198
  copy_button.click(function() { CrayonSyntax.copy_plain(uid); });
199
 
202
  crayon[uid].scroll_block_fix = true;
203
  }
204
 
 
 
205
  // If nums hidden by default
206
  if (nums.filter('[data-settings~="hide"]').length != 0) {
207
  nums_content.ready(function() {
211
  } else {
212
  update_nums_button(uid);
213
  }
214
+
215
  // TODO If width has changed or timeout, stop timer
216
  if (/*last_num_width != nums.width() ||*/ i == 5) {
217
  clearInterval(load_timer);
218
+ //crayon[uid].removeClass(CRAYON_LOADING);
219
  crayon[uid].loading = false;
220
  }
221
  i++;
222
  };
223
+ load_timer = setInterval(load_func, 300);
224
+ fix_scroll_blank(uid);
225
+
226
+ $(CRAYON_NUM, crayon[uid]).each(function() {
227
+ var line_id = $(this).attr('data-line');
228
+ var line = $('#' + line_id);
229
+ var height = line.style('height');
230
+ if (height) {
231
+ line.attr('data-height', height);
232
+ }
233
+ });
234
+
235
  // Used for toggling
236
  main.css('position', 'relative');
237
  main.css('z-index', 1);
238
 
 
 
 
 
239
  // Disable certain features for touchscreen devices
240
  touchscreen = (c.filter('[data-settings~="touchscreen"]').length != 0);
241
 
325
  crayon[uid].time = 0;
326
  }
327
 
328
+ // Wrap
329
+ if ( c.filter('[data-settings~="wrap"]').length != 0 ) {
330
+ crayon[uid].wrapped = true;
331
+ }
332
+
333
  // Determine if Mac
334
  crayon[uid].mac = c.hasClass('crayon-os-mac');
335
+
336
+ // Update clickable buttons
337
+ update_nums_button(uid);
338
+ update_plain_button(uid);
339
+ update_wrap(uid);
340
  };
341
 
342
  var make_uid = function(uid) {
359
  if (typeof crayon[uid] == 'undefined') {
360
  return make_uid(uid);
361
  }
 
362
  var settings = crayon[uid].popup_settings;
363
+ if (settings.data) {
364
+ // Already done
 
365
  return;
366
  }
367
+
368
+ var clone = crayon[uid].clone(true);
369
+ clone.removeClass('crayon-wrapped');
370
+
371
+ // Unwrap
372
+ if (crayon[uid].wrapped) {
373
+ $(CRAYON_NUM, clone).each(function() {
374
+ var line_id = $(this).attr('data-line');
375
+ var line = $('#' + line_id);
376
+ var height = line.attr('data-height');
377
+ height = height ? height : '';
378
+ if (typeof height != 'undefined') {
379
+ line.css('height', height);
380
+ $(this).css('height', height);
381
+ }
382
+ });
383
+ }
384
+ clone.find(CRAYON_MAIN).css('height', '');
385
+
386
+ var code = '';
387
+ if (crayon[uid].plain_visible) {
388
+ code = clone.find(CRAYON_PLAIN);
389
+ } else {
390
+ code = clone.find(CRAYON_MAIN);
391
+ }
392
+
393
+ settings.data = get_all_css() + '<body class="crayon-popup-window" style="padding:0; margin:0;"><div class="' + clone.attr('class') +
394
+ ' crayon-popup">' + remove_css_inline(get_jquery_str(code)) + '</div></body>';
395
  };
396
 
397
  var get_jquery_str = function(object) {
399
  };
400
 
401
  var remove_css_inline = function(string) {
402
+ var reStyle = /style\s*=\s*"([^"]+)"/gmi;
403
+
404
+ var match = null;
405
+ while ((match = reStyle.exec(string)) != null) {
406
+ var repl = match[1];
407
+ repl = repl.replace(/\bwidth\s*:[^;]+;/gmi, '');
408
+ string = string.sliceReplace(match.index, match.index + match[0].length, 'style="' + repl + '"');
409
+ }
410
+
411
+ console.log(string);
412
+
413
+ return string;
414
  };
415
 
416
  // Get all CSS on the page as a string
529
 
530
  if ( (main.is(':animated') || plain.is(':animated')) && typeof hover == 'undefined' ) {
531
  return;
532
+ }
533
 
534
  reconsile_dimensions(uid);
535
 
564
  crayon[uid].scroll_changed = false;
565
 
566
  // Hide scrollbars during toggle to avoid Chrome weird draw error
567
+ // visible.css('overflow', 'hidden');
568
+ // hidden.css('overflow', 'hidden');
569
 
570
  fix_scroll_blank(uid);
571
 
574
  visible.fadeTo(animt(500, uid), 0,
575
  function() {
576
  visible.css('z-index', 0);
 
 
 
577
  });
578
  hidden.stop(true);
579
  hidden.fadeTo(animt(500, uid), 1,
580
  function() {
581
  hidden.css('z-index', 1);
 
 
 
 
582
  // Give focus to plain code
583
  if (hidden == plain) {
584
  if (select) {
666
  return false;
667
  };
668
 
669
+ this.toggle_wrap = function(uid) {
670
+ crayon[uid].wrapped = !crayon[uid].wrapped;
671
+ update_wrap(uid);
672
+ };
673
+
674
+ var update_wrap = function(uid) {
675
+ if (crayon[uid].wrapped) {
676
+ crayon[uid].addClass(CRAYON_WRAPPED);
677
+ } else {
678
+ crayon[uid].removeClass(CRAYON_WRAPPED);
679
+ }
680
+ update_wrap_button(uid);
681
+ crayon[uid].wrap_times = 0;
682
+ crayon[uid].wrap_timer = setInterval(function() {
683
+ reconsile_lines(uid);
684
+ crayon[uid].wrap_times++;
685
+ if (crayon[uid].wrap_times == 5) {
686
+ clearInterval(crayon[uid].wrap_timer);
687
+ }
688
+ }, 200);
689
+ };
690
+
691
  var fix_table_width = function(uid) {
692
  if (typeof crayon[uid] == 'undefined') {
693
  make_uid(uid);
722
  }
723
  };
724
 
725
+ var update_wrap_button = function(uid) {
726
+ if (typeof crayon[uid] == 'undefined' || typeof crayon[uid].wrapped == 'undefined') {
727
+ return;
728
+ }
729
+ if (crayon[uid].wrapped) {
730
+ crayon[uid].wrap_button.removeClass(UNPRESSED);
731
+ crayon[uid].wrap_button.addClass(PRESSED);
732
+ } else {
733
+ // TODO doesn't work on iPhone
734
+ crayon[uid].wrap_button.removeClass(PRESSED);
735
+ crayon[uid].wrap_button.addClass(UNPRESSED);
736
+ }
737
+ };
738
+
739
  var update_plain_button = function(uid) {
740
  if (typeof crayon[uid] == 'undefined' || typeof crayon[uid].plain_visible == 'undefined') {
741
  return;
764
  }
765
 
766
  crayon_slide(uid, toolbar, show, anim_time, hide_delay);
 
767
  };
768
 
769
  var toggle_scroll = function(uid, show) {
834
  var reconsile_dimensions = function(uid) {
835
  // Reconsile dimensions
836
  crayon[uid].plain.height(crayon[uid].main.height());
837
+ };
838
+
839
+ var reconsile_lines = function(uid) {
840
+ $(CRAYON_NUM, crayon[uid]).each(function() {
841
+ var line_id = $(this).attr('data-line');
842
+ var line = $('#' + line_id);
843
+ if (crayon[uid].wrapped) {
844
+ line.css('height', '');
845
+ $(this).css('height', line.height());
846
+ // TODO toolbar should overlay title if needed
847
+ } else {
848
+ var height = line.attr('data-height');
849
+ height = height ? height : '';
850
+ if (typeof height != 'undefined') {
851
+ line.css('height', height);
852
+ $(this).css('height', height);
853
+ }
854
+ }
855
+ });
856
+ var main = crayon[uid].main;
857
+ var height = main.css('height');
858
+ main.css('height', '');
859
  };
860
 
861
  var animt = function(x, uid) {
js/crayon_admin.js CHANGED
@@ -25,7 +25,7 @@
25
  // var theme_editor_loaded = false;
26
  // var theme_editor_loading = false;
27
 
28
- var settings = CrayonSyntaxSettings;
29
 
30
  base.cssElem = function(id) {
31
  return $(base.addPrefixToID(id));
@@ -43,6 +43,7 @@
43
 
44
  base.init = function() {
45
  console_log('admin init');
 
46
 
47
  // Wraps
48
  main_wrap = $('#crayon-main-wrap');
@@ -71,7 +72,7 @@
71
  help = $('.crayon-help-close');
72
  help.click(function() {
73
  $('.crayon-help').hide();
74
- $.get(help.attr('url'));
75
  });
76
 
77
  // Preview
@@ -89,6 +90,32 @@
89
  preview_toggle();
90
  });
91
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
92
 
93
  // Alignment
94
  align_drop = base.cssElem('#h-align');
@@ -150,10 +177,9 @@
150
 
151
  /* Whenever a control changes preview */
152
  var preview_update = function() {
153
- // console_log('preview_update');
154
- preview_get = '?';
155
  var val = 0;
156
  var obj;
 
157
  for ( var i = 0; i < preview_obj_names.length; i++) {
158
  obj = preview_objs[i];
159
  if (obj.attr('type') == 'checkbox') {
@@ -161,26 +187,12 @@
161
  } else {
162
  val = obj.val();
163
  }
164
- preview_get += preview_obj_names[i] + '=' + crayon_escape(val)
165
- + "&";
166
  }
167
 
168
- // XXX Scroll to top of themes
169
- // Disabled for now, too annoying
170
- // var top = $('a[name="crayon-theme"]');
171
- // $(window).scrollTop(top.position().top);
172
-
173
- // Delay resize
174
- // preview.css('height', preview.height());
175
- // preview.css('overflow', 'hidden');
176
- // preview_timer = setInterval(function() {
177
- // preview.css('height', '');
178
- // preview.css('overflow', 'visible');
179
- // clearInterval(preview_timer);
180
- // }, 1000);
181
-
182
  // Load Preview
183
- $.get(preview_url + preview_get, function(data) {
 
184
  preview.html(data);
185
  // Important! Calls the crayon.js init
186
  CrayonSyntax.init();
@@ -216,9 +228,6 @@
216
 
217
  // Register all event handlers for preview objects
218
  var preview_register = function() {
219
- // console_log('preview_register');
220
- preview_get = '?';
221
-
222
  // Instant callback
223
  preview_callback = function() {
224
  preview_update();
@@ -295,15 +304,6 @@
295
  }
296
  };
297
 
298
- base.show_langs = function(url) {
299
- // $('#show-lang').hide();
300
- $.get(url, function(data) {
301
- // $('#lang-info').show();
302
- $('#crayon-subsection-lang-info').html(data);
303
- });
304
- return false;
305
- };
306
-
307
  base.get_vars = function() {
308
  var vars = {};
309
  window.location.href.replace(/[?&]+([^=&]+)=([^&]*)/gi, function(m,
@@ -317,14 +317,14 @@
317
  base.show_main = function() {
318
  theme_editor_wrap.hide();
319
  main_wrap.show();
320
- $(window).scrollTop(0);
321
  return false;
322
  };
323
 
324
  base.show_theme_editor_now = function(button) {
325
  main_wrap.hide();
326
  theme_editor_wrap.show();
327
- $(window).scrollTop(0);
328
 
329
  theme_editor_loading = false;
330
  button.html(button.attr('loaded'));
@@ -376,4 +376,3 @@
376
  };
377
 
378
  })(jQueryCrayon);
379
-
25
  // var theme_editor_loaded = false;
26
  // var theme_editor_loading = false;
27
 
28
+ var settings = null;
29
 
30
  base.cssElem = function(id) {
31
  return $(base.addPrefixToID(id));
43
 
44
  base.init = function() {
45
  console_log('admin init');
46
+ settings = CrayonSyntaxSettings;
47
 
48
  // Wraps
49
  main_wrap = $('#crayon-main-wrap');
72
  help = $('.crayon-help-close');
73
  help.click(function() {
74
  $('.crayon-help').hide();
75
+ $.get(CrayonSyntaxSettings.ajaxurl, {action : 'crayon-ajax', 'hide-help' : 1});
76
  });
77
 
78
  // Preview
90
  preview_toggle();
91
  });
92
  }
93
+
94
+ $('#show-posts').click(function() {
95
+ $.get(CrayonSyntaxSettings.ajaxurl, {action : 'crayon-show-posts'}, function(data) {
96
+ $('#crayon-subsection-posts-info').html(data);
97
+ });
98
+ });
99
+
100
+ $('#show-langs').click(function() {
101
+ $.get(CrayonSyntaxSettings.ajaxurl, {action : 'crayon-show-langs'}, function(data) {
102
+ $('#lang-info').hide();
103
+ $('#crayon-subsection-langs-info').html(data);
104
+ });
105
+ });
106
+
107
+ // Convert
108
+ $('#crayon-settings-form input').live('focusin focusout mouseup', function() {
109
+ $('#crayon-settings-form').data('lastSelected', $(this));
110
+ });
111
+ $('#crayon-settings-form').submit(function() {
112
+ var last = $(this).data('lastSelected').get(0);
113
+ var target = $('#convert').get(0);
114
+ if (last == target) {
115
+ var r = confirm("Please BACKUP your database first! Converting will update your post content. Do you wish to continue?");
116
+ return r;
117
+ }
118
+ });
119
 
120
  // Alignment
121
  align_drop = base.cssElem('#h-align');
177
 
178
  /* Whenever a control changes preview */
179
  var preview_update = function() {
 
 
180
  var val = 0;
181
  var obj;
182
+ var getVars = {action : 'crayon-show-preview'};
183
  for ( var i = 0; i < preview_obj_names.length; i++) {
184
  obj = preview_objs[i];
185
  if (obj.attr('type') == 'checkbox') {
187
  } else {
188
  val = obj.val();
189
  }
190
+ getVars[preview_obj_names[i]] = crayon_escape(val);
 
191
  }
192
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
193
  // Load Preview
194
+ $.get(CrayonSyntaxSettings.ajaxurl, getVars, function(data) {
195
+ //console.log(1);
196
  preview.html(data);
197
  // Important! Calls the crayon.js init
198
  CrayonSyntax.init();
228
 
229
  // Register all event handlers for preview objects
230
  var preview_register = function() {
 
 
 
231
  // Instant callback
232
  preview_callback = function() {
233
  preview_update();
304
  }
305
  };
306
 
 
 
 
 
 
 
 
 
 
307
  base.get_vars = function() {
308
  var vars = {};
309
  window.location.href.replace(/[?&]+([^=&]+)=([^&]*)/gi, function(m,
317
  base.show_main = function() {
318
  theme_editor_wrap.hide();
319
  main_wrap.show();
320
+ // $(window).scrollTop(0);
321
  return false;
322
  };
323
 
324
  base.show_theme_editor_now = function(button) {
325
  main_wrap.hide();
326
  theme_editor_wrap.show();
327
+ // $(window).scrollTop(0);
328
 
329
  theme_editor_loading = false;
330
  button.html(button.attr('loaded'));
376
  };
377
 
378
  })(jQueryCrayon);
 
js/fancybox/fancybox_loading.gif ADDED
Binary file
js/fancybox/fancybox_overlay.png ADDED
Binary file
js/fancybox/fancybox_sprite.png ADDED
Binary file
js/fancybox/jquery.fancybox.css ADDED
@@ -0,0 +1,246 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*! fancyBox v2.1.0 fancyapps.com | fancyapps.com/fancybox/#license */
2
+ .fancybox-wrap,
3
+ .fancybox-skin,
4
+ .fancybox-outer,
5
+ .fancybox-inner,
6
+ .fancybox-image,
7
+ .fancybox-wrap iframe,
8
+ .fancybox-wrap object,
9
+ .fancybox-nav,
10
+ .fancybox-nav span,
11
+ .fancybox-tmp
12
+ {
13
+ padding: 0;
14
+ margin: 0;
15
+ border: 0;
16
+ outline: none;
17
+ vertical-align: top;
18
+ }
19
+
20
+ .fancybox-wrap {
21
+ position: absolute;
22
+ top: 0;
23
+ left: 0;
24
+ z-index: 8020;
25
+ }
26
+
27
+ .fancybox-skin {
28
+ position: relative;
29
+ background: #f9f9f9;
30
+ color: #444;
31
+ text-shadow: none;
32
+ -webkit-border-radius: 4px;
33
+ -moz-border-radius: 4px;
34
+ border-radius: 4px;
35
+ }
36
+
37
+ .fancybox-opened {
38
+ z-index: 8030;
39
+ }
40
+
41
+ .fancybox-opened .fancybox-skin {
42
+ -webkit-box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5);
43
+ -moz-box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5);
44
+ box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5);
45
+ }
46
+
47
+ .fancybox-outer, .fancybox-inner {
48
+ position: relative;
49
+ }
50
+
51
+ .fancybox-inner {
52
+ overflow: hidden;
53
+ }
54
+
55
+ .fancybox-type-iframe .fancybox-inner {
56
+ -webkit-overflow-scrolling: touch;
57
+ }
58
+
59
+ .fancybox-error {
60
+ color: #444;
61
+ font: 14px/20px "Helvetica Neue",Helvetica,Arial,sans-serif;
62
+ margin: 0;
63
+ padding: 15px;
64
+ white-space: nowrap;
65
+ }
66
+
67
+ .fancybox-image, .fancybox-iframe {
68
+ display: block;
69
+ width: 100%;
70
+ height: 100%;
71
+ }
72
+
73
+ .fancybox-image {
74
+ max-width: 100%;
75
+ max-height: 100%;
76
+ }
77
+
78
+ #fancybox-loading, .fancybox-close, .fancybox-prev span, .fancybox-next span {
79
+ background-image: url('fancybox_sprite.png');
80
+ }
81
+
82
+ #fancybox-loading {
83
+ position: fixed;
84
+ top: 50%;
85
+ left: 50%;
86
+ margin-top: -22px;
87
+ margin-left: -22px;
88
+ background-position: 0 -108px;
89
+ opacity: 0.8;
90
+ cursor: pointer;
91
+ z-index: 8060;
92
+ }
93
+
94
+ #fancybox-loading div {
95
+ width: 44px;
96
+ height: 44px;
97
+ background: url('fancybox_loading.gif') center center no-repeat;
98
+ }
99
+
100
+ .fancybox-close {
101
+ position: absolute;
102
+ top: -18px;
103
+ right: -18px;
104
+ width: 36px;
105
+ height: 36px;
106
+ cursor: pointer;
107
+ z-index: 8040;
108
+ }
109
+
110
+ .fancybox-nav {
111
+ position: absolute;
112
+ top: 0;
113
+ width: 40%;
114
+ height: 100%;
115
+ cursor: pointer;
116
+ text-decoration: none;
117
+ background: transparent url('blank.gif'); /* helps IE */
118
+ -webkit-tap-highlight-color: rgba(0,0,0,0);
119
+ z-index: 8040;
120
+ }
121
+
122
+ .fancybox-prev {
123
+ left: 0;
124
+ }
125
+
126
+ .fancybox-next {
127
+ right: 0;
128
+ }
129
+
130
+ .fancybox-nav span {
131
+ position: absolute;
132
+ top: 50%;
133
+ width: 36px;
134
+ height: 34px;
135
+ margin-top: -18px;
136
+ cursor: pointer;
137
+ z-index: 8040;
138
+ visibility: hidden;
139
+ }
140
+
141
+ .fancybox-prev span {
142
+ left: 10px;
143
+ background-position: 0 -36px;
144
+ }
145
+
146
+ .fancybox-next span {
147
+ right: 10px;
148
+ background-position: 0 -72px;
149
+ }
150
+
151
+ .fancybox-nav:hover span {
152
+ visibility: visible;
153
+ }
154
+
155
+ .fancybox-tmp {
156
+ position: absolute;
157
+ top: -9999px;
158
+ left: -9999px;
159
+ visibility: hidden;
160
+ }
161
+
162
+ /* Overlay helper */
163
+
164
+ .fancybox-lock {
165
+ overflow: hidden;
166
+ }
167
+
168
+ .fancybox-overlay {
169
+ position: absolute;
170
+ top: 0;
171
+ left: 0;
172
+ overflow: hidden;
173
+ display: none;
174
+ z-index: 8010;
175
+ background: url('fancybox_overlay.png') repeat;
176
+ }
177
+
178
+ .fancybox-overlay-fixed {
179
+ position: fixed;
180
+ bottom: 0;
181
+ right: 0;
182
+ }
183
+
184
+ .fancybox-lock .fancybox-overlay {
185
+ overflow: auto;
186
+ overflow-y: scroll;
187
+ }
188
+
189
+ /* Title helper */
190
+
191
+ .fancybox-title {
192
+ visibility: hidden;
193
+ font: normal 13px/20px "Helvetica Neue",Helvetica,Arial,sans-serif;
194
+ position: relative;
195
+ text-shadow: none;
196
+ z-index: 8050;
197
+ }
198
+
199
+ .fancybox-opened .fancybox-title {
200
+ visibility: visible;
201
+ }
202
+
203
+ .fancybox-title-float-wrap {
204
+ position: absolute;
205
+ bottom: 0;
206
+ right: 50%;
207
+ margin-bottom: -35px;
208
+ z-index: 8050;
209
+ text-align: center;
210
+ }
211
+
212
+ .fancybox-title-float-wrap .child {
213
+ display: inline-block;
214
+ margin-right: -100%;
215
+ padding: 2px 20px;
216
+ background: transparent; /* Fallback for web browsers that doesn't support RGBa */
217
+ background: rgba(0, 0, 0, 0.8);
218
+ -webkit-border-radius: 15px;
219
+ -moz-border-radius: 15px;
220
+ border-radius: 15px;
221
+ text-shadow: 0 1px 2px #222;
222
+ color: #FFF;
223
+ font-weight: bold;
224
+ line-height: 24px;
225
+ white-space: nowrap;
226
+ }
227
+
228
+ .fancybox-title-outside-wrap {
229
+ position: relative;
230
+ margin-top: 10px;
231
+ color: #fff;
232
+ }
233
+
234
+ .fancybox-title-inside-wrap {
235
+ padding-top: 10px;
236
+ }
237
+
238
+ .fancybox-title-over-wrap {
239
+ position: absolute;
240
+ bottom: 0;
241
+ left: 0;
242
+ color: #fff;
243
+ padding: 10px;
244
+ background: #000;
245
+ background: rgba(0, 0, 0, .8);
246
+ }
js/fancybox/jquery.fancybox.pack.js ADDED
@@ -0,0 +1,44 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*! fancyBox v2.1.0 fancyapps.com | fancyapps.com/fancybox/#license */
2
+ (function(u,p,f,q){var o=f(u),n=f(p),b=f.fancybox=function(){b.open.apply(this,arguments)},z=null,m=p.createTouch!==q,x=function(a){return a&&a.hasOwnProperty&&a instanceof f},s=function(a){return a&&"string"===f.type(a)},C=function(a){return s(a)&&0<a.indexOf("%")},k=function(a,c){var e=parseInt(a,10);c&&C(a)&&(e*=b.getViewport()[c]/100);return Math.ceil(e)},v=function(a,b){return k(a,b)+"px"};f.extend(b,{version:"2.1.0",defaults:{padding:15,margin:20,width:800,height:600,minWidth:100,minHeight:100,
3
+ maxWidth:9999,maxHeight:9999,autoSize:!0,autoHeight:!1,autoWidth:!1,autoResize:!m,autoCenter:!m,fitToView:!0,aspectRatio:!1,topRatio:0.5,leftRatio:0.5,scrolling:"auto",wrapCSS:"",arrows:!0,closeBtn:!0,closeClick:!1,nextClick:!1,mouseWheel:!0,autoPlay:!1,playSpeed:3E3,preload:3,modal:!1,loop:!0,ajax:{dataType:"html",headers:{"X-fancyBox":!0}},iframe:{scrolling:"auto",preload:!0},swf:{wmode:"transparent",allowfullscreen:"true",allowscriptaccess:"always"},keys:{next:{13:"left",34:"up",39:"left",40:"up"},
4
+ prev:{8:"right",33:"down",37:"right",38:"down"},close:[27],play:[32],toggle:[70]},direction:{next:"left",prev:"right"},scrollOutside:!0,index:0,type:null,href:null,content:null,title:null,tpl:{wrap:'<div class="fancybox-wrap" tabIndex="-1"><div class="fancybox-skin"><div class="fancybox-outer"><div class="fancybox-inner"></div></div></div></div>',image:'<img class="fancybox-image" src="{href}" alt="" />',iframe:'<iframe id="fancybox-frame{rnd}" name="fancybox-frame{rnd}" class="fancybox-iframe" frameborder="0" vspace="0" hspace="0"'+
5
+ (f.browser.msie?' allowtransparency="true"':"")+"></iframe>",error:'<p class="fancybox-error">The requested content cannot be loaded.<br/>Please try again later.</p>',closeBtn:'<a title="Close" class="fancybox-item fancybox-close" href="javascript:;"></a>',next:'<a title="Next" class="fancybox-nav fancybox-next" href="javascript:;"><span></span></a>',prev:'<a title="Previous" class="fancybox-nav fancybox-prev" href="javascript:;"><span></span></a>'},openEffect:"fade",openSpeed:250,openEasing:"swing",
6
+ openOpacity:!0,openMethod:"zoomIn",closeEffect:"fade",closeSpeed:250,closeEasing:"swing",closeOpacity:!0,closeMethod:"zoomOut",nextEffect:"elastic",nextSpeed:250,nextEasing:"swing",nextMethod:"changeIn",prevEffect:"elastic",prevSpeed:250,prevEasing:"swing",prevMethod:"changeOut",helpers:{overlay:{closeClick:!0,speedOut:200,showEarly:!0,css:{}},title:{type:"float"}},onCancel:f.noop,beforeLoad:f.noop,afterLoad:f.noop,beforeShow:f.noop,afterShow:f.noop,beforeChange:f.noop,beforeClose:f.noop,afterClose:f.noop},
7
+ group:{},opts:{},previous:null,coming:null,current:null,isActive:!1,isOpen:!1,isOpened:!1,wrap:null,skin:null,outer:null,inner:null,player:{timer:null,isActive:!1},ajaxLoad:null,imgPreload:null,transitions:{},helpers:{},open:function(a,c){if(a&&(f.isPlainObject(c)||(c={}),!1!==b.close(!0)))return f.isArray(a)||(a=x(a)?f(a).get():[a]),f.each(a,function(e,d){var j={},g,h,i,l,k;"object"===f.type(d)&&(d.nodeType&&(d=f(d)),x(d)?(j={href:d.attr("href"),title:d.attr("title"),isDom:!0,element:d},f.metadata&&
8
+ f.extend(!0,j,d.metadata())):j=d);g=c.href||j.href||(s(d)?d:null);h=c.title!==q?c.title:j.title||"";l=(i=c.content||j.content)?"html":c.type||j.type;!l&&j.isDom&&(l=d.data("fancybox-type"),l||(l=(l=d.prop("class").match(/fancybox\.(\w+)/))?l[1]:null));if(s(g)&&(l||(b.isImage(g)?l="image":b.isSWF(g)?l="swf":"#"===g.charAt(0)?l="inline":s(d)&&(l="html",i=d)),"ajax"===l))k=g.split(/\s+/,2),g=k.shift(),k=k.shift();i||("inline"===l?g?i=f(s(g)?g.replace(/.*(?=#[^\s]+$)/,""):g):j.isDom&&(i=d):"html"===l?
9
+ i=g:!l&&(!g&&j.isDom)&&(l="inline",i=d));f.extend(j,{href:g,type:l,content:i,title:h,selector:k});a[e]=j}),b.opts=f.extend(!0,{},b.defaults,c),c.keys!==q&&(b.opts.keys=c.keys?f.extend({},b.defaults.keys,c.keys):!1),b.group=a,b._start(b.opts.index)},cancel:function(){var a=b.coming;a&&!1!==b.trigger("onCancel")&&(b.hideLoading(),b.ajaxLoad&&b.ajaxLoad.abort(),b.ajaxLoad=null,b.imgPreload&&(b.imgPreload.onload=b.imgPreload.onerror=null),a.wrap&&a.wrap.stop(!0).trigger("onReset").remove(),b.current||
10
+ b.trigger("afterClose"),b.coming=null)},close:function(a){b.cancel();!1!==b.trigger("beforeClose")&&(b.unbindEvents(),!b.isOpen||!0===a?(f(".fancybox-wrap").stop(!0).trigger("onReset").remove(),b._afterZoomOut()):(b.isOpen=b.isOpened=!1,b.isClosing=!0,f(".fancybox-item, .fancybox-nav").remove(),b.wrap.stop(!0,!0).removeClass("fancybox-opened"),"fixed"===b.wrap.css("position")&&b.wrap.css(b._getPosition(!0)),b.transitions[b.current.closeMethod]()))},play:function(a){var c=function(){clearTimeout(b.player.timer)},
11
+ e=function(){c();b.current&&b.player.isActive&&(b.player.timer=setTimeout(b.next,b.current.playSpeed))},d=function(){c();f("body").unbind(".player");b.player.isActive=!1;b.trigger("onPlayEnd")};if(!0===a||!b.player.isActive&&!1!==a){if(b.current&&(b.current.loop||b.current.index<b.group.length-1))b.player.isActive=!0,f("body").bind({"afterShow.player onUpdate.player":e,"onCancel.player beforeClose.player":d,"beforeLoad.player":c}),e(),b.trigger("onPlayStart")}else d()},next:function(a){var c=b.current;
12
+ c&&(s(a)||(a=c.direction.next),b.jumpto(c.index+1,a,"next"))},prev:function(a){var c=b.current;c&&(s(a)||(a=c.direction.prev),b.jumpto(c.index-1,a,"prev"))},jumpto:function(a,c,e){var d=b.current;if(d&&(a=k(a),b.direction=c||d.direction[a>=d.index?"next":"prev"],b.router=e||"jumpto",d.loop&&(0>a&&(a=d.group.length+a%d.group.length),a%=d.group.length),d.group[a]!==q))b.cancel(),b._start(a)},reposition:function(a,c){var e;b.isOpen&&(e=b._getPosition(c),a&&"scroll"===a.type?(delete e.position,b.wrap.stop(!0,
13
+ !0).animate(e,200)):b.wrap.css(e))},update:function(a){var c=a&&a.type,e=!c||"orientationchange"===c;e&&(clearTimeout(z),z=null);if(b.isOpen&&!z){if(e||m)b.wrap.removeAttr("style").addClass("fancybox-tmp"),b.trigger("onUpdate");z=setTimeout(function(){var d=b.current;if(d){b.wrap.removeClass("fancybox-tmp");c!=="scroll"&&b._setDimension();c==="scroll"&&d.canShrink||b.reposition(a);b.trigger("onUpdate");z=null}},m?500:e?20:300)}},toggle:function(a){b.isOpen&&(b.current.fitToView="boolean"===f.type(a)?
14
+ a:!b.current.fitToView,b.update())},hideLoading:function(){n.unbind("keypress.fb");f("#fancybox-loading").remove()},showLoading:function(){var a,c;b.hideLoading();n.bind("keypress.fb",function(a){if(27===(a.which||a.keyCode))a.preventDefault(),b.cancel()});a=f('<div id="fancybox-loading"><div></div></div>').click(b.cancel).appendTo("body");b.defaults.fixed||(c=b.getViewport(),a.css({position:"absolute",top:0.5*c.h+c.y,left:0.5*c.w+c.x}))},getViewport:function(){var a=b.current?b.current.locked:!1,
15
+ c={x:o.scrollLeft(),y:o.scrollTop()};a?(c.w=a[0].clientWidth,c.h=a[0].clientHeight):(c.w=m&&u.innerWidth?u.innerWidth:o.width(),c.h=m&&u.innerHeight?u.innerHeight:o.height());return c},unbindEvents:function(){b.wrap&&x(b.wrap)&&b.wrap.unbind(".fb");n.unbind(".fb");o.unbind(".fb")},bindEvents:function(){var a=b.current,c;a&&(o.bind("orientationchange.fb"+(m?"":" resize.fb")+(a.autoCenter&&!a.locked?" scroll.fb":""),b.update),(c=a.keys)&&n.bind("keydown.fb",function(e){var d=e.which||e.keyCode,j=e.target||
16
+ e.srcElement;!e.ctrlKey&&(!e.altKey&&!e.shiftKey&&!e.metaKey&&(!j||!j.type&&!f(j).is("[contenteditable]")))&&f.each(c,function(c,j){if(1<a.group.length&&j[d]!==q)return b[c](j[d]),e.preventDefault(),!1;if(-1<f.inArray(d,j))return b[c](),e.preventDefault(),!1})}),f.fn.mousewheel&&a.mouseWheel&&b.wrap.bind("mousewheel.fb",function(c,d,j,g){for(var h=f(c.target||null),i=!1;h.length&&!i&&!h.is(".fancybox-skin")&&!h.is(".fancybox-wrap");)i=h[0]&&!(h[0].style.overflow&&"hidden"===h[0].style.overflow)&&
17
+ (h[0].clientWidth&&h[0].scrollWidth>h[0].clientWidth||h[0].clientHeight&&h[0].scrollHeight>h[0].clientHeight),h=f(h).parent();if(0!==d&&!i&&1<b.group.length&&!a.canShrink){if(0<g||0<j)b.prev(0<g?"down":"left");else if(0>g||0>j)b.next(0>g?"up":"right");c.preventDefault()}}))},trigger:function(a,c){var e,d=c||b.coming||b.current;if(d){f.isFunction(d[a])&&(e=d[a].apply(d,Array.prototype.slice.call(arguments,1)));if(!1===e)return!1;"onCancel"===a&&!b.isOpened&&(b.isActive=!1);d.helpers&&f.each(d.helpers,
18
+ function(c,e){if(e&&b.helpers[c]&&f.isFunction(b.helpers[c][a]))b.helpers[c][a](e,d)});f.event.trigger(a+".fb")}},isImage:function(a){return s(a)&&a.match(/\.(jp(e|g|eg)|gif|png|bmp|webp)((\?|#).*)?$/i)},isSWF:function(a){return s(a)&&a.match(/\.(swf)((\?|#).*)?$/i)},_start:function(a){var c={},e,d,a=k(a);e=b.group[a]||null;if(!e)return!1;c=f.extend(!0,{},b.opts,e);e=c.margin;d=c.padding;"number"===f.type(e)&&(c.margin=[e,e,e,e]);"number"===f.type(d)&&(c.padding=[d,d,d,d]);c.modal&&f.extend(!0,c,
19
+ {closeBtn:!1,closeClick:!1,nextClick:!1,arrows:!1,mouseWheel:!1,keys:null,helpers:{overlay:{closeClick:!1}}});c.autoSize&&(c.autoWidth=c.autoHeight=!0);"auto"===c.width&&(c.autoWidth=!0);"auto"===c.height&&(c.autoHeight=!0);c.group=b.group;c.index=a;b.coming=c;if(!1===b.trigger("beforeLoad"))b.coming=null;else{d=c.type;e=c.href;if(!d)return b.coming=null,b.current&&b.router&&"jumpto"!==b.router?(b.current.index=a,b[b.router](b.direction)):!1;b.isActive=!0;if("image"===d||"swf"===d)c.autoHeight=c.autoWidth=
20
+ !1,c.scrolling="visible";"image"===d&&(c.aspectRatio=!0);"iframe"===d&&m&&(c.scrolling="scroll");c.wrap=f(c.tpl.wrap).addClass("fancybox-"+(m?"mobile":"desktop")+" fancybox-type-"+d+" fancybox-tmp "+c.wrapCSS).appendTo(c.parent);f.extend(c,{skin:f(".fancybox-skin",c.wrap),outer:f(".fancybox-outer",c.wrap),inner:f(".fancybox-inner",c.wrap)});f.each(["Top","Right","Bottom","Left"],function(a,b){c.skin.css("padding"+b,v(c.padding[a]))});b.trigger("onReady");if("inline"===d||"html"===d){if(!c.content||
21
+ !c.content.length)return b._error("content")}else if(!e)return b._error("href");"image"===d?b._loadImage():"ajax"===d?b._loadAjax():"iframe"===d?b._loadIframe():b._afterLoad()}},_error:function(a){f.extend(b.coming,{type:"html",autoWidth:!0,autoHeight:!0,minWidth:0,minHeight:0,scrolling:"no",hasError:a,content:b.coming.tpl.error});b._afterLoad()},_loadImage:function(){var a=b.imgPreload=new Image;a.onload=function(){this.onload=this.onerror=null;b.coming.width=this.width;b.coming.height=this.height;
22
+ b._afterLoad()};a.onerror=function(){this.onload=this.onerror=null;b._error("image")};a.src=b.coming.href;(a.complete===q||!a.complete)&&b.showLoading()},_loadAjax:function(){var a=b.coming;b.showLoading();b.ajaxLoad=f.ajax(f.extend({},a.ajax,{url:a.href,error:function(a,e){b.coming&&"abort"!==e?b._error("ajax",a):b.hideLoading()},success:function(c,e){"success"===e&&(a.content=c,b._afterLoad())}}))},_loadIframe:function(){var a=b.coming,c=f(a.tpl.iframe.replace(/\{rnd\}/g,(new Date).getTime())).attr("scrolling",
23
+ m?"auto":a.iframe.scrolling).attr("src",a.href);f(a.wrap).bind("onReset",function(){try{f(this).find("iframe").hide().attr("src","//about:blank").end().empty()}catch(a){}});a.iframe.preload&&(b.showLoading(),c.one("load",function(){f(this).data("ready",1);m||f(this).bind("load.fb",b.update);f(this).parents(".fancybox-wrap").width("100%").removeClass("fancybox-tmp").show();b._afterLoad()}));a.content=c.appendTo(a.inner);a.iframe.preload||b._afterLoad()},_preloadImages:function(){var a=b.group,c=b.current,
24
+ e=a.length,d=c.preload?Math.min(c.preload,e-1):0,f,g;for(g=1;g<=d;g+=1)f=a[(c.index+g)%e],"image"===f.type&&f.href&&((new Image).src=f.href)},_afterLoad:function(){var a=b.coming,c=b.current,e,d,j,g,h;b.hideLoading();if(a&&!1!==b.isActive)if(!1===b.trigger("afterLoad",a,c))a.wrap.stop(!0).trigger("onReset").remove(),b.coming=null;else{c&&(b.trigger("beforeChange",c),c.wrap.stop(!0).removeClass("fancybox-opened").find(".fancybox-item, .fancybox-nav").remove(),"fixed"===c.wrap.css("position")&&c.wrap.css(b._getPosition(!0)));
25
+ b.unbindEvents();e=a.content;d=a.type;j=a.scrolling;f.extend(b,{wrap:a.wrap,skin:a.skin,outer:a.outer,inner:a.inner,current:a,previous:c});g=a.href;switch(d){case "inline":case "ajax":case "html":a.selector?e=f("<div>").html(e).find(a.selector):x(e)&&(e.data("fancybox-placeholder")||e.data("fancybox-placeholder",f('<div class="fancybox-placeholder"></div>').insertAfter(e).hide()),e=e.show().detach(),a.wrap.bind("onReset",function(){f(this).find(e).length&&e.hide().replaceAll(e.data("fancybox-placeholder")).data("fancybox-placeholder",
26
+ false)}));break;case "image":e=a.tpl.image.replace("{href}",g);break;case "swf":e='<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="100%" height="100%"><param name="movie" value="'+g+'"></param>',h="",f.each(a.swf,function(a,b){e=e+('<param name="'+a+'" value="'+b+'"></param>');h=h+(" "+a+'="'+b+'"')}),e+='<embed src="'+g+'" type="application/x-shockwave-flash" width="100%" height="100%"'+h+"></embed></object>"}(!x(e)||!e.parent().is(a.inner))&&a.inner.append(e);b.trigger("beforeShow");
27
+ a.inner.css("overflow","yes"===j?"scroll":"no"===j?"hidden":j);b._setDimension();a.wrap.removeClass("fancybox-tmp");a.pos=f.extend({},a.dim,b._getPosition(!0));b.isOpen=!1;b.coming=null;b.bindEvents();if(b.isOpened){if(c.prevMethod)b.transitions[c.prevMethod]()}else f(".fancybox-wrap").not(a.wrap).stop(!0).trigger("onReset").remove();b.transitions[b.isOpened?a.nextMethod:a.openMethod]();b._preloadImages()}},_setDimension:function(){var a=b.getViewport(),c=0,e=!1,d=!1,e=b.wrap,j=b.skin,g=b.inner,h=
28
+ b.current,d=h.width,i=h.height,l=h.minWidth,t=h.minHeight,m=h.maxWidth,n=h.maxHeight,s=h.scrolling,q=h.scrollOutside?h.scrollbarWidth:0,w=h.margin,o=w[1]+w[3],p=w[0]+w[2],x,r,u,A,y,D,z,B,E;e.add(j).add(g).width("auto").height("auto");w=j.outerWidth(!0)-j.width();x=j.outerHeight(!0)-j.height();r=o+w;u=p+x;A=C(d)?(a.w-r)*k(d)/100:d;y=C(i)?(a.h-u)*k(i)/100:i;if("iframe"===h.type){if(E=h.content,h.autoHeight&&1===E.data("ready"))try{E[0].contentWindow.document.location&&(g.width(A).height(9999),D=E.contents().find("body"),
29
+ q&&D.css("overflow-x","hidden"),y=D.height())}catch(F){}}else if(h.autoWidth||h.autoHeight)g.addClass("fancybox-tmp"),h.autoWidth||g.width(A),h.autoHeight||g.height(y),h.autoWidth&&(A=g.width()),h.autoHeight&&(y=g.height()),g.removeClass("fancybox-tmp");d=k(A);i=k(y);B=A/y;l=k(C(l)?k(l,"w")-r:l);m=k(C(m)?k(m,"w")-r:m);t=k(C(t)?k(t,"h")-u:t);n=k(C(n)?k(n,"h")-u:n);D=m;z=n;o=a.w-o;p=a.h-p;if(h.aspectRatio){if(d>m&&(d=m,i=d/B),i>n&&(i=n,d=i*B),d<l&&(d=l,i=d/B),i<t)i=t,d=i*B}else d=Math.max(l,Math.min(d,
30
+ m)),i=Math.max(t,Math.min(i,n));if(h.fitToView)if(m=Math.min(a.w-r,m),n=Math.min(a.h-u,n),g.width(k(d)).height(k(i)),e.width(k(d+w)),a=e.width(),r=e.height(),h.aspectRatio)for(;(a>o||r>p)&&(d>l&&i>t)&&!(19<c++);)i=Math.max(t,Math.min(n,i-10)),d=i*B,d<l&&(d=l,i=d/B),d>m&&(d=m,i=d/B),g.width(k(d)).height(k(i)),e.width(k(d+w)),a=e.width(),r=e.height();else d=Math.max(l,Math.min(d,d-(a-o))),i=Math.max(t,Math.min(i,i-(r-p)));q&&("auto"===s&&i<y&&d+w+q<o)&&(d+=q);g.width(k(d)).height(k(i));e.width(k(d+
31
+ w));a=e.width();r=e.height();e=(a>o||r>p)&&d>l&&i>t;d=h.aspectRatio?d<D&&i<z&&d<A&&i<y:(d<D||i<z)&&(d<A||i<y);f.extend(h,{dim:{width:v(a),height:v(r)},origWidth:A,origHeight:y,canShrink:e,canExpand:d,wPadding:w,hPadding:x,wrapSpace:r-j.outerHeight(!0),skinSpace:j.height()-i});!E&&(h.autoHeight&&i>t&&i<n&&!d)&&g.height("auto")},_getPosition:function(a){var c=b.current,e=b.getViewport(),d=c.margin,f=b.wrap.width()+d[1]+d[3],g=b.wrap.height()+d[0]+d[2],d={position:"absolute",top:d[0],left:d[3]};c.autoCenter&&
32
+ c.fixed&&!a&&g<=e.h&&f<=e.w?d.position="fixed":c.locked||(d.top+=e.y,d.left+=e.x);d.top=v(Math.max(d.top,d.top+(e.h-g)*c.topRatio));d.left=v(Math.max(d.left,d.left+(e.w-f)*c.leftRatio));return d},_afterZoomIn:function(){var a=b.current;a&&((b.isOpen=b.isOpened=!0,b.wrap.addClass("fancybox-opened").css("overflow","visible"),b.reposition(),(a.closeClick||a.nextClick)&&b.inner.css("cursor","pointer").bind("click.fb",function(c){if(!f(c.target).is("a")&&!f(c.target).parent().is("a"))b[a.closeClick?"close":
33
+ "next"]()}),a.closeBtn&&f(a.tpl.closeBtn).appendTo(b.skin).bind("click.fb",b.close),a.arrows&&1<b.group.length&&((a.loop||0<a.index)&&f(a.tpl.prev).appendTo(b.outer).bind("click.fb",b.prev),(a.loop||a.index<b.group.length-1)&&f(a.tpl.next).appendTo(b.outer).bind("click.fb",b.next)),b.trigger("afterShow"),!a.loop&&a.index===a.group.length-1)?b.play(!1):b.opts.autoPlay&&!b.player.isActive&&(b.opts.autoPlay=!1,b.play()))},_afterZoomOut:function(){var a=b.current;f(".fancybox-wrap").stop(!0).trigger("onReset").remove();
34
+ f.extend(b,{group:{},opts:{},router:!1,current:null,isActive:!1,isOpened:!1,isOpen:!1,isClosing:!1,wrap:null,skin:null,outer:null,inner:null});b.trigger("afterClose",a)}});b.transitions={getOrigPosition:function(){var a=b.current,c=a.element,e=a.orig,d={},f=50,g=50,h=a.hPadding,i=a.wPadding,l=b.getViewport();!e&&(a.isDom&&c.is(":visible"))&&(e=c.find("img:first"),e.length||(e=c));x(e)?(d=e.offset(),e.is("img")&&(f=e.outerWidth(),g=e.outerHeight())):(d.top=l.y+(l.h-g)*a.topRatio,d.left=l.x+(l.w-f)*
35
+ a.leftRatio);a.locked&&(d.top-=l.y,d.left-=l.x);return d={top:v(d.top-h*a.topRatio),left:v(d.left-i*a.leftRatio),width:v(f+i),height:v(g+h)}},step:function(a,c){var e,d,f=c.prop;d=b.current;var g=d.wrapSpace,h=d.skinSpace;if("width"===f||"height"===f)e=c.end===c.start?1:(a-c.start)/(c.end-c.start),b.isClosing&&(e=1-e),d="width"===f?d.wPadding:d.hPadding,d=a-d,b.skin[f](k("width"===f?d:d-g*e)),b.inner[f](k("width"===f?d:d-g*e-h*e))},zoomIn:function(){var a=b.current,c=a.pos,e=a.openEffect,d="elastic"===
36
+ e,j=f.extend({opacity:1},c);delete j.position;d?(c=this.getOrigPosition(),a.openOpacity&&(c.opacity=0.1)):"fade"===e&&(c.opacity=0.1);b.wrap.css(c).animate(j,{duration:"none"===e?0:a.openSpeed,easing:a.openEasing,step:d?this.step:null,complete:b._afterZoomIn})},zoomOut:function(){var a=b.current,c=a.closeEffect,e="elastic"===c,d={opacity:0.1};e&&(d=this.getOrigPosition(),a.closeOpacity&&(d.opacity=0.1));b.wrap.animate(d,{duration:"none"===c?0:a.closeSpeed,easing:a.closeEasing,step:e?this.step:null,
37
+ complete:b._afterZoomOut})},changeIn:function(){var a=b.current,c=a.nextEffect,e=a.pos,d={opacity:1},f=b.direction,g;e.opacity=0.1;"elastic"===c&&(g="down"===f||"up"===f?"top":"left","down"===f||"right"===f?(e[g]=v(k(e[g])-200),d[g]="+=200px"):(e[g]=v(k(e[g])+200),d[g]="-=200px"));"none"===c?b._afterZoomIn():b.wrap.css(e).animate(d,{duration:a.nextSpeed,easing:a.nextEasing,complete:b._afterZoomIn})},changeOut:function(){var a=b.previous,c=a.prevEffect,e={opacity:0.1},d=b.direction;"elastic"===c&&
38
+ (e["down"===d||"up"===d?"top":"left"]=("up"===d||"left"===d?"-":"+")+"=200px");a.wrap.animate(e,{duration:"none"===c?0:a.prevSpeed,easing:a.prevEasing,complete:function(){f(this).trigger("onReset").remove()}})}};b.helpers.overlay={overlay:null,update:function(){var a="100%",b;this.overlay.width(a).height("100%");f.browser.msie?(b=Math.max(p.documentElement.offsetWidth,p.body.offsetWidth),n.width()>b&&(a=n.width())):n.width()>o.width()&&(a=n.width());this.overlay.width(a).height(n.height())},onReady:function(a,
39
+ b){f(".fancybox-overlay").stop(!0,!0);this.overlay||f.extend(this,{overlay:f('<div class="fancybox-overlay"></div>').appendTo(b.parent),margin:n.height()>o.height()||"scroll"===f("body").css("overflow-y")?f("body").css("margin-right"):!1,el:p.all&&!p.querySelector?f("html"):f("body")});b.fixed&&!m&&(this.overlay.addClass("fancybox-overlay-fixed"),b.autoCenter&&(this.overlay.append(b.wrap),b.locked=this.overlay));!0===a.showEarly&&this.beforeShow.apply(this,arguments)},beforeShow:function(a,c){var e=
40
+ this.overlay.unbind(".fb").width("auto").height("auto").css(a.css);a.closeClick&&e.bind("click.fb",function(a){f(a.target).hasClass("fancybox-overlay")&&b.close()});c.fixed&&!m?c.locked&&(this.el.addClass("fancybox-lock"),!1!==this.margin&&f("body").css("margin-right",k(this.margin)+c.scrollbarWidth)):this.update();e.show()},onUpdate:function(a,b){(!b.fixed||m)&&this.update()},afterClose:function(a){var c=this,a=a.speedOut||0;c.overlay&&!b.isActive&&c.overlay.fadeOut(a||0,function(){f("body").css("margin-right",
41
+ c.margin);c.el.removeClass("fancybox-lock");c.overlay.remove();c.overlay=null})}};b.helpers.title={beforeShow:function(a){var c=b.current.title,e=a.type;if(s(c)&&""!==f.trim(c)){c=f('<div class="fancybox-title fancybox-title-'+e+'-wrap">'+c+"</div>");switch(e){case "inside":e=b.skin;break;case "outside":e=b.wrap;break;case "over":e=b.inner;break;default:e=b.skin,c.appendTo("body").width(c.width()).wrapInner('<span class="child"></span>'),b.current.margin[2]+=Math.abs(k(c.css("margin-bottom")))}"top"===
42
+ a.position?c.prependTo(e):c.appendTo(e)}}};f.fn.fancybox=function(a){var c,e=f(this),d=this.selector||"",j=function(g){var h=f(this).blur(),i=c,j,k;!g.ctrlKey&&(!g.altKey&&!g.shiftKey&&!g.metaKey)&&!h.is(".fancybox-wrap")&&(j=a.groupAttr||"data-fancybox-group",k=h.attr(j),k||(j="rel",k=h.get(0)[j]),k&&(""!==k&&"nofollow"!==k)&&(h=d.length?f(d):e,h=h.filter("["+j+'="'+k+'"]'),i=h.index(this)),a.index=i,!1!==b.open(h,a)&&g.preventDefault())},a=a||{};c=a.index||0;!d||!1===a.live?e.unbind("click.fb-start").bind("click.fb-start",
43
+ j):n.undelegate(d,"click.fb-start").delegate(d+":not('.fancybox-item, .fancybox-nav')","click.fb-start",j);return this};n.ready(function(){f.scrollbarWidth===q&&(f.scrollbarWidth=function(){var a=f('<div style="width:50px;height:50px;overflow:auto"><div/></div>').appendTo("body"),b=a.children(),b=b.innerWidth()-b.height(99).innerWidth();a.remove();return b});if(f.support.fixedPosition===q){var a=f.support,c=f('<div style="position:fixed;top:20px;"></div>').appendTo("body"),e=20===c[0].offsetTop||
44
+ 15===c[0].offsetTop;c.remove();a.fixedPosition=e}f.extend(b.defaults,{scrollbarWidth:f.scrollbarWidth(),fixed:f.support.fixedPosition,parent:f("body")})})})(window,document,jQuery);
js/jquery.popup.js CHANGED
@@ -98,3 +98,4 @@ jqueryPopup.defaultSettings = {
98
  };
99
 
100
  })(jQueryCrayon);
 
98
  };
99
 
100
  })(jQueryCrayon);
101
+
js/util.js CHANGED
@@ -1,5 +1,5 @@
1
  // To avoid duplicates conflicting
2
- var jQueryCrayon = jQuery.noConflict();
3
 
4
  var CRAYON_DEBUG = false;
5
 
@@ -12,9 +12,9 @@ if (typeof CrayonTagEditorSettings == 'undefined') {
12
  RegExp.prototype.execAll = function(string) {
13
  var matches = [];
14
  var match = null;
15
- while ( (match = this.exec(string)) != null ) {
16
  var matchArray = [];
17
- for (var i in match) {
18
  if (parseInt(i) == i) {
19
  matchArray.push(match[i]);
20
  }
@@ -24,35 +24,35 @@ RegExp.prototype.execAll = function(string) {
24
  return matches;
25
  };
26
 
 
 
 
 
27
  function console_log(string) {
28
- if (typeof console != 'undefined' && CRAYON_DEBUG) {
29
- console.log(string);
30
- }
31
  }
32
 
33
- //# is left unencoded
34
  function crayon_escape(string) {
35
- if (typeof encodeURIComponent == 'function') {
36
- return encodeURIComponent(string);
37
- } else if (typeof escape != 'function') {
38
- return escape(string);
39
- } else {
40
- return string;
41
- }
42
  }
43
 
44
  function crayon_decode_html(str) {
45
- return String(str)
46
- .replace(/&amp;/g, '&')
47
- .replace(/&lt;/g, '<')
48
- .replace(/&gt;/g, '>');
49
  }
50
 
51
  function crayon_encode_html(str) {
52
- return String(str)
53
- .replace(/&/g, '&amp;')
54
- .replace(/</g, '&lt;')
55
- .replace(/>/g, '&gt;');
56
  }
57
 
58
  var CrayonSyntaxUtil = new function() {
@@ -62,7 +62,7 @@ var CrayonSyntaxUtil = new function() {
62
  }
63
  var ext = str.split('.');
64
  if (ext.length) {
65
- ext = ext[ext.length-1];
66
  } else {
67
  ext = '';
68
  }
@@ -70,11 +70,11 @@ var CrayonSyntaxUtil = new function() {
70
  };
71
  };
72
 
73
- //http://stackoverflow.com/questions/2360655/jquery-event-handlers-always-execute-in-order-they-were-bound-any-way-around-t
74
 
75
- //[name] is the name of the event "click", "mouseover", ..
76
- //same as you'd pass it to bind()
77
- //[fn] is the handler function
78
  jQueryCrayon.fn.bindFirst = function(name, fn) {
79
  // bind as you normally would
80
  // don't want to miss out on any jQuery magic
@@ -87,4 +87,3 @@ jQueryCrayon.fn.bindFirst = function(name, fn) {
87
  // move it at the beginning
88
  handlers.splice(0, 0, handler);
89
  };
90
-
1
  // To avoid duplicates conflicting
2
+ var jQueryCrayon = jQuery;
3
 
4
  var CRAYON_DEBUG = false;
5
 
12
  RegExp.prototype.execAll = function(string) {
13
  var matches = [];
14
  var match = null;
15
+ while ((match = this.exec(string)) != null) {
16
  var matchArray = [];
17
+ for ( var i in match) {
18
  if (parseInt(i) == i) {
19
  matchArray.push(match[i]);
20
  }
24
  return matches;
25
  };
26
 
27
+ String.prototype.sliceReplace = function(start, end, repl) {
28
+ return this.substring(0, start) + repl + this.substring(end);
29
+ };
30
+
31
  function console_log(string) {
32
+ if (typeof console != 'undefined' && CRAYON_DEBUG) {
33
+ console.log(string);
34
+ }
35
  }
36
 
37
+ // # is left unencoded
38
  function crayon_escape(string) {
39
+ if (typeof encodeURIComponent == 'function') {
40
+ return encodeURIComponent(string);
41
+ } else if (typeof escape != 'function') {
42
+ return escape(string);
43
+ } else {
44
+ return string;
45
+ }
46
  }
47
 
48
  function crayon_decode_html(str) {
49
+ return String(str).replace(/&amp;/g, '&').replace(/&lt;/g, '<').replace(
50
+ /&gt;/g, '>');
 
 
51
  }
52
 
53
  function crayon_encode_html(str) {
54
+ return String(str).replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(
55
+ />/g, '&gt;');
 
 
56
  }
57
 
58
  var CrayonSyntaxUtil = new function() {
62
  }
63
  var ext = str.split('.');
64
  if (ext.length) {
65
+ ext = ext[ext.length - 1];
66
  } else {
67
  ext = '';
68
  }
70
  };
71
  };
72
 
73
+ // http://stackoverflow.com/questions/2360655/jquery-event-handlers-always-execute-in-order-they-were-bound-any-way-around-t
74
 
75
+ // [name] is the name of the event "click", "mouseover", ..
76
+ // same as you'd pass it to bind()
77
+ // [fn] is the handler function
78
  jQueryCrayon.fn.bindFirst = function(name, fn) {
79
  // bind as you normally would
80
  // don't want to miss out on any jQuery magic
87
  // move it at the beginning
88
  handlers.splice(0, 0, handler);
89
  };
 
langs/applescript/.DS_Store ADDED
Binary file
langs/default/type.txt CHANGED
@@ -7,6 +7,7 @@ boolean
7
  integer
8
  package
9
  double
 
10
  string
11
  signed
12
  object
7
  integer
8
  package
9
  double
10
+ struct
11
  string
12
  signed
13
  object
langs/delphi/.DS_Store ADDED
Binary file
langs/diff/diff.txt ADDED
@@ -0,0 +1,13 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ### DIFF LANGUAGE ###
2
+
3
+ # ELEMENT_NAME [optional-css-class] REGULAR_EXPRESSION
4
+
5
+ NAME diff
6
+ VERSION 1.10.1
7
+
8
+ RESERVED ^([\-\*]{3}.+?)$
9
+ INS:STRING ^([\+>].+?)$
10
+ DEL:CONSTANT ^([\-<].+?)$
11
+ COMMENT ^(@@.+?)$
12
+ SAME:ENTITY ^(!.+?)$
13
+ SYMBOL ^\s.+?$
langs/erlang/erlang.txt ADDED
@@ -0,0 +1,24 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ### ERLANG ###
2
+
3
+ # ELEMENT_NAME [optional-css-class] REGULAR_EXPRESSION
4
+
5
+ NAME Erlang
6
+ VERSION 1.14
7
+ ALLOW_MIXED NO
8
+
9
+ COMMENT (%.*?$)
10
+ PREPROCESSOR (#.*?$)
11
+ STRING ((?<!\\)".*?(?<!\\)")
12
+
13
+ STATEMENT \b(?alt:statements.txt)\b
14
+ RESERVED (?default)
15
+ TYPE (?default)
16
+ MODIFIER \b(?alt:modifier.txt)\b
17
+
18
+ ENTITY (?default)
19
+
20
+ VARIABLE (\b[A-Z]([A-Za-z0-9_]*?)\b)
21
+ IDENTIFIER (?default)
22
+ CONSTANT (\b[a-z]([A-Za-z0-9_]*?)\b)|((?<!\\)'.*?(?<!\\)')
23
+ OPERATOR (?alt:operators.txt)
24
+ SYMBOL (?default)
langs/erlang/modifier.txt ADDED
@@ -0,0 +1,3 @@
 
 
 
1
+ -module
2
+ -import
3
+ -export
langs/erlang/operators.txt ADDED
@@ -0,0 +1,38 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ =
2
+ ==
3
+ =:=
4
+ /=
5
+ =/=
6
+ >=
7
+ >
8
+ <
9
+ =<
10
+
11
+ ++
12
+ --
13
+
14
+ +
15
+ -
16
+ *
17
+ /
18
+ div
19
+ rem
20
+
21
+ bnot
22
+ bor
23
+ bandb
24
+ bxor
25
+ bsl
26
+ bsr
27
+
28
+ and
29
+ or
30
+ not
31
+ xor
32
+
33
+ andalso
34
+ orelse
35
+
36
+ !
37
+ :
38
+ #
langs/erlang/statements.txt ADDED
@@ -0,0 +1,11 @@
 
 
 
 
 
 
 
 
 
 
 
1
+ if
2
+ case
3
+ of
4
+ when
5
+ receive
6
+ end
7
+ try
8
+ catch
9
+ throw
10
+ fun
11
+ after
langs/extensions.txt CHANGED
@@ -16,3 +16,4 @@ as swf fla
16
  perl pl
17
  delphi pas
18
  applescript scpt applescript
 
16
  perl pl
17
  delphi pas
18
  applescript scpt applescript
19
+ miva mv mvc mvt
langs/go/go.txt ADDED
@@ -0,0 +1,25 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ### GO LANGUAGE ###
2
+
3
+ # ELEMENT_NAME [optional-css-class] REGULAR_EXPRESSION
4
+
5
+ NAME Go
6
+ VERSION 1.12
7
+
8
+ COMMENT (?default)
9
+ PREPROCESSOR (?default)
10
+ STRING (?default)
11
+
12
+ STATEMENT (?default)
13
+ RESERVED (?default)|\b(?alt:reserved.txt)\b
14
+ TYPE (?default)
15
+ MODIFIER (?default)
16
+
17
+ ENTITY (?default)
18
+ POINTER_TYPE:ENTITY (?default)
19
+
20
+ VARIABLE (?default)
21
+ IDENTIFIER (?default)
22
+ CONSTANT (?default)
23
+ OPERATOR (?default)
24
+ SYMBOL (?default)
25
+
langs/go/reserved.txt ADDED
@@ -0,0 +1,3 @@
 
 
 
1
+ func
2
+ type
3
+ import
langs/miva/miva.txt ADDED
@@ -0,0 +1,23 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ### XHTML LANGUAGE ###
2
+
3
+ # ELEMENT_NAME [optional-css-class] REGULAR_EXPRESSION
4
+
5
+ NAME MIVA Script
6
+ VERSION 1.11
7
+
8
+ COMMENT (\<!--.*?--\>)|(<MvCOMMENT>.*?</MvCOMMENT>)
9
+ # !!! Text containing "" are not strings
10
+ TEXT:IDENTIFIER (?<=\>)[^\<\>]*(?=\<)
11
+ MIVA_STR:CONSTANT (["']\s*\{)|(\}\s*["'])
12
+ ATT_STR:STRING (((?<!\\)".*?(?<!\\)")|((?<!\\)'.*?(?<!\\)'))
13
+ NOTATION <!.*?>
14
+
15
+ HTML_TAG:RESERVED (</?\s*[^<\s>]+\s*>?)|(\s*/?>)
16
+
17
+ ENTITY (?default)
18
+ VARIABLE (?default)
19
+ ATTR:VARIABLE [\w-]+(?=\s*=\s*["'])
20
+ IDENTIFIER (?default)
21
+ OPERATOR (?default)
22
+ SYMBOL (?default)
23
+
langs/reg/operator.txt ADDED
@@ -0,0 +1,2 @@
 
 
1
+ =
2
+ :
langs/reg/reg.txt ADDED
@@ -0,0 +1,14 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ### SHELL LANGUAGE ###
2
+
3
+ # ELEMENT_NAME [optional-css-class] REGULAR_EXPRESSION
4
+
5
+ NAME Microsoft Registry
6
+ VERSION 5
7
+
8
+ STRING (?default)
9
+ HEADERVER:ENTITY [regv] \b(?alt:version.txt)
10
+ TYPE [regt] (hex\([02457b]\))|\b(?alt:type.txt)\b
11
+ ROOTKEYS:KEYWORD [regk] \b(?alt:rootkeys.txt)\b
12
+ OPERATOR [rego] \b(?alt:operator.txt)\b
13
+ COMMENT [regc] (;.*?$)
14
+ VARIABLE [regva] @
langs/reg/rootkeys.txt ADDED
@@ -0,0 +1,12 @@
 
 
 
 
 
 
 
 
 
 
 
 
1
+ HKEY_LOCAL_MACHINE
2
+ HKEY_CLASSES_ROOT
3
+ HKEY_CURRENT_USER
4
+ HKEY_USERS
5
+ HKEY_CURRENT_CONFIG
6
+ HKEY_DYN_DATA
7
+ HKLM
8
+ HKCR
9
+ HKCU
10
+ HKU
11
+ HKCC
12
+ HKDD
langs/reg/type.txt ADDED
@@ -0,0 +1,2 @@
 
 
1
+ dword
2
+ hex
langs/reg/version.txt ADDED
@@ -0,0 +1,2 @@
 
 
1
+ Windows Registry Editor Version 5.00
2
+ REGEDIT4
langs/tsql/keyword.txt ADDED
@@ -0,0 +1,357 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ CURRENT_TIMESTAMP
2
+ IDENTITY_INSERT
3
+ TIMEZONE_MINUTE
4
+ LOCALTIMESTAMP
5
+ OPENDATASOURCE
6
+ AUTHORIZATION
7
+ CONTAINSTABLE
8
+ CORRESPONDING
9
+ DETERMINISTIC
10
+ FREETEXTTABLE
11
+ TIMEZONE_HOUR
12
+ CURRENT_DATE
13
+ CURRENT_PATH
14
+ CURRENT_ROLE
15
+ CURRENT_TIME
16
+ CURRENT_USER
17
+ NONCLUSTERED
18
+ SESSION_USER
19
+ SPECIFICTYPE
20
+ SQLEXCEPTION
21
+ CONSTRAINTS
22
+ CONSTRUCTOR
23
+ DIAGNOSTICS
24
+ DISTRIBUTED
25
+ IDENTITYCOL
26
+ RECONFIGURE
27
+ REFERENCING
28
+ REPLICATION
29
+ SYSTEM_USER
30
+ TRANSACTION
31
+ TRANSLATION
32
+ UNCOMMITTED
33
+ CHECKPOINT
34
+ COMPLETION
35
+ CONNECTION
36
+ CONSTRAINT
37
+ DEALLOCATE
38
+ DEFERRABLE
39
+ DESCRIPTOR
40
+ DESTRUCTOR
41
+ DICTIONARY
42
+ DISCONNECT
43
+ FILLFACTOR
44
+ INITIALIZE
45
+ OPENROWSET
46
+ ORDINALITY
47
+ PARAMETERS
48
+ PRIVILEGES
49
+ REFERENCES
50
+ ROWGUIDCOL
51
+ SQLWARNING
52
+ STATISTICS
53
+ UPDATETEXT
54
+ AGGREGATE
55
+ ASSERTION
56
+ CHARACTER
57
+ CLUSTERED
58
+ COLLATION
59
+ EXCEPTION
60
+ IMMEDIATE
61
+ INDICATOR
62
+ INITIALLY
63
+ INTERSECT
64
+ ISOLATION
65
+ LOCALTIME
66
+ OPENQUERY
67
+ OPERATION
68
+ PARAMETER
69
+ PRECISION
70
+ PROCEDURE
71
+ RAISERROR
72
+ RECURSIVE
73
+ SAVEPOINT
74
+ STATEMENT
75
+ STRUCTURE
76
+ TEMPORARY
77
+ TERMINATE
78
+ TIMESTAMP
79
+ WRITETEXT
80
+ ABSOLUTE
81
+ ALLOCATE
82
+ CASCADED
83
+ COALESCE
84
+ CONTAINS
85
+ CONTINUE
86
+ DATABASE
87
+ DEFERRED
88
+ DESCRIBE
89
+ DISTINCT
90
+ END-EXEC
91
+ EXTERNAL
92
+ FREETEXT
93
+ FUNCTION
94
+ GROUPING
95
+ HOLDLOCK
96
+ IDENTITY
97
+ INTERVAL
98
+ LANGUAGE
99
+ MODIFIES
100
+ NATIONAL
101
+ PREORDER
102
+ PRESERVE
103
+ READTEXT
104
+ RELATIVE
105
+ RESTRICT
106
+ ROLLBACK
107
+ SEQUENCE
108
+ SHUTDOWN
109
+ SMALLINT
110
+ SPECIFIC
111
+ SQLSTATE
112
+ TEXTSIZE
113
+ TRAILING
114
+ TRUNCATE
115
+ VARIABLE
116
+ WHENEVER
117
+ BOOLEAN
118
+ BREADTH
119
+ CASCADE
120
+ CATALOG
121
+ COLLATE
122
+ COMPUTE
123
+ CONNECT
124
+ CONVERT
125
+ CURRENT
126
+ DECIMAL
127
+ DECLARE
128
+ DEFAULT
129
+ DESTROY
130
+ DYNAMIC
131
+ EXECUTE
132
+ FOREIGN
133
+ GENERAL
134
+ INTEGER
135
+ ITERATE
136
+ LATERAL
137
+ LEADING
138
+ LOCATOR
139
+ NATURAL
140
+ NOCHECK
141
+ NOCOUNT
142
+ NUMERIC
143
+ OFFSETS
144
+ OPENXML
145
+ PARTIAL
146
+ PERCENT
147
+ POSTFIX
148
+ PREPARE
149
+ PRIMARY
150
+ RESTORE
151
+ RETURNS
152
+ ROUTINE
153
+ SECTION
154
+ SESSION
155
+ SETUSER
156
+ TRIGGER
157
+ TSEQUAL
158
+ UNKNOWN
159
+ VARCHAR
160
+ VARYING
161
+ WAITFOR
162
+ WITHOUT
163
+ ACTION
164
+ BACKUP
165
+ BEFORE
166
+ BINARY
167
+ BROWSE
168
+ COLUMN
169
+ COMMIT
170
+ CREATE
171
+ CURSOR
172
+ DELETE
173
+ DOMAIN
174
+ DOUBLE
175
+ EQUALS
176
+ ERRLVL
177
+ ESCAPE
178
+ EXCEPT
179
+ GLOBAL
180
+ HAVING
181
+ IGNORE
182
+ INSERT
183
+ LINENO
184
+ MINUTE
185
+ MODIFY
186
+ MODULE
187
+ NULLIF
188
+ OBJECT
189
+ OPTION
190
+ OUTPUT
191
+ PREFIX
192
+ PUBLIC
193
+ RESULT
194
+ RETURN
195
+ REVOKE
196
+ ROLLUP
197
+ SCHEMA
198
+ SCROLL
199
+ SEARCH
200
+ SECOND
201
+ SELECT
202
+ STATIC
203
+ UNIQUE
204
+ UNNEST
205
+ UPDATE
206
+ VALUES
207
+ ADMIN
208
+ AFTER
209
+ ALIAS
210
+ ALTER
211
+ ARRAY
212
+ BEGIN
213
+ BREAK
214
+ CATCH
215
+ CHECK
216
+ CLASS
217
+ CLOSE
218
+ CYCLE
219
+ DEPTH
220
+ DEREF
221
+ DUMMY
222
+ EVERY
223
+ FALSE
224
+ FETCH
225
+ FIRST
226
+ FLOAT
227
+ FOUND
228
+ GRANT
229
+ GROUP
230
+ INDEX
231
+ INNER
232
+ INOUT
233
+ INPUT
234
+ LARGE
235
+ LEVEL
236
+ LIMIT
237
+ LOCAL
238
+ MATCH
239
+ MONTH
240
+ NAMES
241
+ NCHAR
242
+ NCLOB
243
+ ORDER
244
+ PRINT
245
+ PRIOR
246
+ READS
247
+ RIGHT
248
+ SCOPE
249
+ SPACE
250
+ START
251
+ STATE
252
+ TABLE
253
+ TREAT
254
+ UNDER
255
+ UNION
256
+ USAGE
257
+ USING
258
+ VALUE
259
+ WHERE
260
+ WHILE
261
+ WRITE
262
+ BLOB
263
+ BOTH
264
+ BULK
265
+ CALL
266
+ CASE
267
+ CAST
268
+ CHAR
269
+ CLOB
270
+ CUBE
271
+ DATA
272
+ DATE
273
+ DBCC
274
+ DENY
275
+ DESC
276
+ DISK
277
+ DROP
278
+ DUMP
279
+ EACH
280
+ ELSE
281
+ EXEC
282
+ EXIT
283
+ FILE
284
+ FREE
285
+ FROM
286
+ FULL
287
+ GOTO
288
+ HOST
289
+ HOUR
290
+ INTO
291
+ KILL
292
+ LAST
293
+ LEFT
294
+ LESS
295
+ LOAD
296
+ NEXT
297
+ NONE
298
+ ONLY
299
+ OPEN
300
+ OVER
301
+ PATH
302
+ PLAN
303
+ PROC
304
+ READ
305
+ REAL
306
+ ROLE
307
+ ROWS
308
+ RULE
309
+ SAVE
310
+ SETS
311
+ SIZE
312
+ THAN
313
+ THEN
314
+ TIME
315
+ TRAN
316
+ TRUE
317
+ USER
318
+ VIEW
319
+ WHEN
320
+ WITH
321
+ WORK
322
+ YEAR
323
+ ZONE
324
+ ADD
325
+ ARE
326
+ ASC
327
+ BIT
328
+ DAY
329
+ DEC
330
+ END
331
+ FOR
332
+ GET
333
+ INT
334
+ KEY
335
+ MAP
336
+ NEW
337
+ OFF
338
+ OLD
339
+ OUT
340
+ PAD
341
+ REF
342
+ ROW
343
+ SET
344
+ SQL
345
+ TOP
346
+ TRY
347
+ USE
348
+ AS
349
+ AT
350
+ BY
351
+ IF
352
+ IS
353
+ NO
354
+ OF
355
+ ON
356
+ TO
357
+
langs/tsql/operator.txt ADDED
@@ -0,0 +1,14 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ BETWEEN
2
+ EXISTS
3
+ CROSS
4
+ OUTER
5
+ JOIN
6
+ LIKE
7
+ NULL
8
+ SOME
9
+ ALL
10
+ AND
11
+ ANY
12
+ NOT
13
+ IN
14
+ OR
langs/tsql/procedure.txt ADDED
@@ -0,0 +1,483 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ sp_ActiveDirectory_Obj
2
+ sp_ActiveDirectory_SCP
3
+
4
+ sp_column_privileges
5
+ sp_stored_procedures
6
+ sp_table_privileges
7
+ sp_special_columns
8
+ sp_sproc_columns
9
+ sp_server_info
10
+ sp_statistics
11
+ sp_databases
12
+ sp_columns
13
+ sp_tables
14
+ sp_fkeys
15
+ sp_pkeys
16
+
17
+ sp_describe_cursor_columns
18
+ sp_describe_cursor_tables
19
+ sp_describe_cursor
20
+ sp_cursor_list
21
+
22
+ sp_delete_maintenance_plan_job
23
+ sp_delete_maintenance_plan_db
24
+ sp_add_maintenance_plan_job
25
+ sp_add_maintenance_plan_db
26
+ sp_delete_maintenance_plan
27
+ sp_help_maintenance_plan
28
+ sp_add_maintenance_plan
29
+
30
+ sp_column_privileges_ex
31
+ sp_table_privileges_ex
32
+ sp_addlinkedsrvlogin
33
+ sp_addlinkedserver
34
+ sp_linkedservers
35
+ sp_foreignkeys
36
+ sp_primarykeys
37
+ sp_columns_ex
38
+ sp_tables_ex
39
+ sp_catalogs
40
+ sp_indexes
41
+
42
+ sp_help_fulltext_catalogs_cursor
43
+ sp_help_fulltext_columns_cursor
44
+ sp_help_fulltext_tables_cursor
45
+ sp_help_fulltext_catalogs
46
+ sp_help_fulltext_columns
47
+ sp_help_fulltext_tables
48
+ sp_fulltext_database
49
+ sp_fulltext_catalog
50
+ sp_fulltext_service
51
+ sp_fulltext_column
52
+ sp_fulltext_table
53
+
54
+ sp_create_log_shipping_monitor_account
55
+ sp_delete_log_shipping_plan_database
56
+ sp_update_log_shipping_plan_database
57
+ sp_update_log_shipping_monitor_info
58
+ sp_add_log_shipping_plan_database
59
+ sp_delete_log_shipping_secondary
60
+ sp_get_log_shipping_monitor_info
61
+ sp_delete_log_shipping_database
62
+ sp_define_log_shipping_monitor
63
+ sp_delete_log_shipping_primary
64
+ sp_remove_log_shipping_monitor
65
+ sp_add_log_shipping_secondary
66
+ sp_add_log_shipping_database
67
+ sp_add_log_shipping_primary
68
+ sp_delete_log_shipping_plan
69
+ sp_update_log_shipping_plan
70
+ sp_add_log_shipping_plan
71
+ sp_change_secondary_role
72
+ sp_can_tlog_be_applied
73
+ sp_change_monitor_role
74
+ sp_change_primary_role
75
+ sp_resolve_logins
76
+
77
+ sp_OAGetErrorInfo
78
+ sp_OAGetProperty
79
+ sp_OASetProperty
80
+ sp_OADestroy
81
+ sp_OACreate
82
+ sp_OAMethod
83
+ sp_OAStop
84
+
85
+ sp_addmergepullsubscription_agent
86
+ sp_change_subscription_properties
87
+ sp_getsubscriptiondtspackagename
88
+ sp_adjustpublisheridentityrange
89
+ sp_expired_subscription_cleanup
90
+ sp_changemergepullsubscription
91
+ sp_dropmergealternatepublisher
92
+ sp_helpmergealternatepublisher
93
+ sp_helpmergedeleteconflictrows
94
+ sp_helpsubscription_properties
95
+ sp_reinitmergepullsubscription
96
+ sp_addmergealternatepublisher
97
+ sp_changedistributor_password
98
+ sp_changedistributor_property
99
+ sp_marksubscriptionvalidation
100
+ sp_addpullsubscription_agent
101
+ sp_browsemergesnapshotfolder
102
+ sp_changesubscriber_schedule
103
+ sp_changesubscriptiondtsinfo
104
+ sp_dropmergepullsubscription
105
+ sp_helpmergearticleconflicts
106
+ sp_helpmergepullsubscription
107
+ sp_mergesubscription_cleanup
108
+ sp_replication_agent_checkup
109
+ sp_revoke_publication_access
110
+ sp_validatemergesubscription
111
+ sp_addmergepullsubscription
112
+ sp_grant_publication_access
113
+ sp_script_synctran_commands
114
+ sp_validatemergepublication
115
+ sp_addpublication_snapshot
116
+ sp_changemergesubscription
117
+ sp_help_publication_access
118
+ sp_helpreplicationdboption
119
+ sp_reinitmergesubscription
120
+ sp_addsubscriber_schedule
121
+ sp_change_agent_parameter
122
+ sp_changemergepublication
123
+ sp_check_for_sync_trigger
124
+ sp_deletemergeconflictrow
125
+ sp_helpmergearticlecolumn
126
+ sp_publication_validation
127
+ sp_reinitpullsubscription
128
+ sp_scriptsubconflicttable
129
+ sp_dropmergesubscription
130
+ sp_helpmergeconflictrows
131
+ sp_helpmergesubscription
132
+ sp_helpreplicationoption
133
+ sp_addmergesubscription
134
+ sp_articlesynctranprocs
135
+ sp_browsesnapshotfolder
136
+ sp_change_agent_profile
137
+ sp_changedistributiondb
138
+ sp_drop_agent_parameter
139
+ sp_dropmergepublication
140
+ sp_droppullsubscription
141
+ sp_help_agent_parameter
142
+ sp_helpmergepublication
143
+ sp_helppullsubscription
144
+ sp_helpreplfailovermode
145
+ sp_mergecleanupmetadata
146
+ sp_refreshsubscriptions
147
+ sp_restoredbreplication
148
+ sp_subscription_cleanup
149
+ sp_update_agent_profile
150
+ sp_vupgrade_replication
151
+ sp_add_agent_parameter
152
+ sp_addmergepublication
153
+ sp_addpullsubscription
154
+ sp_changedistpublisher
155
+ sp_disableagentoffload
156
+ sp_dropanonymouseagent
157
+ sp_enumcustomresolvers
158
+ sp_enumfullsubscribers
159
+ sp_getagentoffloadinfo
160
+ sp_removedbreplication
161
+ sp_replicationdboption
162
+ sp_setreplfailovermode
163
+ sp_addtabletocontents
164
+ sp_article_validation
165
+ sp_attachsubscription
166
+ sp_changemergearticle
167
+ sp_drop_agent_profile
168
+ sp_dropdistributiondb
169
+ sp_enableagentoffload
170
+ sp_getmergedeletetype
171
+ sp_help_agent_default
172
+ sp_help_agent_profile
173
+ sp_helparticlecolumns
174
+ sp_helpdistributiondb
175
+ sp_helpsubscriberinfo
176
+ sp_ivindexhasnullcols
177
+ sp_mergearticlecolumn
178
+ sp_reinitsubscription
179
+ sp_showrowreplicainfo
180
+ sp_add_agent_profile
181
+ sp_adddistributiondb
182
+ sp_changemergefilter
183
+ sp_changepublication
184
+ sp_copymergesnapshot
185
+ sp_dropdistpublisher
186
+ sp_helpdistpublisher
187
+ sp_replsetoriginator
188
+ sp_adddistpublisher
189
+ sp_changesubscriber
190
+ sp_copysubscription
191
+ sp_dropmergearticle
192
+ sp_dropsubscription
193
+ sp_helpmergearticle
194
+ sp_helpsubscription
195
+ sp_link_publication
196
+ sp_mergedummyupdate
197
+ sp_replqueuemonitor
198
+ sp_table_validation
199
+ sp_addmergearticle
200
+ sp_addsubscription
201
+ sp_addsynctriggers
202
+ sp_changesubstatus
203
+ sp_dropdistributor
204
+ sp_dropmergefilter
205
+ sp_droppublication
206
+ sp_generatefilters
207
+ sp_get_distributor
208
+ sp_helpdistributor
209
+ sp_helpmergefilter
210
+ sp_helppublication
211
+ sp_adddistributor
212
+ sp_addmergefilter
213
+ sp_addpublication
214
+ sp_addpublisher70
215
+ sp_browsereplcmds
216
+ sp_dropsubscriber
217
+ sp_helparticledts
218
+ sp_repldropcolumn
219
+ sp_addscriptexec
220
+ sp_addsubscriber
221
+ sp_articlecolumn
222
+ sp_articlefilter
223
+ sp_changearticle
224
+ sp_getqueuedrows
225
+ sp_repladdcolumn
226
+ sp_copysnapshot
227
+ sp_dumpparamcmd
228
+ sp_replcounters
229
+ sp_replshowcmds
230
+ sp_articleview
231
+ sp_droparticle
232
+ sp_helparticle
233
+ sp_addarticle
234
+ sp_replflush
235
+ sp_repltrans
236
+ sp_replcmds
237
+ sp_repldone
238
+ sp_dsninfo
239
+ sp_enumdsn
240
+
241
+ sp_dbfixedrolepermission
242
+ sp_change_users_login
243
+ sp_droplinkedsrvlogin
244
+ sp_helplinkedsrvlogin
245
+ sp_changeobjectowner
246
+ sp_dropsrvrolemember
247
+ sp_helpsrvrolemember
248
+ sp_srvrolepermission
249
+ sp_addsrvrolemember
250
+ sp_approlepassword
251
+ sp_defaultlanguage
252
+ sp_dropremotelogin
253
+ sp_helpdbfixedrole
254
+ sp_helpremotelogin
255
+ sp_addremotelogin
256
+ sp_droprolemember
257
+ sp_helprolemember
258
+ sp_revokedbaccess
259
+ sp_validatelogins
260
+ sp_MShasdbaccess
261
+ sp_addrolemember
262
+ sp_changedbowner
263
+ sp_grantdbaccess
264
+ sp_remoteoption
265
+ sp_changegroup
266
+ sp_dropapprole
267
+ sp_helpntgroup
268
+ sp_helpsrvrole
269
+ sp_revokelogin
270
+ sp_addapprole
271
+ sp_dropserver
272
+ sp_grantlogin
273
+ sp_helplogins
274
+ sp_helprotect
275
+ sp_setapprole
276
+ sp_addserver
277
+ sp_defaultdb
278
+ sp_denylogin
279
+ sp_dropalias
280
+ sp_dropgroup
281
+ sp_droplogin
282
+ sp_helpgroup
283
+ sp_addalias
284
+ sp_addgroup
285
+ sp_addlogin
286
+ sp_droprole
287
+ sp_dropuser
288
+ sp_helprole
289
+ sp_helpuser
290
+ sp_password
291
+ sp_addrole
292
+ sp_adduser
293
+
294
+ sp_processmail
295
+ xp_findnextmsg
296
+ xp_deletemail
297
+ xp_startmail
298
+ xp_readmail
299
+ xp_sendmail
300
+ xp_stopmail
301
+
302
+ sp_trace_generateevent
303
+ sp_trace_setfilter
304
+ sp_trace_setstatus
305
+ sp_trace_setevent
306
+ sp_trace_create
307
+
308
+ sp_delete_targetsvrgrp_member
309
+ sp_delete_targetservergroup
310
+ sp_update_targetservergroup
311
+ sp_add_targetsvrgrp_member
312
+ sp_remove_job_from_targets
313
+ sp_help_targetservergroup
314
+ xp_sqlagent_proxy_account
315
+ sp_add_targetservergroup
316
+ sp_apply_job_to_targets
317
+ sp_manage_jobs_by_login
318
+ sp_delete_notification
319
+ sp_delete_targetserver
320
+ sp_resync_targetserver
321
+ sp_update_notification
322
+ sp_delete_jobschedule
323
+ sp_post_msx_operation
324
+ sp_update_jobschedule
325
+ sp_help_downloadlist
326
+ sp_help_notification
327
+ sp_help_targetserver
328
+ sp_add_notification
329
+ sp_delete_jobserver
330
+ sp_help_jobschedule
331
+ sp_purge_jobhistory
332
+ sp_add_jobschedule
333
+ sp_delete_category
334
+ sp_delete_operator
335
+ sp_help_jobhistory
336
+ sp_update_category
337
+ sp_update_operator
338
+ sp_delete_jobstep
339
+ sp_help_jobserver
340
+ sp_update_jobstep
341
+ sp_add_jobserver
342
+ sp_help_category
343
+ sp_help_operator
344
+ sp_add_category
345
+ sp_add_operator
346
+ sp_delete_alert
347
+ sp_help_jobstep
348
+ sp_purgehistory
349
+ sp_reassigntask
350
+ sp_update_alert
351
+ sp_add_jobstep
352
+ sp_helphistory
353
+ sp_delete_job
354
+ sp_help_alert
355
+ sp_msx_defect
356
+ sp_msx_enlist
357
+ sp_update_job
358
+ sp_updatetask
359
+ sp_add_alert
360
+ sp_start_job
361
+ sp_droptask
362
+ sp_help_job
363
+ sp_helptask
364
+ sp_stop_job
365
+ sp_add_job
366
+ sp_addtask
367
+
368
+ sp_add_data_file_recover_suspect_db
369
+ sp_add_log_file_recover_suspect_db
370
+ sp_updateextendedproperty
371
+ sp_attach_single_file_db
372
+ sp_delete_backuphistory
373
+ sp_dropextendedproperty
374
+ sp_addextendedproperty
375
+ sp_invalidate_textptr
376
+ sp_certify_removable
377
+ sp_create_removable
378
+ sp_dropextendedproc
379
+ sp_helpextendedproc
380
+ sp_addextendedproc
381
+ sp_settriggerorder
382
+ sp_cycle_errorlog
383
+ sp_helpconstraint
384
+ sp_releaseapplock
385
+ sp_datatype_info
386
+ sp_helpfilegroup
387
+ sp_addumpdevice
388
+ sp_altermessage
389
+ sp_getbindtoken
390
+ sp_helplanguage
391
+ sp_serveroption
392
+ sp_unbindefault
393
+ sp_bindsession
394
+ sp_createstats
395
+ sp_dbcmptlevel
396
+ sp_dropmessage
397
+ sp_helptrigger
398
+ sp_indexoption
399
+ sp_refreshview
400
+ sp_resetstatus
401
+ sp_tableoption
402
+ sp_updatestats
403
+ sp_addmessage
404
+ sp_bindefault
405
+ sp_dropdevice
406
+ sp_executesql
407
+ sp_getapplock
408
+ sp_helpdevice
409
+ sp_helpserver
410
+ sp_procoption
411
+ sp_setnetname
412
+ sp_unbindrule
413
+ sp_attach_db
414
+ sp_autostats
415
+ sp_configure
416
+ sp_detach_db
417
+ sp_helpindex
418
+ sp_helpstats
419
+ sp_recompile
420
+ sp_spaceused
421
+ sp_validname
422
+ sp_bindrule
423
+ sp_dboption
424
+ sp_dbremove
425
+ sp_droptype
426
+ sp_helpfile
427
+ sp_helpsort
428
+ sp_helptext
429
+ sp_renamedb
430
+ sp_addtype
431
+ sp_depends
432
+ sp_monitor
433
+ sp_helpdb
434
+ sp_rename
435
+ sp_help
436
+ sp_lock
437
+ sp_who
438
+
439
+ sp_enumcodepages
440
+ sp_dropwebtask
441
+ sp_makewebtask
442
+ sp_runwebtask
443
+
444
+ sp_xml_preparedocument
445
+ sp_xml_removedocument
446
+
447
+ xp_findnextmsgxp_revokelogin
448
+ xp_cmdshellxp_logininfo
449
+ xp_loginconfig
450
+ xp_enumgroups
451
+ xp_grantlogin
452
+ xp_logevent
453
+ xp_sqlmaint
454
+ xp_sprintf
455
+ xp_sscanf
456
+ xp_msver
457
+
458
+ sp_cursorunprepare
459
+ sp_cursorexecute
460
+ sp_cursorprepare
461
+ sp_cursoroption
462
+ sp_cursorclose
463
+ sp_cursorfetch
464
+ sp_cursoropen
465
+ sp_unprepare
466
+ sp_execute
467
+ sp_prepare
468
+ sp_cursor
469
+
470
+ sp_reset_connection
471
+ sp_createorphan
472
+ sp_droporphans
473
+ sp_sdidebug
474
+
475
+ fn_listextendedproperty
476
+ fn_listextendedproperty
477
+ fn_trace_getfilterinfo
478
+ fn_servershareddrives
479
+ fn_trace_geteventinfo
480
+ fn_virtualfilestats
481
+ fn_helpcollations
482
+ fn_trace_gettable
483
+ fn_trace_getinfo
langs/tsql/tsql.txt ADDED
@@ -0,0 +1,21 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ### Transact-SQL LANGUAGE ###
2
+
3
+ # ELEMENT_NAME [optional-css-class] REGULAR_EXPRESSION
4
+
5
+ NAME Transact-SQL
6
+ VERSION 1.8.0
7
+
8
+ COMMENT (/\*.*?\*/)|(--.*?$)
9
+ STRING ((?<!\\)'.*?(?<!\\)')
10
+
11
+ KEYWORD \b(?alt:keyword.txt)\b
12
+ TYPE \b(?alt:type.txt)\b
13
+ PROCEDURE:VARIABLE \b(?alt:procedure.txt)\b
14
+ SQLOP:KEYWORD \b(?alt:operator.txt)\b
15
+
16
+ ENTITY \w+\s*(?=\()
17
+ IDENTIFIER (?default)
18
+ CONSTANT (?default)
19
+ OPERATOR (?default)
20
+ SYMBOL (?default)
21
+
langs/tsql/type.txt ADDED
@@ -0,0 +1,14 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ uniqueidentifier
2
+ smalldatetime
3
+ sql_variant
4
+ smallmoney
5
+ varbinary
6
+ datetime
7
+ nvarchar
8
+ tinyint
9
+ bigint
10
+ image
11
+ money
12
+ ntext
13
+ text
14
+
log.txt DELETED
File without changes
readme.txt CHANGED
@@ -1,10 +1,11 @@
1
  === Crayon Syntax Highlighter ===
2
  Contributors: akarmenia
3
- Donate link: https://www.paypal.com/au/cgi-bin/webscr?cmd=_flow&SESSION=PPqWIQJ0gEZp4pVGNnYzhcwFGvx3MGwD95tvUcZgeYlHIEjBS7x6QHG34B4&dispatch=5885d80a13c0db1f8e263663d3faee8d0288a7fd2903afb85a5540fd44243d03
4
- Tags: syntax highlighter, syntax, highlighter, highlighting, crayon, code highlighter
 
5
  Requires at least: 3.0
6
- Tested up to: 3.4.1
7
- Stable tag: 1.10
8
 
9
  Syntax Highlighter supporting multiple languages, themes, fonts, highlighting from a URL, local file or post text.
10
 
@@ -20,6 +21,9 @@ It also supports some neat features like:
20
  * Toggled line numbers
21
  * Copy/paste code
22
  * Open code in a new window (popup)
 
 
 
23
  * Remote request caching
24
  * <a href="http://ak.net84.net/projects/mixed-language-highlighting-in-crayon/" target="_blank">Mixed Language Highlighting</a> in a single Crayon
25
  * <a href="http://ak.net84.net/projects/mini-tags-in-crayon/" target="_blank">Mini Tags</a> like [php][/php]
@@ -36,6 +40,7 @@ It also supports some neat features like:
36
  * Toggled toolbar
37
  * Striped lines
38
  * Line marking (for important lines)
 
39
  * Starting line number (default is 1)
40
  * Local directory to search for local files
41
  * File extension detection
@@ -45,6 +50,7 @@ It also supports some neat features like:
45
 
46
  **Links**
47
 
 
48
  * <a href="http://aksandbox.webege.com/?p=1" target="_blank">Live Demo</a>
49
  * <a href="http://ak.net84.net/projects/crayon-syntax-highlighter/" target="_blank">Short How-To</a>
50
 
@@ -55,14 +61,14 @@ There are many ways you can help!
55
  * Make a Theme and share
56
  * Add support for your favourite <a href="http://ak.net84.net/projects/crayon-language-file-specification/" target="_blank">Language</a>
57
  * Write a post about your pastel experiences and share
58
- * <a href="https://www.paypal.com/au/cgi-bin/webscr?cmd=_flow&SESSION=PPqWIQJ0gEZp4pVGNnYzhcwFGvx3MGwD95tvUcZgeYlHIEjBS7x6QHG34B4&dispatch=5885d80a13c0db1f8e263663d3faee8d0288a7fd2903afb85a5540fd44243d03" target="_blank">Donate</a> to the project
59
 
60
  **Supported Languages**
61
 
62
  Languages are defined in language files using Regular Expressions to capture elements.
63
  See the <a href="http://ak.net84.net/projects/crayon-language-file-specification/" target="_blank">Crayon Language File Specification</a> to learn how to make your own.
64
 
65
- * Default Langauge (one size fits all, highlights generic code)
66
  * ABAP
67
  * ActionScript
68
  * Apache
@@ -74,9 +80,14 @@ See the <a href="http://ak.net84.net/projects/crayon-language-file-specification
74
  * C++
75
  * CSS
76
  * Delphi/Pascal (thanks to <a href="http://squashbrain.com/" target="_blank">Chris McClenny</a>)
 
 
 
77
  * Haskell
78
  * HTML (XML/XHTML)
79
  * Lua
 
 
80
  * Monkey (thanks to <a href="https://github.com/devolonter" target="_blank">Devolonter</a>)
81
  * Java
82
  * JavaScript
@@ -89,6 +100,7 @@ See the <a href="http://ak.net84.net/projects/crayon-language-file-specification
89
  * Ruby
90
  * Scheme (thanks to <a href="https://github.com/harry75369" target="_blank">Harry75369</a>)
91
  * Shell (Unix)
 
92
  * TeX
93
  * Visual Basic
94
  * YAML
@@ -102,16 +114,20 @@ See the <a href="http://ak.net84.net/projects/crayon-language-file-specification
102
  * German (thanks to <a href="http://www.technologyblog.de/" target="_blank">Stephan Knau&szlig;</a>)
103
  * Italian (thanks to <a href="http://www.federicobellucci.net/" target="_blank">Federico Bellucci</a>)
104
  * Lithuanian (thanks to <a href="http://www.host1free.com" target="_blank">Vincent G</a>)
105
- * Spanish
106
  * Japanese (thanks to <a href="https://twitter.com/#!/west_323" target="_blank">@west_323</a>)
107
  * Russian (thanks to <a href="http://simplelib.com" target="_blank">Minimus</a> & <a href="http://atlocal.net/" target="_blank">Di_Skyer</a>)
108
- * Turkish (thanks to <a href="http://kazancexpert.com" target="_blank">Hakan</a>)
109
  * Help from translators at improving/adding to this list greatly appreciated!
110
 
111
  **Articles**
112
 
113
  These are helpful for discovering new features.
114
 
 
 
 
 
115
  * <a href="http://ak.net84.net/projects/crayon-tag-editor/" target="_blank">Crayon Tag Editor</a>
116
  * <a href="http://ak.net84.net/projects/mixed-language-highlighting-in-crayon/" target="_blank">Mixed Language Highlighting in Crayon</a>
117
  * <a href="http://ak.net84.net/projects/mini-tags-in-crayon/" target="_blank">Mini Tags And Plain Tags In Crayon</a>
@@ -122,7 +138,10 @@ These are helpful for discovering new features.
122
 
123
  A handful of articles from others written about Crayon, thanks guys!
124
 
125
- * <a href="http://www.trynull.com/2012/06/15/finally-wordpress-code-syntax-highlighting-that-works/" target="_blank">Finally!… WordPress code syntax highlighting that works</a>
 
 
 
126
  * <a href="http://selfpwnt.com/crayon-syntax-highlighter-and-its-studly-author/" target="_blank">Crayon Syntax Highlighter (and its studly author)</a>
127
  * <a href="http://bit51.com/add-code-to-your-wordpress-posts-with-crayon-syntax-highlighter/" target="_blank">Add Code To Your WordPress Posts With Crayon Syntax Highlighter</a>
128
  * <a href="http://www.wpsquare.com/syntax-highlighter-wordpress-plugins/" target="_blank">15 Best Syntax Highlighter WordPress Plugins</a>
@@ -140,10 +159,35 @@ A handful of articles from others written about Crayon, thanks guys!
140
 
141
  * Performance, minimised resources
142
  * Theme Editor
143
- * Line wrapping
144
- * Go language support
145
  * Integrated commenting
146
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
147
  == Installation ==
148
 
149
  * Download the .zip of the plugin and extract the contents.
@@ -205,6 +249,74 @@ Contact me at http://twitter.com/crayonsyntax or crayon.syntax@gmail.com.
205
 
206
  == Changelog ==
207
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
208
  = 1.10 =
209
  * Added Dutch translation thanks to <a href="https://twitter.com/#!/chilionsnoek">@chilionsnoek</a>.
210
  * Added Delphi/Pascal thanks to Chris McClenny (http://squashbrain.com/)
@@ -655,25 +767,3 @@ http://wordpress.org/support/topic/plugin-crayon-syntax-highlighter-this-plugin-
655
 
656
  Make sure to upgrade to the latest release when possible to ensure you avoid bugs others have found and enjoy new features.
657
 
658
- == Donations ==
659
-
660
- Thanks to all those who donate to my project, your support keeps the Crayons going!
661
-
662
- * Jeff Benshetler, USA
663
- * Oldrich Strachota, (http://www.strachota.net/), Czech Republic
664
- * Dividend Ninja, (http://dividendninja.com/), Canada
665
- * Chris Wiegman, (http://bit51.com/), USA
666
- * Sven Meier, (http://www.codesix.net/), Germany
667
- * Christy Wiggins, (http://www.jinxyisms.com/), USA
668
- * eSnipe, Inc. (http://esnipe.com/), USA (again!)
669
- * Aliseya Wright, (http://blog.xoxothemes.com/), USA
670
- * Jeremy Worboys (http://complexcompulsions.com/), Australia
671
- * Steve McGough, Spider Creations, LLC. (http://spidercreations.net/), USA
672
- * eSnipe, Inc. (http://esnipe.com/), USA
673
- * Gerald Drouillard (http://www.drouillard.biz/), USA
674
- * Greg Pettit (http://blog.monkey-house.ca/), Canada
675
- * Waimanu Solutions (http://daveblog.waimanu.web44.net/), USA
676
- * Andrew McDonnell (http://blog.oldcomputerjunk.net/), Australia
677
- * Perry Bonewell (http://pointatthemoon.co.uk/), United Kingdom
678
- * Nick Weisser (http://www.openstream.ch/), Switzerland
679
-
1
  === Crayon Syntax Highlighter ===
2
  Contributors: akarmenia
3
+ Donate link: https://www.paypal.com/au/cgi-bin/webscr?cmd=_flow&SESSION=4FKp23py2y97iYDcCYZ9zOSEMedaceiEpb8Pvf_qQyezHR3TQROKd_IeRfC&dispatch=5885d80a13c0db1f8e263663d3faee8d0b7e678a25d883d0fa72c947f193f8fd
4
+ License: GPLv2 or later
5
+ Tags: syntax highlighter, syntax, highlighter, highlighting, crayon, code highlighter, bbpress
6
  Requires at least: 3.0
7
+ Tested up to: 3.4.2
8
+ Stable tag: 1.14
9
 
10
  Syntax Highlighter supporting multiple languages, themes, fonts, highlighting from a URL, local file or post text.
11
 
21
  * Toggled line numbers
22
  * Copy/paste code
23
  * Open code in a new window (popup)
24
+ * Line wrapping
25
+ * bbPress 2 support
26
+ * <a href="http://bit.ly/ReRr0i" target="_blank">Converting legacy code in blog posts/comments to &lt;pre&gt;</a>
27
  * Remote request caching
28
  * <a href="http://ak.net84.net/projects/mixed-language-highlighting-in-crayon/" target="_blank">Mixed Language Highlighting</a> in a single Crayon
29
  * <a href="http://ak.net84.net/projects/mini-tags-in-crayon/" target="_blank">Mini Tags</a> like [php][/php]
40
  * Toggled toolbar
41
  * Striped lines
42
  * Line marking (for important lines)
43
+ * <a href="http://ak.net84.net/crayon/line-ranges-in-crayon/" target="_blank">Line ranges (showing only parts of the code)</a>
44
  * Starting line number (default is 1)
45
  * Local directory to search for local files
46
  * File extension detection
50
 
51
  **Links**
52
 
53
+ * <a href="https://github.com/aramkocharyan/crayon-syntax-highlighter" target="_blank">Beta Releases</a>
54
  * <a href="http://aksandbox.webege.com/?p=1" target="_blank">Live Demo</a>
55
  * <a href="http://ak.net84.net/projects/crayon-syntax-highlighter/" target="_blank">Short How-To</a>
56
 
61
  * Make a Theme and share
62
  * Add support for your favourite <a href="http://ak.net84.net/projects/crayon-language-file-specification/" target="_blank">Language</a>
63
  * Write a post about your pastel experiences and share
64
+ * <a href="https://www.paypal.com/au/cgi-bin/webscr?cmd=_flow&SESSION=4FKp23py2y97iYDcCYZ9zOSEMedaceiEpb8Pvf_qQyezHR3TQROKd_IeRfC&dispatch=5885d80a13c0db1f8e263663d3faee8d0b7e678a25d883d0fa72c947f193f8fd" target="_blank">Donate</a> to the project
65
 
66
  **Supported Languages**
67
 
68
  Languages are defined in language files using Regular Expressions to capture elements.
69
  See the <a href="http://ak.net84.net/projects/crayon-language-file-specification/" target="_blank">Crayon Language File Specification</a> to learn how to make your own.
70
 
71
+ * Default Language (one size fits all, highlights generic code)
72
  * ABAP
73
  * ActionScript
74
  * Apache
80
  * C++
81
  * CSS
82
  * Delphi/Pascal (thanks to <a href="http://squashbrain.com/" target="_blank">Chris McClenny</a>)
83
+ * Diff (thanks to <a href="http://omniavin.co/post/262" target="_blank">omniavin</a>)
84
+ * Erlang (thanks to <a href="http://netroid.de/" target="_blank">Daniel</a>)
85
+ * Go
86
  * Haskell
87
  * HTML (XML/XHTML)
88
  * Lua
89
+ * Microsoft Registry (thanks to <a href="http://techexplored.com/2012/03/21/crayon-syntax-highlighter-reg-support/" target="_blank">techexplored.com</a>)
90
+ * MIVA Script
91
  * Monkey (thanks to <a href="https://github.com/devolonter" target="_blank">Devolonter</a>)
92
  * Java
93
  * JavaScript
100
  * Ruby
101
  * Scheme (thanks to <a href="https://github.com/harry75369" target="_blank">Harry75369</a>)
102
  * Shell (Unix)
103
+ * Transact-SQL
104
  * TeX
105
  * Visual Basic
106
  * YAML
114
  * German (thanks to <a href="http://www.technologyblog.de/" target="_blank">Stephan Knau&szlig;</a>)
115
  * Italian (thanks to <a href="http://www.federicobellucci.net/" target="_blank">Federico Bellucci</a>)
116
  * Lithuanian (thanks to <a href="http://www.host1free.com" target="_blank">Vincent G</a>)
117
+ * Spanish (thanks to <a href="http://www.hbravo.com/" target="_blank">Hermann Bravo</a>)
118
  * Japanese (thanks to <a href="https://twitter.com/#!/west_323" target="_blank">@west_323</a>)
119
  * Russian (thanks to <a href="http://simplelib.com" target="_blank">Minimus</a> & <a href="http://atlocal.net/" target="_blank">Di_Skyer</a>)
120
+ * Turkish (thanks to <a href="http://hakanertr.wordpress.com" target="_blank">Hakan</a>)
121
  * Help from translators at improving/adding to this list greatly appreciated!
122
 
123
  **Articles**
124
 
125
  These are helpful for discovering new features.
126
 
127
+ * <a href="http://ak.net84.net/crayon/internal-post-management-crayon/" target="_blank">Internal Post Management in Crayon</a>
128
+ * <a href="http://ak.net84.net/crayon/converting-legacy-tags-to-pre/" target="_blank">Converting Legacy Tags to &lt;pre&gt;</a>
129
+ * <a href="http://ak.net84.net/crayon/crayon-with-bbpress/" target="_blank">Crayon with bbPress</a>
130
+ * <a href="http://ak.net84.net/crayon/line-ranges-in-crayon/" target="_blank">Line Ranges in Crayon</a>
131
  * <a href="http://ak.net84.net/projects/crayon-tag-editor/" target="_blank">Crayon Tag Editor</a>
132
  * <a href="http://ak.net84.net/projects/mixed-language-highlighting-in-crayon/" target="_blank">Mixed Language Highlighting in Crayon</a>
133
  * <a href="http://ak.net84.net/projects/mini-tags-in-crayon/" target="_blank">Mini Tags And Plain Tags In Crayon</a>
138
 
139
  A handful of articles from others written about Crayon, thanks guys!
140
 
141
+ * <a href="http://themesplugins.com/wordpress-Plugin/add-php-java-html-codes-posts-pages/" target="_blank">Crayon Syntax Highlighter Plugin</a>
142
+ * <a href="http://bbpress.org/forums/topic/state-of-syntax-highlighter-support-in-bbpress-2/" target="_blank">State of syntax highlighter support in bbPress 2</a>
143
+ * <a href="http://www.techbrunch.fr/informations/plugin-wordpress-afficher-code-source/" target="_blank">The ultimate plugin for displaying code in WordPress (French)</a>
144
+ * <a href="http://www.trynull.com/2012/06/15/finally-wordpress-code-syntax-highlighting-that-works/" target="_blank">Finally!�A WordPress code syntax highlighting that works</a>
145
  * <a href="http://selfpwnt.com/crayon-syntax-highlighter-and-its-studly-author/" target="_blank">Crayon Syntax Highlighter (and its studly author)</a>
146
  * <a href="http://bit51.com/add-code-to-your-wordpress-posts-with-crayon-syntax-highlighter/" target="_blank">Add Code To Your WordPress Posts With Crayon Syntax Highlighter</a>
147
  * <a href="http://www.wpsquare.com/syntax-highlighter-wordpress-plugins/" target="_blank">15 Best Syntax Highlighter WordPress Plugins</a>
159
 
160
  * Performance, minimised resources
161
  * Theme Editor
 
 
162
  * Integrated commenting
163
 
164
+ **Donations**
165
+
166
+ Thanks to all those who donate to my project, your support keeps the Crayons going!
167
+
168
+ * Jack Fruh, (http://basementjack.com/), USA
169
+ * Ross Barbieri, USA
170
+ * Will, Simple Phishing Toolkit (http://www.sptoolkit.com/), USA
171
+ * Tricia Aanderud, USA
172
+ * Tarek Sakr, (http://centrivision.com/), USA
173
+ * Jeff Benshetler, (http://branchpoint.net/), USA
174
+ * Oldrich Strachota, (http://www.strachota.net/), Czech Republic
175
+ * Dividend Ninja, (http://dividendninja.com/), Canada
176
+ * Chris Wiegman, (http://bit51.com/), USA
177
+ * Sven Meier, (http://www.codesix.net/), Germany
178
+ * Christy Wiggins, (http://www.jinxyisms.com/), USA
179
+ * eSnipe, Inc. (http://esnipe.com/), USA (again!)
180
+ * Aliseya Wright, (http://blog.xoxothemes.com/), USA
181
+ * Jeremy Worboys (http://complexcompulsions.com/), Australia
182
+ * Steve McGough, Spider Creations, LLC. (http://spidercreations.net/), USA
183
+ * eSnipe, Inc. (http://esnipe.com/), USA
184
+ * Gerald Drouillard (http://www.drouillard.biz/), USA
185
+ * Greg Pettit (http://blog.monkey-house.ca/), Canada
186
+ * Waimanu Solutions (http://daveblog.waimanu.web44.net/), USA
187
+ * Andrew McDonnell (http://blog.oldcomputerjunk.net/), Australia
188
+ * Perry Bonewell (http://pointatthemoon.co.uk/), United Kingdom
189
+ * Nick Weisser (http://www.openstream.ch/), Switzerland
190
+
191
  == Installation ==
192
 
193
  * Download the .zip of the plugin and extract the contents.
249
 
250
  == Changelog ==
251
 
252
+ = 1.14.1 =
253
+ * Improved version updating
254
+
255
+ = 1.14 =
256
+ * All AJAX functions are now using the wp_ajax action and admin-ajax.php method defined here: http://codex.wordpress.org/AJAX_in_Plugins. This means Crayon no longer passes around the wp_load path and doesn't use it as a $_GET variable to load AJAX requests. The security vulnerability in 1.13 is no longer present and that code has been removed.
257
+ * font-size and line-height has been removed from the crayon style CSS and is specified using the settings screen - the custom font size is enabled at 12px. This allows you to disable the custom font size and allow your own CSS to take control of the sizing for you. With the custom size disabled the inherited size is applied, so the code will appear at the size of its parent element based on your wordpress theme.
258
+ * Update functionality has been improved so the CrayonWP update function is only called when an update is detected from a change in the version string, not every time you load the page! If using lower than 1.14 the custom font size setting is enabled for you, since this setting was disabled by default in previous versions.
259
+ * Fixed a bug preventing Tag Editor from showing on the front end (related to the AJAX fix)
260
+ * Moved global js variables to the init functions which are called on ready()
261
+ * Fancybox now uses "fancybox" as the script name and checks if another version is already queued
262
+ * Fixed a bug where post previews were not displaying any Crayon code
263
+ * Fixed an issue with code wrap not reverting when disabled
264
+ * Fixed a bug causing code wrap from distorting the style of the popup
265
+ * Added Erlang thanks to Daniel (<a href="http://netroid.de/" target="_blank">adostudio.it</a>)
266
+ * Fixed a bug where languages were parsed too late to pick up language modes
267
+ * Updated German translation.
268
+
269
+ = 1.13.1 =
270
+ * Fixed an bug with file paths on Windows causing false positives for the security checks needed to load AJAX requests; thanks to Andreas Giemza.
271
+ * Fixed a bug in list_posts.php, also thanks to Andreas.
272
+ * Added a more spaced classic theme, mostly for testing at the moment.
273
+
274
+ = 1.13 =
275
+ * Added line wrapping.
276
+ * Fixed a bug in converting tags.
277
+ * Fixed a bug preventing Tag Editor from opening in HTML editor.
278
+ * From now on, only the wp-admin will reveal your wordpress install directory.
279
+ * The plain code now wraps based on the toggle setting.
280
+ * Fixed a potential vulnerability when loading components through AJAX and a remote PHP file path is provided. Thanks to Charlie Eriksen via Secunia SVCRP.
281
+ * Spanish updated
282
+
283
+ = 1.12.1 =
284
+ * Fixed a bug with bbPress preventing posts from appearing.
285
+
286
+ = 1.12 =
287
+ * Added ability to convert all legacy Crayon tags in blog posts and comments to &lt;pre&gt; tags, retaining all attributes. These are the accepted standard for the Tag Editor and they're backwards compatible (if Crayon is off or you're using another highlighter).
288
+ * Added a button in the settings page to display the list of posts with Crayon tags
289
+ * Fixed a bug causing posts with Crayon tags only in the comments (not the post content) to be ignored.
290
+ * Added Go Language
291
+ * Added 4 new fonts suggested by <a href="http://andrealazzarotto.com/" target="_blank">Andrea Lazzarotto</a>
292
+ * Added Ado theme thanks to <a href="http://adostudio.it/" target="_blank">adostudio.it</a>
293
+ * Superfluous &lt;code&gt; tags wrapping around the code are removed
294
+ * Fixed encoding bug in rss feeds, now takes decode setting into account
295
+ * Fixed mixed highlighting + icon from showing all the time, only shows with mixed language code
296
+ * Fixed a bug introduced in 1.11 that caused the page to scroll up to the top on refresh
297
+ * Updated Spanish and Turkish translations
298
+
299
+ = 1.11 =
300
+ * Added bbPress support.
301
+ * Integrated Tag Editor with Fancybox, switched from the discontinued ThickBox, a fair amount of changes took place.
302
+ * Crayon should now appear pretty much anywhere TinyMCE does, and this can be tweaked to add more options later.
303
+ * Added setting to disable Tag Editor on front end, and/or disable its settings.
304
+ * Added the ability to specify <a href="http://ak.net84.net/crayon/line-ranges-in-crayon/" target="_blank">line ranges</a>
305
+ * Added Microsoft Registry language thanks to <a href="http://techexplored.com/2012/03/21/crayon-syntax-highlighter-reg-support/" target="_blank">techexplored.com</a>
306
+ * Added MIVA Script language
307
+ * Added Transact-SQL language
308
+ * Added option to add blank lines before and after the code
309
+ * Wrote a neat GeSHi language file scraper, makes it easier to scrape GeSHi files for grouped keywords and add them as Crayon languages
310
+ * Added improved Spanish translation (thanks to <a href="http://www.hbravo.com/" target="_blank">Hermann Bravo</a>)
311
+
312
+ = 1.10.1 =
313
+ * Added diff language thanks to <a href="http://omniavin.co/post/262" target="_blank">omniavin</a>
314
+ * Fixed CSS rule for plain-wrap
315
+ * Added CSS class and white background to popup window
316
+ * Removed noConflict() that was causing jQuery to fail on scripts that used $
317
+ * Fixed an issue in the German translation causing "%gt;" (should be "&") to be recognised as an argument in printf.
318
+ * The new method for using the wp_load.php path provided through a GET request from Crayon's js to its PHP should allow redefinitions WP directories in wp_config
319
+
320
  = 1.10 =
321
  * Added Dutch translation thanks to <a href="https://twitter.com/#!/chilionsnoek">@chilionsnoek</a>.
322
  * Added Delphi/Pascal thanks to Chris McClenny (http://squashbrain.com/)
767
 
768
  Make sure to upgrade to the latest release when possible to ensure you avoid bugs others have found and enjoy new features.
769
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
themes/ado/ado.css ADDED
@@ -0,0 +1,172 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*
2
+ Theme Name: Ado
3
+ Description: Classic extended.
4
+ Version: 1
5
+ Author: Andrea Dell'Orco
6
+ Author URI: http://www.adostudio.it/
7
+ */
8
+
9
+ /* Code Style ====================== */
10
+ .crayon-theme-ado {
11
+ border: 1px #999 solid !important;
12
+ text-shadow: none !important;
13
+ background: #fdfdfd !important;
14
+ }
15
+
16
+ /* Inline Style */
17
+ .crayon-theme-ado-inline {
18
+ border: 1px solid #ddd !important;
19
+ background: #fafafa !important;
20
+ }
21
+
22
+ /* Line Numbers */
23
+ .crayon-theme-ado .crayon-nums {
24
+ background: #333333 !important;
25
+ color: #DEDEDE !important;
26
+ border-right: 1px solid #202020 !important;
27
+ }
28
+
29
+ /* Selection */
30
+ .crayon-theme-ado .crayon-code::selection,
31
+ background: #BBEEDA !important;
32
+ color: #269B6C !important;
33
+ }
34
+ .crayon-theme-ado::selection,
35
+ .crayon-theme-ado .crayon-toolbar::selection,
36
+ .crayon-theme-ado .crayon-toolbar *::selection,
37
+ .crayon-theme-ado .crayon-info::selection,
38
+ .crayon-theme-ado .crayon-info *::selection,
39
+ .crayon-theme-ado .crayon-nums::selection,
40
+ .crayon-theme-ado .crayon-nums *::selection {
41
+ background: transparent !important;
42
+ }
43
+
44
+ /* Striped Lines */
45
+ .crayon-theme-ado .crayon-striped-line {
46
+ background: #f7f7f7 !important;
47
+ border: 1px #CCC !important;
48
+ }
49
+ .crayon-theme-ado .crayon-striped-num {
50
+ background: #5B5B5B !important;
51
+ border: 1px #333 !important;
52
+ color: #fff !important;
53
+ }
54
+
55
+ /* Marked Lines */
56
+ .crayon-theme-ado .crayon-marked-line {
57
+ background: #C7F1ED !important;
58
+ border: 1px #9AE7DF !important;
59
+ }
60
+ .crayon-theme-ado .crayon-marked-num {
61
+ color: #82DFC4 !important;
62
+ background: #333333 !important;
63
+ }
64
+ .crayon-theme-ado .crayon-marked-line.crayon-striped-line {
65
+ background: #B7EEE9 !important;
66
+ }
67
+ .crayon-theme-ado .crayon-marked-num.crayon-striped-num {
68
+ background: #5B5B5B !important;
69
+ color: #82DFC4 !important;
70
+ }
71
+ .crayon-theme-ado .crayon-marked-line.crayon-top,
72
+ .crayon-theme-ado .crayon-marked-num.crayon-top {
73
+ border-top-style: solid !important;
74
+ }
75
+ .crayon-theme-ado .crayon-marked-line.crayon-bottom,
76
+ .crayon-theme-ado .crayon-marked-num.crayon-bottom {
77
+ border-bottom-style: solid !important;
78
+ }
79
+
80
+ /* Info */
81
+ .crayon-theme-ado .crayon-info {
82
+ background: #E8E8E8 !important;
83
+ border-bottom: 1px #888888 solid !important;
84
+ color: #595959;
85
+ }
86
+
87
+ /* Toolbar */
88
+ .crayon-theme-ado .crayon-toolbar {
89
+ background: #DDD !important;
90
+ border-bottom: 1px #BBB solid !important;
91
+ }
92
+ .crayon-theme-ado .crayon-toolbar > div {
93
+ float: left !important;
94
+ }
95
+ .crayon-theme-ado .crayon-toolbar .crayon-tools {
96
+ float: right !important;
97
+ }
98
+ .crayon-theme-ado .crayon-title {
99
+ color: #333 !important;
100
+ }
101
+ .crayon-theme-ado .crayon-language {
102
+ color: #999 !important;
103
+ }
104
+
105
+ /* Buttons */
106
+ .crayon-theme-ado a.crayon-button {
107
+ background-color: transparent;
108
+ }
109
+ .crayon-theme-ado a.crayon-button:hover,
110
+ .crayon-theme-ado a.crayon-button.crayon-pressed:hover {
111
+ background-color: #F2F2F2;
112
+ color: #666;
113
+ }
114
+ /* :active MUST come after :hover */
115
+ .crayon-theme-ado a.crayon-button.crayon-pressed,
116
+ .crayon-theme-ado a.crayon-button.crayon-pressed:active,
117
+ .crayon-theme-ado a.crayon-button:active {
118
+ background-color: #BBB;
119
+ color: #FFF;
120
+ }
121
+
122
+ /* End Code Style ================== */
123
+
124
+ /* Syntax Highlighting ============= */
125
+ .crayon-theme-ado .crayon-pre .c {
126
+ color: #ff8000 !important;
127
+ }
128
+ .crayon-theme-ado .crayon-pre .p {
129
+ color: #b85c00 !important;
130
+ }
131
+ .crayon-theme-ado .crayon-pre .s {
132
+ color: #008000 !important;
133
+ }
134
+ .crayon-theme-ado .crayon-pre .k,
135
+ .crayon-theme-ado .crayon-pre .st,
136
+ .crayon-theme-ado .crayon-pre .r,
137
+ .crayon-theme-ado .crayon-pre .t,
138
+ .crayon-theme-ado .crayon-pre .m {
139
+ color: #800080 !important;
140
+ }
141
+ .crayon-theme-ado .crayon-pre .ta {
142
+ color: #FF0000 !important;
143
+ }
144
+ .crayon-theme-ado .crayon-pre .i {
145
+ color: #000 !important;
146
+ }
147
+ .crayon-theme-ado .crayon-pre .v {
148
+ color: #002D7A !important;
149
+ }
150
+ .crayon-theme-ado .crayon-pre .e {
151
+ color: #004ed0 !important;
152
+ }
153
+ .crayon-theme-ado .crayon-pre .cn {
154
+ color: #ce0000 !important;
155
+ }
156
+ .crayon-theme-ado .crayon-pre .o,
157
+ .crayon-theme-ado .crayon-pre .h {
158
+ color: #006fe0 !important;
159
+ }
160
+ .crayon-theme-ado .crayon-pre .sy {
161
+ color: #333 !important;
162
+ }
163
+ .crayon-theme-ado .crayon-pre .n {
164
+ color: #666 !important;
165
+ font-style: italic;
166
+ }
167
+ .crayon-theme-ado .crayon-pre .f {
168
+ color: #999 !important;
169
+ }
170
+ /* End Syntax Highlighting ========= */
171
+
172
+ /* End Classic Scheme ============================================ */
themes/classic-spaced/classic-spaced.css ADDED
@@ -0,0 +1,190 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*
2
+ Theme Name: Classic Spaced
3
+ Description: Clean, crisp and colorful.
4
+ Version: 1.3
5
+ Author: Aram Kocharyan
6
+ Author URI: http://ak.net84.net/
7
+ */
8
+
9
+ /* Code Style ====================== */
10
+ .crayon-theme-classic-spaced {
11
+ border: 1px #999 solid !important;
12
+ text-shadow: none !important;
13
+ }
14
+
15
+ .crayon-theme-classic-spaced,
16
+ .crayon-theme-classic-spaced .crayon-nums,
17
+ .crayon-theme-classic-spaced .crayon-plain,
18
+ .crayon-theme-classic-spaced .crayon-pre {
19
+ font-size: 12px !important;
20
+ line-height: 20px !important;
21
+ }
22
+ .crayon-theme-classic-spaced .crayon-num,
23
+ .crayon-theme-classic-spaced .crayon-line {
24
+ height: 20px;
25
+ }
26
+
27
+ .crayon-theme-classic-spaced,
28
+ .crayon-theme-classic-spaced .crayon-code {
29
+ background: #fdfdfd !important;
30
+ }
31
+
32
+ /* Inline Style */
33
+ .crayon-theme-classic-spaced-inline {
34
+ border: 1px solid #ddd !important;
35
+ background: #fafafa !important;
36
+ }
37
+
38
+ /* Line Numbers */
39
+ .crayon-theme-classic-spaced .crayon-nums {
40
+ background: #dfefff !important;
41
+ color: #5499de !important;
42
+ border-right: 1px solid #b3d3f3 !important;
43
+ }
44
+
45
+ /* Selection */
46
+ .crayon-theme-classic-spaced .crayon-code::selection,
47
+ .crayon-theme-classic-spaced .crayon-code *::selection {
48
+ background: #ddeeff !important;
49
+ color: #316ba5 !important;
50
+ }
51
+ .crayon-theme-classic-spaced::selection,
52
+ .crayon-theme-classic-spaced .crayon-toolbar::selection,
53
+ .crayon-theme-classic-spaced .crayon-toolbar *::selection,
54
+ .crayon-theme-classic-spaced .crayon-info::selection,
55
+ .crayon-theme-classic-spaced .crayon-info *::selection,
56
+ .crayon-theme-classic-spaced .crayon-nums::selection,
57
+ .crayon-theme-classic-spaced .crayon-nums *::selection {
58
+ background: transparent !important;
59
+ }
60
+
61
+ /* Striped Lines */
62
+ .crayon-theme-classic-spaced .crayon-striped-line {
63
+ background: #f7f7f7 !important;
64
+ border: 1px #CCC !important;
65
+ }
66
+ .crayon-theme-classic-spaced .crayon-striped-num {
67
+ background: #c8e1fa !important;
68
+ border: 1px #CCC !important;
69
+ color: #317cc5 !important;
70
+ }
71
+
72
+ /* Marked Lines */
73
+ .crayon-theme-classic-spaced .crayon-marked-line {
74
+ background: #fffee2 !important;
75
+ border: 1px #e9e579 !important;
76
+ }
77
+ .crayon-theme-classic-spaced .crayon-marked-num {
78
+ color: #1561ac !important;
79
+ background: #b3d3f4 !important;
80
+ border: 1px #5999d9 !important;
81
+ }
82
+ .crayon-theme-classic-spaced .crayon-marked-line.crayon-striped-line {
83
+ background: #faf8d1 !important;
84
+ }
85
+ .crayon-theme-classic-spaced .crayon-marked-num.crayon-striped-num {
86
+ background: #9ec5ec !important;
87
+ color: #105395 !important;
88
+ }
89
+ .crayon-theme-classic-spaced .crayon-marked-line.crayon-top,
90
+ .crayon-theme-classic-spaced .crayon-marked-num.crayon-top {
91
+ border-top-style: solid !important;
92
+ }
93
+ .crayon-theme-classic-spaced .crayon-marked-line.crayon-bottom,
94
+ .crayon-theme-classic-spaced .crayon-marked-num.crayon-bottom {
95
+ border-bottom-style: solid !important;
96
+ }
97
+
98
+ /* Info */
99
+ .crayon-theme-classic-spaced .crayon-info {
100
+ background: #faf9d7 !important;
101
+ border-bottom: 1px #b1af5e solid !important;
102
+ color: #7e7d34;
103
+ }
104
+
105
+ /* Toolbar */
106
+ .crayon-theme-classic-spaced .crayon-toolbar {
107
+ background: #DDD !important;
108
+ border-bottom: 1px #BBB solid !important;
109
+ }
110
+ .crayon-theme-classic-spaced .crayon-toolbar > div {
111
+ float: left !important;
112
+ }
113
+ .crayon-theme-classic-spaced .crayon-toolbar .crayon-tools {
114
+ float: right !important;
115
+ }
116
+ .crayon-theme-classic-spaced .crayon-title {
117
+ color: #333 !important;
118
+ }
119
+ .crayon-theme-classic-spaced .crayon-language {
120
+ color: #999 !important;
121
+ }
122
+
123
+ /* Buttons */
124
+ .crayon-theme-classic-spaced a.crayon-button {
125
+ background-color: transparent;
126
+ }
127
+ .crayon-theme-classic-spaced a.crayon-button:hover,
128
+ .crayon-theme-classic-spaced a.crayon-button.crayon-pressed:hover {
129
+ background-color: #EEE;
130
+ color: #666;
131
+ }
132
+ /* :active MUST come after :hover */
133
+ .crayon-theme-classic-spaced a.crayon-button.crayon-pressed,
134
+ .crayon-theme-classic-spaced a.crayon-button.crayon-pressed:active,
135
+ .crayon-theme-classic-spaced a.crayon-button:active {
136
+ background-color: #BCBCBC;
137
+ color: #FFF;
138
+ }
139
+
140
+ /* End Code Style ================== */
141
+
142
+ /* Syntax Highlighting ============= */
143
+ .crayon-theme-classic-spaced .crayon-pre .c {
144
+ color: #ff8000 !important;
145
+ }
146
+ .crayon-theme-classic-spaced .crayon-pre .p {
147
+ color: #b85c00 !important;
148
+ }
149
+ .crayon-theme-classic-spaced .crayon-pre .s {
150
+ color: #008000 !important;
151
+ }
152
+ .crayon-theme-classic-spaced .crayon-pre .k,
153
+ .crayon-theme-classic-spaced .crayon-pre .st,
154
+ .crayon-theme-classic-spaced .crayon-pre .r,
155
+ .crayon-theme-classic-spaced .crayon-pre .t,
156
+ .crayon-theme-classic-spaced .crayon-pre .m {
157
+ color: #800080 !important;
158
+ }
159
+ .crayon-theme-classic-spaced .crayon-pre .ta {
160
+ color: #FF0000 !important;
161
+ }
162
+ .crayon-theme-classic-spaced .crayon-pre .i {
163
+ color: #000 !important;
164
+ }
165
+ .crayon-theme-classic-spaced .crayon-pre .v {
166
+ color: #002D7A !important;
167
+ }
168
+ .crayon-theme-classic-spaced .crayon-pre .e {
169
+ color: #004ed0 !important;
170
+ }
171
+ .crayon-theme-classic-spaced .crayon-pre .cn {
172
+ color: #ce0000 !important;
173
+ }
174
+ .crayon-theme-classic-spaced .crayon-pre .o,
175
+ .crayon-theme-classic-spaced .crayon-pre .h {
176
+ color: #006fe0 !important;
177
+ }
178
+ .crayon-theme-classic-spaced .crayon-pre .sy {
179
+ color: #333 !important;
180
+ }
181
+ .crayon-theme-classic-spaced .crayon-pre .n {
182
+ color: #666 !important;
183
+ font-style: italic;
184
+ }
185
+ .crayon-theme-classic-spaced .crayon-pre .f {
186
+ color: #999 !important;
187
+ }
188
+ /* End Syntax Highlighting ========= */
189
+
190
+ /* End Classic Scheme ============================================ */
trans/crayon-syntax-highlighter-de_DE.mo CHANGED
Binary file
trans/crayon-syntax-highlighter-de_DE.po CHANGED
@@ -1,17 +1,17 @@
1
  msgid ""
2
  msgstr ""
3
- "Project-Id-Version: crayon-syntax-highlighter\n"
4
  "Report-Msgid-Bugs-To: \n"
5
  "POT-Creation-Date: 2011-12-10 17:11+1000\n"
6
- "PO-Revision-Date: 2011-12-10 17:17+1000\n"
7
  "Last-Translator: \n"
8
  "Language-Team: \n"
9
  "MIME-Version: 1.0\n"
10
  "Content-Type: text/plain; charset=UTF-8\n"
11
  "Content-Transfer-Encoding: 8bit\n"
12
  "Plural-Forms: nplurals=2; plural=n != 1;\n"
13
- "X-Poedit-Language: German\n"
14
- "X-Poedit-Country: Germany\n"
15
  "X-Poedit-SourceCharset: utf-8\n"
16
  "X-Poedit-KeywordsList: __;_e;__ngettext:1,2;_n:1,2;__ngettext_noop:1,2;_n_noop:1,2;_c,_nc:4c,1,2;_x:1,2c;_ex:1,2c;_nx:4c,1,2;_nx_noop:4c,1,2;\n"
17
  "X-Poedit-Basepath: .\n"
@@ -19,437 +19,437 @@ msgstr ""
19
  "X-Poedit-SearchPath-0: ..\n"
20
  "X-Textdomain-Support: yes"
21
 
22
- #: crayon_settings.class.php:150
23
- #: crayon_settings.class.php:154
24
  #@ crayon-syntax-highlighter
25
  msgid "Max"
26
  msgstr "Max"
27
 
28
- #: crayon_settings.class.php:150
29
- #: crayon_settings.class.php:154
30
  #@ crayon-syntax-highlighter
31
  msgid "Min"
32
  msgstr "Min"
33
 
34
- #: crayon_settings.class.php:150
35
- #: crayon_settings.class.php:154
36
  #@ crayon-syntax-highlighter
37
  msgid "Static"
38
  msgstr "Fix"
39
 
40
- #: crayon_settings.class.php:152
41
- #: crayon_settings.class.php:156
42
- #: crayon_settings_wp.class.php:541
43
- #: crayon_settings_wp.class.php:550
44
- #: crayon_settings_wp.class.php:649
45
  #@ crayon-syntax-highlighter
46
  msgid "Pixels"
47
  msgstr "Pixels"
48
 
49
- #: crayon_settings.class.php:152
50
- #: crayon_settings.class.php:156
51
  #@ crayon-syntax-highlighter
52
  msgid "Percent"
53
  msgstr "Prozent"
54
 
55
- #: crayon_settings.class.php:165
56
  #@ crayon-syntax-highlighter
57
  msgid "None"
58
  msgstr "Keine"
59
 
60
- #: crayon_settings.class.php:165
61
  #@ crayon-syntax-highlighter
62
  msgid "Left"
63
  msgstr "Links"
64
 
65
- #: crayon_settings.class.php:165
66
  #@ crayon-syntax-highlighter
67
  msgid "Center"
68
  msgstr "Mitte"
69
 
70
- #: crayon_settings.class.php:165
71
  #@ crayon-syntax-highlighter
72
  msgid "Right"
73
  msgstr "Rechts"
74
 
75
- #: crayon_settings.class.php:167
76
- #: crayon_settings.class.php:189
77
  #@ crayon-syntax-highlighter
78
  msgid "On MouseOver"
79
  msgstr "Bei MouseOver"
80
 
81
- #: crayon_settings.class.php:167
82
- #: crayon_settings.class.php:173
83
  #@ crayon-syntax-highlighter
84
  msgid "Always"
85
  msgstr "Immer"
86
 
87
- #: crayon_settings.class.php:167
88
- #: crayon_settings.class.php:173
89
  #@ crayon-syntax-highlighter
90
  msgid "Never"
91
  msgstr "Nie"
92
 
93
- #: crayon_settings.class.php:173
94
  #@ crayon-syntax-highlighter
95
  msgid "When Found"
96
  msgstr "Wenn gefunden"
97
 
98
- #: crayon_settings.class.php:189
99
  #@ crayon-syntax-highlighter
100
  msgid "On Double Click"
101
  msgstr "Bei Doppelklick"
102
 
103
- #: crayon_settings.class.php:189
104
  #@ crayon-syntax-highlighter
105
  msgid "On Single Click"
106
  msgstr "Bei Mausklick"
107
 
108
- #: crayon_settings.class.php:196
109
  #@ crayon-syntax-highlighter
110
  msgid "An error has occurred. Please try again later."
111
  msgstr "Ein Fehler ist aufgetreten. Bitte versuchen Sie es später erneut."
112
 
113
  #: crayon_settings_wp.class.php:44
114
- #: crayon_settings_wp.class.php:118
115
- #: crayon_settings_wp.class.php:802
116
- #: util/tag-editor/crayon_te_content.php:114
117
  #@ crayon-syntax-highlighter
118
  msgid "Settings"
119
  msgstr "Einstellungen"
120
 
121
- #: crayon_settings_wp.class.php:99
122
  #@ crayon-syntax-highlighter
123
  msgid "You do not have sufficient permissions to access this page."
124
  msgstr "Sie verfügen nicht über ausreichende Berechtigungen um diese Seite zu betreten."
125
 
126
- #: crayon_settings_wp.class.php:130
127
  #@ crayon-syntax-highlighter
128
  msgid "Save Changes"
129
  msgstr "Änderungen speichern"
130
 
131
- #: crayon_settings_wp.class.php:136
132
  #@ crayon-syntax-highlighter
133
  msgid "Reset Settings"
134
  msgstr "Einstellungen zurücksetzen"
135
 
136
- #: crayon_settings_wp.class.php:518
137
  #@ crayon-syntax-highlighter
138
  msgid "Height"
139
  msgstr "Höhe"
140
 
141
- #: crayon_settings_wp.class.php:524
142
  #@ crayon-syntax-highlighter
143
  msgid "Width"
144
  msgstr "Breite"
145
 
146
- #: crayon_settings_wp.class.php:530
147
  #@ crayon-syntax-highlighter
148
  msgid "Top Margin"
149
  msgstr "Oberer Rand"
150
 
151
- #: crayon_settings_wp.class.php:531
152
  #@ crayon-syntax-highlighter
153
  msgid "Bottom Margin"
154
  msgstr "Unterer Rand"
155
 
156
- #: crayon_settings_wp.class.php:532
157
- #: crayon_settings_wp.class.php:537
158
  #@ crayon-syntax-highlighter
159
  msgid "Left Margin"
160
  msgstr "Linker Rand"
161
 
162
- #: crayon_settings_wp.class.php:533
163
- #: crayon_settings_wp.class.php:537
164
  #@ crayon-syntax-highlighter
165
  msgid "Right Margin"
166
  msgstr "Rechter Rand"
167
 
168
- #: crayon_settings_wp.class.php:543
169
  #@ crayon-syntax-highlighter
170
  msgid "Horizontal Alignment"
171
  msgstr "Horizontale Ausrichtung"
172
 
173
- #: crayon_settings_wp.class.php:546
174
  #@ crayon-syntax-highlighter
175
  msgid "Allow floating elements to surround Crayon"
176
  msgstr "Crayon in Floating Elemente einbetten"
177
 
178
- #: crayon_settings_wp.class.php:556
179
  #@ crayon-syntax-highlighter
180
  msgid "Display the Toolbar"
181
  msgstr "Symbolleiste anzeigen"
182
 
183
- #: crayon_settings_wp.class.php:559
184
  #@ crayon-syntax-highlighter
185
  msgid "Overlay the toolbar on code rather than push it down when possible"
186
  msgstr "Versuchen mit Symbolleiste Code zu überlagern statt zu verschieben"
187
 
188
- #: crayon_settings_wp.class.php:560
189
  #@ crayon-syntax-highlighter
190
  msgid "Toggle the toolbar on single click when it is overlayed"
191
  msgstr "Symbolleiste mit Klick umschalten wenn als Overlay"
192
 
193
- #: crayon_settings_wp.class.php:561
194
  #@ crayon-syntax-highlighter
195
  msgid "Delay hiding the toolbar on MouseOut"
196
  msgstr "Nach MouseOut Symbolleiste verzögert ausblenden"
197
 
198
- #: crayon_settings_wp.class.php:563
199
  #@ crayon-syntax-highlighter
200
  msgid "Display the title when provided"
201
  msgstr "Titel anzeigen wenn vorhanden"
202
 
203
- #: crayon_settings_wp.class.php:564
204
  #@ crayon-syntax-highlighter
205
  msgid "Display the language"
206
  msgstr "Anzeige der Sprache"
207
 
208
- #: crayon_settings_wp.class.php:571
209
  #@ crayon-syntax-highlighter
210
  msgid "Display striped code lines"
211
  msgstr "Anzeige gestreifte Codezeilen"
212
 
213
- #: crayon_settings_wp.class.php:572
214
  #@ crayon-syntax-highlighter
215
  msgid "Enable line marking for important lines"
216
  msgstr "wichtige Zeilen markieren"
217
 
218
- #: crayon_settings_wp.class.php:573
219
  #@ crayon-syntax-highlighter
220
  msgid "Display line numbers by default"
221
  msgstr "Zeilennummern standardmäßig anzeigen"
222
 
223
- #: crayon_settings_wp.class.php:574
224
  #@ crayon-syntax-highlighter
225
  msgid "Enable line number toggling"
226
  msgstr "Zeilennummern umschaltbar"
227
 
228
- #: crayon_settings_wp.class.php:575
229
  #@ crayon-syntax-highlighter
230
  msgid "Start line numbers from"
231
  msgstr "Erste Zeilennummer"
232
 
233
- #: crayon_settings_wp.class.php:585
234
  #@ crayon-syntax-highlighter
235
  msgid "When no language is provided, use the fallback"
236
  msgstr "Wenn keine Sprache festgelegt wird als Standard verwenden"
237
 
238
- #: crayon_settings_wp.class.php:592
239
  #@ crayon-syntax-highlighter
240
  msgid "Parsing was successful"
241
  msgstr "Laden erfolgreich"
242
 
243
- #: crayon_settings_wp.class.php:592
244
  #@ crayon-syntax-highlighter
245
  msgid "Parsing was unsuccessful"
246
  msgstr "Laden fehlgeschlagen"
247
 
248
- #: crayon_settings_wp.class.php:598
249
  #, php-format
250
  #@ crayon-syntax-highlighter
251
  msgid "The selected language with id %s could not be loaded"
252
  msgstr "Die gewählte Sprache mit der id %s konnte nicht geladen werden"
253
 
254
- #: crayon_settings_wp.class.php:602
255
  #@ crayon-syntax-highlighter
256
  msgid "Show Languages"
257
  msgstr "Zeige Sprachen"
258
 
259
- #: crayon_settings_wp.class.php:630
260
  #@ crayon-syntax-highlighter
261
  msgid "Enable Live Preview"
262
  msgstr "Live-Vorschau aktivieren"
263
 
264
- #: crayon_settings_wp.class.php:635
265
  #, php-format
266
  #@ crayon-syntax-highlighter
267
  msgid "The selected theme with id %s could not be loaded"
268
  msgstr "Das gewählte Theme mit id %s konnte nicht geladen werden"
269
 
270
- #: crayon_settings_wp.class.php:647
271
  #@ crayon-syntax-highlighter
272
  msgid "Custom Font Size"
273
  msgstr "Benutzerdefinierte Schriftgröße"
274
 
275
- #: crayon_settings_wp.class.php:652
276
  #, php-format
277
  #@ crayon-syntax-highlighter
278
  msgid "The selected font with id %s could not be loaded"
279
  msgstr "Die ausgewählte Schrift mit der id %s konnte nicht geladen werden"
280
 
281
- #: crayon_settings_wp.class.php:663
282
  #@ crayon-syntax-highlighter
283
  msgid "Enable plain code view and display"
284
  msgstr "Unformatierte Code-Ansicht ermöglichen"
285
 
286
- #: crayon_settings_wp.class.php:668
287
  #@ crayon-syntax-highlighter
288
  msgid "Enable code copy/paste"
289
  msgstr "Code kopieren/einfügen ermöglichen"
290
 
291
- #: crayon_settings_wp.class.php:670
292
  #@ crayon-syntax-highlighter
293
  msgid "Enable opening code in a window"
294
  msgstr "Code in neuem Fenster anzeigbar machen"
295
 
296
- #: crayon_settings_wp.class.php:672
297
  #@ crayon-syntax-highlighter
298
  msgid "Tab size in spaces"
299
  msgstr "Anzahl Leerzeichen für Tabulator"
300
 
301
- #: crayon_settings_wp.class.php:681
302
  #@ crayon-syntax-highlighter
303
  msgid "Remove whitespace surrounding the shortcode content"
304
  msgstr "Leerzeichen um den Shortcode Inhalt entfernen"
305
 
306
- #: crayon_settings_wp.class.php:700
307
  #@ crayon-syntax-highlighter
308
  msgid "When loading local files and a relative path is given for the URL, use the absolute path"
309
  msgstr "Wenn beim Laden von lokalen Dateien ein relativer Pfad für die URL angegeben ist den absoluten Pfad verwenden"
310
 
311
- #: crayon_settings_wp.class.php:713
312
  #@ crayon-syntax-highlighter
313
  msgid "Clear the cache used to store remote code requests"
314
  msgstr "Cache für Remote Code Requests leeren"
315
 
316
- #: crayon_settings_wp.class.php:715
317
  #@ crayon-syntax-highlighter
318
  msgid "Clear Now"
319
  msgstr "Jetzt löschen"
320
 
321
- #: crayon_settings_wp.class.php:721
322
  #@ crayon-syntax-highlighter
323
  msgid "Disable mouse gestures for touchscreen devices (eg. MouseOver)"
324
  msgstr "Deaktiviere Mausgesten für Touchscreen-Geräte (z.B. MouseOver)"
325
 
326
- #: crayon_settings_wp.class.php:722
327
  #@ crayon-syntax-highlighter
328
  msgid "Disable animations"
329
  msgstr "Deaktiviere Animationen"
330
 
331
- #: crayon_settings_wp.class.php:723
332
  #@ crayon-syntax-highlighter
333
  msgid "Disable runtime stats"
334
  msgstr "Deaktiviere Laufzeit Statistiken"
335
 
336
- #: crayon_settings_wp.class.php:729
337
  #@ crayon-syntax-highlighter
338
  msgid "Log errors for individual Crayons"
339
  msgstr "Protokolliere Fehler für individuelle Crayons"
340
 
341
- #: crayon_settings_wp.class.php:730
342
  #@ crayon-syntax-highlighter
343
  msgid "Log system-wide errors"
344
  msgstr "Protokolliere systemweite Fehler"
345
 
346
- #: crayon_settings_wp.class.php:731
347
  #@ crayon-syntax-highlighter
348
  msgid "Display custom message for errors"
349
  msgstr "Benutzerdefinierte Meldungen für Fehler anzeigen"
350
 
351
- #: crayon_settings_wp.class.php:743
352
  #@ crayon-syntax-highlighter
353
  msgid "Show Log"
354
  msgstr "Protokoll anzeigen"
355
 
356
- #: crayon_settings_wp.class.php:745
357
  #@ crayon-syntax-highlighter
358
  msgid "Clear Log"
359
  msgstr "Protokoll löschen"
360
 
361
- #: crayon_settings_wp.class.php:746
362
  #@ crayon-syntax-highlighter
363
  msgid "Email Admin"
364
  msgstr "E-Mail Admin"
365
 
366
- #: crayon_settings_wp.class.php:748
367
  #@ crayon-syntax-highlighter
368
  msgid "Email Developer"
369
  msgstr "E-Mail Entwickler"
370
 
371
- #: crayon_settings_wp.class.php:764
372
  #@ crayon-syntax-highlighter
373
  msgid "Version"
374
  msgstr "Version"
375
 
376
- #: crayon_settings_wp.class.php:766
377
  #@ crayon-syntax-highlighter
378
  msgid "Developer"
379
  msgstr "Entwickler"
380
 
381
- #: crayon_settings_wp.class.php:790
382
  #@ crayon-syntax-highlighter
383
  msgid "The result of innumerable hours of hard work over many months. It's an ongoing project, keep me motivated!"
384
  msgstr "Crayon ist das Ergebnis unzähliger Stunden harter Arbeit über viele Monate hinweg. Das Plugin wird laufend weiterentwickelt. Schreib mir wenn es Dir gefällt!"
385
 
386
- #: crayon_settings_wp.class.php:626
387
  #, php-format
388
  #@ crayon-syntax-highlighter
389
  msgid "Change the %1$sfallback language%2$s to change the sample code. Lines 5-7 are marked."
390
  msgstr "Ändern Sie die %1$sStandard Sprache%2$s um den Beispielcode zu ändern. Zeilen 5-7 sind markiert."
391
 
392
- #: crayon_settings.class.php:138
393
  #@ crayon-syntax-highlighter
394
  msgid "Hourly"
395
  msgstr "Stündlich"
396
 
397
- #: crayon_settings.class.php:138
398
  #@ crayon-syntax-highlighter
399
  msgid "Daily"
400
  msgstr "Täglich"
401
 
402
- #: crayon_settings.class.php:139
403
  #@ crayon-syntax-highlighter
404
  msgid "Weekly"
405
  msgstr "Wöchentlich"
406
 
407
- #: crayon_settings.class.php:139
408
  #@ crayon-syntax-highlighter
409
  msgid "Monthly"
410
  msgstr "Monatlich"
411
 
412
- #: crayon_settings.class.php:140
413
  #@ crayon-syntax-highlighter
414
  msgid "Immediately"
415
  msgstr "Sofort"
416
 
417
- #: crayon_settings_wp.class.php:503
418
  #@ crayon-syntax-highlighter
419
  msgid "Crayon Help"
420
  msgstr "Crayon Hilfe"
421
 
422
- #: crayon_settings_wp.class.php:716
423
  #@ crayon-syntax-highlighter
424
  msgid "Attempt to load Crayon's CSS and JavaScript only when needed"
425
  msgstr "Versuchen Crayon CSS und JavaScript nur bei Bedarf zu laden"
426
 
427
- #: crayon_settings_wp.class.php:703
428
  #@ crayon-syntax-highlighter
429
  msgid "Followed by your relative URL."
430
  msgstr "Gefolgt von Ihrer relativen URL."
431
 
432
- #: crayon_settings_wp.class.php:750
433
  #@ crayon-syntax-highlighter
434
  msgid "The log is currently empty."
435
  msgstr "Das Protokoll ist derzeit leer."
436
 
437
- #: crayon_settings_wp.class.php:752
438
  #@ crayon-syntax-highlighter
439
  msgid "The log file exists and is writable."
440
  msgstr "Die Protokolldatei existiert und ist beschreibbar."
441
 
442
- #: crayon_settings_wp.class.php:752
443
  #@ crayon-syntax-highlighter
444
  msgid "The log file exists and is not writable."
445
  msgstr "Die Protokolldatei existiert und ist nicht beschreibbar."
446
 
447
- #: crayon_settings_wp.class.php:754
448
  #@ crayon-syntax-highlighter
449
  msgid "The log file does not exist and is not writable."
450
  msgstr "Die Protokolldatei existiert nicht und ist nicht schreibbar."
451
 
452
- #: crayon_settings_wp.class.php:591
453
  #, php-format
454
  #@ crayon-syntax-highlighter
455
  msgid "%d language has been detected."
@@ -457,42 +457,42 @@ msgid_plural "%d languages have been detected."
457
  msgstr[0] "%d Sprache wurde erkannt."
458
  msgstr[1] "%d Sprachen wurden erkannt."
459
 
460
- #: crayon_settings_wp.class.php:694
461
  #@ crayon-syntax-highlighter
462
  msgid "Capture &lt;pre&gt; tags as Crayons"
463
  msgstr "&lt;pre&gt; tags wie Crayons behandeln"
464
 
465
- #: crayon_settings_wp.class.php:685
466
  #@ crayon-syntax-highlighter
467
  msgid "Show Mixed Language Icon (+)"
468
  msgstr "Zeige gemischte Sprachen Symbol (+)"
469
 
470
- #: crayon_settings_wp.class.php:683
471
  #@ crayon-syntax-highlighter
472
  msgid "Allow Mixed Language Highlighting with delimiters and tags."
473
  msgstr "Erlaube Hervorhebung gemischter Sprachen mit Trennzeichen und Tags."
474
 
475
- #: crayon_settings_wp.class.php:690
476
  #@ crayon-syntax-highlighter
477
  msgid "Capture Mini Tags like [php][/php] as Crayons."
478
  msgstr "Mini Tags wie [php][/php] als Crayons behandeln."
479
 
480
- #: crayon_settings_wp.class.php:695
481
  #@ crayon-syntax-highlighter
482
  msgid "Enable [plain][/plain] tag."
483
  msgstr "Aktiviere [plain][/plain] Tag."
484
 
485
- #: crayon_settings.class.php:189
486
  #@ crayon-syntax-highlighter
487
  msgid "Disable Mouse Events"
488
  msgstr "Mausereignisse deaktivieren"
489
 
490
- #: crayon_settings_wp.class.php:666
491
  #@ crayon-syntax-highlighter
492
  msgid "Enable plain code toggling"
493
  msgstr "Umschaltung auf unformatierte Anzeige ermöglichen"
494
 
495
- #: crayon_settings_wp.class.php:667
496
  #@ crayon-syntax-highlighter
497
  msgid "Show the plain code by default"
498
  msgstr "Unformatierten Code standardmäßig anzeigen"
@@ -527,342 +527,441 @@ msgstr ""
527
  msgid "Supports multiple languages, themes, highlighting from a URL, local file or post text."
528
  msgstr "Unterstützt mehrere Sprachen und Themes. Hervorhebung von Code aus einer URL, lokalen Datei oder Artikeltext."
529
 
530
- #: crayon_settings_wp.class.php:806
531
  #@ crayon-syntax-highlighter
532
  msgid "Donate"
533
  msgstr "Spenden"
534
 
535
- #: crayon_settings_wp.class.php:301
536
  #@ crayon-syntax-highlighter
537
  msgid "General"
538
  msgstr "Allgemein"
539
 
540
- #: crayon_settings_wp.class.php:302
541
  #@ crayon-syntax-highlighter
542
  msgid "Theme"
543
  msgstr "Theme"
544
 
545
- #: crayon_settings_wp.class.php:303
546
  #@ crayon-syntax-highlighter
547
  msgid "Font"
548
  msgstr "Schriftart"
549
 
550
- #: crayon_settings_wp.class.php:304
551
  #@ crayon-syntax-highlighter
552
  msgid "Metrics"
553
  msgstr "Layout"
554
 
555
- #: crayon_settings_wp.class.php:305
556
  #@ crayon-syntax-highlighter
557
  msgid "Toolbar"
558
  msgstr "Symbolleiste"
559
 
560
- #: crayon_settings_wp.class.php:306
561
  #@ crayon-syntax-highlighter
562
  msgid "Lines"
563
  msgstr "Zeilen"
564
 
565
- #: crayon_settings_wp.class.php:307
566
- #: util/tag-editor/crayon_te_content.php:87
567
  #@ crayon-syntax-highlighter
568
  msgid "Code"
569
  msgstr "Code"
570
 
571
- #: crayon_settings_wp.class.php:309
572
  #@ crayon-syntax-highlighter
573
  msgid "Languages"
574
  msgstr "Sprachen"
575
 
576
- #: crayon_settings_wp.class.php:310
577
  #@ crayon-syntax-highlighter
578
  msgid "Files"
579
  msgstr "Dateien"
580
 
581
- #: crayon_settings_wp.class.php:312
582
  #@ crayon-syntax-highlighter
583
  msgid "Misc"
584
  msgstr "Sonstiges"
585
 
586
- #: crayon_settings_wp.class.php:315
587
  #@ crayon-syntax-highlighter
588
  msgid "Debug"
589
  msgstr "Debuggen"
590
 
591
- #: crayon_settings_wp.class.php:316
592
  #@ crayon-syntax-highlighter
593
  msgid "Errors"
594
  msgstr "Fehler"
595
 
596
- #: crayon_settings_wp.class.php:317
597
  #@ crayon-syntax-highlighter
598
  msgid "Log"
599
  msgstr "Protokoll"
600
 
601
- #: crayon_settings_wp.class.php:320
602
  #@ crayon-syntax-highlighter
603
  msgid "About"
604
  msgstr "Über"
605
 
606
- #: crayon_settings_wp.class.php:632
607
  #@ crayon-syntax-highlighter
608
  msgid "Enqueue themes in the header (more efficient)."
609
  msgstr "Themes im Header laden (effizienter)."
610
 
611
- #: crayon_settings_wp.class.php:658
612
  #@ crayon-syntax-highlighter
613
  msgid "Enqueue fonts in the header (more efficient)."
614
  msgstr "Schriftarten im Header laden (effizienter)."
615
 
616
- #: crayon_settings_wp.class.php:621
 
617
  #@ crayon-syntax-highlighter
618
  msgid "Loading..."
619
  msgstr "Lade..."
620
 
621
- #: crayon_settings_wp.class.php:621
622
- #: crayon_settings_wp.class.php:804
623
- #: util/theme-editor/editor.php:14
624
  #@ crayon-syntax-highlighter
625
  msgid "Theme Editor"
626
  msgstr "Thema Editor"
627
 
628
- #: crayon_settings_wp.class.php:671
629
  #@ crayon-syntax-highlighter
630
  msgid "Always display scrollbars"
631
  msgstr "Immer Scrollbalken anzeigen"
632
 
633
- #: crayon_settings_wp.class.php:717
634
  #@ crayon-syntax-highlighter
635
  msgid "Disable enqueuing for page templates that may contain The Loop."
636
  msgstr "Deaktiviere Laden im Header für Themes die The Loop verwenden"
637
 
638
- #: crayon_settings_wp.class.php:720
639
  #@ crayon-syntax-highlighter
640
  msgid "Load Crayons only from the main Wordpress query"
641
  msgstr "Crayons nur aus der main Wordpress query laden"
642
 
643
- #: util/theme-editor/editor.php:16
644
  #@ crayon-syntax-highlighter
645
  msgid "Back To Settings"
646
  msgstr "Zurück zu Einstellungen"
647
 
648
- #: crayon_settings_wp.class.php:767
649
  #@ crayon-syntax-highlighter
650
  msgid "Translators"
651
  msgstr "Übersetzer"
652
 
653
- #: crayon_formatter.class.php:266
654
  #@ crayon-syntax-highlighter
655
  msgid "Toggle Plain Code"
656
  msgstr "Unformatierte Code-Ansicht"
657
 
658
- #: crayon_formatter.class.php:268
659
  #@ crayon-syntax-highlighter
660
  msgid "Copy Plain Code"
661
  msgstr "Unformatierten Code kopieren"
662
 
663
- #: crayon_formatter.class.php:270
664
  #@ crayon-syntax-highlighter
665
  msgid "Open Code In New Window"
666
  msgstr "Code in einem neuen Fenster anzeigen"
667
 
668
- #: crayon_formatter.class.php:273
669
  #@ crayon-syntax-highlighter
670
  msgid "Toggle Line Numbers"
671
  msgstr "Zeilennummern"
672
 
673
- #: crayon_formatter.class.php:279
674
  #@ crayon-syntax-highlighter
675
  msgid "Contains Mixed Languages"
676
  msgstr "Enthält verschiedene Sprachen"
677
 
678
- #: crayon_settings_wp.class.php:743
679
  #@ crayon-syntax-highlighter
680
  msgid "Hide Log"
681
  msgstr "Protokoll ausblenden"
682
 
683
- #: crayon_formatter.class.php:268
684
  #, php-format
685
  #@ crayon-syntax-highlighter
686
  msgid "Press %s to Copy, %s to Paste"
687
  msgstr "Drücken Sie %s zum Kopieren, %s zum Einfügen"
688
 
689
- #: crayon_settings_wp.class.php:308
690
  #@ crayon-syntax-highlighter
691
  msgid "Tags"
692
  msgstr "Tags"
693
 
694
- #: crayon_settings_wp.class.php:548
695
  #@ crayon-syntax-highlighter
696
  msgid "Inline Margin"
697
  msgstr "Inline Rand"
698
 
699
- #: crayon_settings_wp.class.php:691
700
  #@ crayon-syntax-highlighter
701
  msgid "Capture Inline Tags like {php}{/php} inside sentences."
702
  msgstr "Tags wie {php} {/php} innerhalb Sätzen erkennen."
703
 
704
- #: crayon_settings_wp.class.php:693
705
  #@ crayon-syntax-highlighter
706
  msgid "Capture `backquotes` as &lt;code&gt;"
707
  msgstr "`backquotes` als &lt;code&gt; behandeln"
708
 
709
- #: crayon_settings_wp.class.php:718
710
  #@ crayon-syntax-highlighter
711
  msgid "Allow Crayons inside comments"
712
  msgstr "Crayons innerhalb von Kommentaren erlauben"
713
 
714
- #: crayon_settings_wp.class.php:692
715
  #@ crayon-syntax-highlighter
716
  msgid "Wrap Inline Tags"
717
  msgstr "Inline-Tags umbrechen"
718
 
719
- #: crayon_settings_wp.class.php:311
720
  #@ crayon-syntax-highlighter
721
  msgid "Tag Editor"
722
  msgstr ""
723
 
724
- #: crayon_settings_wp.class.php:632
725
- #: crayon_settings_wp.class.php:658
726
- #: crayon_settings_wp.class.php:683
727
- #: crayon_settings_wp.class.php:690
728
- #: crayon_settings_wp.class.php:691
729
- #: crayon_settings_wp.class.php:692
730
- #: crayon_settings_wp.class.php:693
731
- #: crayon_settings_wp.class.php:694
732
- #: crayon_settings_wp.class.php:695
733
- #: crayon_settings_wp.class.php:709
734
- #: crayon_settings_wp.class.php:716
735
- #: crayon_settings_wp.class.php:717
 
 
736
  #@ crayon-syntax-highlighter
737
  msgid "?"
738
  msgstr ""
739
 
740
- #: crayon_settings_wp.class.php:677
741
  #@ crayon-syntax-highlighter
742
  msgid "Decode HTML entities in code"
743
  msgstr "HTML entities im code decodieren"
744
 
745
- #: crayon_settings_wp.class.php:679
746
  #@ crayon-syntax-highlighter
747
  msgid "Decode HTML entities in attributes"
748
  msgstr "HTML entities in Attributen decodieren"
749
 
750
- #: crayon_settings_wp.class.php:707
751
  #, php-format
752
  #@ crayon-syntax-highlighter
753
  msgid "Use %s to separate setting names from values in the &lt;pre&gt; class attribute"
754
  msgstr "Mit %s in den &lt;pre&gt; class Attributen die Schlüsselworte der Optionen von den Werten trennen"
755
 
756
- #: util/tag-editor/crayon_tag_editor_wp.class.php:57
757
  #@ crayon-syntax-highlighter
758
  msgid "Add Crayon Code"
759
  msgstr "Crayon code einfügen"
760
 
761
- #: util/tag-editor/crayon_tag_editor_wp.class.php:58
762
  #@ crayon-syntax-highlighter
763
  msgid "Edit Crayon Code"
764
  msgstr "Crayon code bearbeiten"
765
 
766
- #: util/tag-editor/crayon_tag_editor_wp.class.php:59
767
  #@ crayon-syntax-highlighter
768
  msgid "Add"
769
  msgstr "Einfügen"
770
 
771
- #: util/tag-editor/crayon_tag_editor_wp.class.php:60
772
  #@ crayon-syntax-highlighter
773
  msgid "Save"
774
  msgstr "Speichern"
775
 
776
- #: util/tag-editor/crayon_te_content.php:65
777
  #@ crayon-syntax-highlighter
778
  msgid "Title"
779
  msgstr "Titel"
780
 
781
- #: util/tag-editor/crayon_te_content.php:67
782
  #@ crayon-syntax-highlighter
783
  msgid "A short description"
784
  msgstr "kurze Beschreibung"
785
 
786
- #: util/tag-editor/crayon_te_content.php:70
787
  #@ crayon-syntax-highlighter
788
  msgid "Inline"
789
  msgstr ""
790
 
791
- #: util/tag-editor/crayon_te_content.php:75
792
  #@ crayon-syntax-highlighter
793
  msgid "Language"
794
  msgstr "Sprache"
795
 
796
- #: util/tag-editor/crayon_te_content.php:78
797
  #@ crayon-syntax-highlighter
798
  msgid "Marked Lines"
799
  msgstr "Markierte Zeilen"
800
 
801
- #: util/tag-editor/crayon_te_content.php:79
802
  #@ crayon-syntax-highlighter
803
  msgid "(e.g. 1,2,3-5)"
804
  msgstr "(z.B. 1,2,3-5)"
805
 
806
- #: util/tag-editor/crayon_te_content.php:82
807
- #@ crayon-syntax-highlighter
808
- msgid "Disable Highlighting"
809
- msgstr "Hervorhebung abschalten"
810
-
811
- #: util/tag-editor/crayon_te_content.php:87
812
  #@ crayon-syntax-highlighter
813
  msgid "Clear"
814
  msgstr "Löschen"
815
 
816
- #: util/tag-editor/crayon_te_content.php:88
817
  #@ crayon-syntax-highlighter
818
  msgid "Paste your code here, or type it in manually."
819
  msgstr "Code hier einfügen oder eingeben"
820
 
821
- #: util/tag-editor/crayon_te_content.php:91
822
  #@ crayon-syntax-highlighter
823
  msgid "URL"
824
  msgstr "URL"
825
 
826
- #: util/tag-editor/crayon_te_content.php:93
827
  #@ crayon-syntax-highlighter
828
  msgid "Relative local path or absolute URL"
829
  msgstr "Relativer lokaler Pfad oder absoluter URL"
830
 
831
- #: util/tag-editor/crayon_te_content.php:96
832
  #@ crayon-syntax-highlighter
833
  msgid "If the URL fails to load, the code above will be shown instead. If no code exists, an error is shown."
834
  msgstr "Wenn der URL nicht geladen werden kann wird der Code aus dem oberen Feld angezeigt. Ohne Code erfolgt eine Fehlermeldung."
835
 
836
- #: util/tag-editor/crayon_te_content.php:98
837
  #, php-format
838
  #@ crayon-syntax-highlighter
839
  msgid "If a relative local path is given it will be appended to %s - which is defined in %sCrayon &gt; Settings &gt; Files%s."
840
- msgstr "Ein relativer Pfad wird an %s angehängt. Die Adresse ist in %sCrayon &gt; Einstellungen %gt; Dateien%s definiert."
841
 
842
- #: util/tag-editor/crayon_te_content.php:117
843
  #@ crayon-syntax-highlighter
844
  msgid "Change the following settings to override their global values."
845
  msgstr "Änderungen an den folgenden Einstellungen ersetzen die globalen Werte."
846
 
847
- #: util/tag-editor/crayon_te_content.php:119
848
  #@ crayon-syntax-highlighter
849
  msgid "Only changes (shown yellow) are applied."
850
  msgstr "Nur (gelb hervorgehobene) Änderungen werden zum crayon hinzugefügt."
851
 
852
- #: util/tag-editor/crayon_te_content.php:121
853
  #, php-format
854
  #@ crayon-syntax-highlighter
855
  msgid "Future changes to the global settings under %sCrayon &gt; Settings%s won't affect overridden settings."
856
  msgstr "Zukünftige Änderungen der globalen Einstellungen unter %sCrayon &gt; Einstellungen%s ändern nicht die hier gemachten Einstellungen."
857
 
858
- #: crayon_settings_wp.class.php:719
859
  #@ crayon-syntax-highlighter
860
  msgid "Remove Crayons from excerpts"
861
  msgstr "Auszüge ohne Crayons"
862
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
863
  #. translators: plugin header field 'Version'
864
  #: crayon_wp.class.php:0
865
  #@ crayon-syntax-highlighter
866
- msgid "_1.9.4_beta1"
867
  msgstr ""
868
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  msgid ""
2
  msgstr ""
3
+ "Project-Id-Version: Crayon Syntax Highlighter v1.13.1\n"
4
  "Report-Msgid-Bugs-To: \n"
5
  "POT-Creation-Date: 2011-12-10 17:11+1000\n"
6
+ "PO-Revision-Date: 2012-11-07 22:53:27+0000\n"
7
  "Last-Translator: \n"
8
  "Language-Team: \n"
9
  "MIME-Version: 1.0\n"
10
  "Content-Type: text/plain; charset=UTF-8\n"
11
  "Content-Transfer-Encoding: 8bit\n"
12
  "Plural-Forms: nplurals=2; plural=n != 1;\n"
13
+ "X-Poedit-Language: \n"
14
+ "X-Poedit-Country: \n"
15
  "X-Poedit-SourceCharset: utf-8\n"
16
  "X-Poedit-KeywordsList: __;_e;__ngettext:1,2;_n:1,2;__ngettext_noop:1,2;_n_noop:1,2;_c,_nc:4c,1,2;_x:1,2c;_ex:1,2c;_nx:4c,1,2;_nx_noop:4c,1,2;\n"
17
  "X-Poedit-Basepath: .\n"
19
  "X-Poedit-SearchPath-0: ..\n"
20
  "X-Textdomain-Support: yes"
21
 
22
+ #: crayon_settings.class.php:155
23
+ #: crayon_settings.class.php:159
24
  #@ crayon-syntax-highlighter
25
  msgid "Max"
26
  msgstr "Max"
27
 
28
+ #: crayon_settings.class.php:155
29
+ #: crayon_settings.class.php:159
30
  #@ crayon-syntax-highlighter
31
  msgid "Min"
32
  msgstr "Min"
33
 
34
+ #: crayon_settings.class.php:155
35
+ #: crayon_settings.class.php:159
36
  #@ crayon-syntax-highlighter
37
  msgid "Static"
38
  msgstr "Fix"
39
 
40
+ #: crayon_settings.class.php:157
41
+ #: crayon_settings.class.php:161
42
+ #: crayon_settings_wp.class.php:580
43
+ #: crayon_settings_wp.class.php:589
44
+ #: crayon_settings_wp.class.php:698
45
  #@ crayon-syntax-highlighter
46
  msgid "Pixels"
47
  msgstr "Pixels"
48
 
49
+ #: crayon_settings.class.php:157
50
+ #: crayon_settings.class.php:161
51
  #@ crayon-syntax-highlighter
52
  msgid "Percent"
53
  msgstr "Prozent"
54
 
55
+ #: crayon_settings.class.php:170
56
  #@ crayon-syntax-highlighter
57
  msgid "None"
58
  msgstr "Keine"
59
 
60
+ #: crayon_settings.class.php:170
61
  #@ crayon-syntax-highlighter
62
  msgid "Left"
63
  msgstr "Links"
64
 
65
+ #: crayon_settings.class.php:170
66
  #@ crayon-syntax-highlighter
67
  msgid "Center"
68
  msgstr "Mitte"
69
 
70
+ #: crayon_settings.class.php:170
71
  #@ crayon-syntax-highlighter
72
  msgid "Right"
73
  msgstr "Rechts"
74
 
75
+ #: crayon_settings.class.php:172
76
+ #: crayon_settings.class.php:196
77
  #@ crayon-syntax-highlighter
78
  msgid "On MouseOver"
79
  msgstr "Bei MouseOver"
80
 
81
+ #: crayon_settings.class.php:172
82
+ #: crayon_settings.class.php:178
83
  #@ crayon-syntax-highlighter
84
  msgid "Always"
85
  msgstr "Immer"
86
 
87
+ #: crayon_settings.class.php:172
88
+ #: crayon_settings.class.php:178
89
  #@ crayon-syntax-highlighter
90
  msgid "Never"
91
  msgstr "Nie"
92
 
93
+ #: crayon_settings.class.php:178
94
  #@ crayon-syntax-highlighter
95
  msgid "When Found"
96
  msgstr "Wenn gefunden"
97
 
98
+ #: crayon_settings.class.php:196
99
  #@ crayon-syntax-highlighter
100
  msgid "On Double Click"
101
  msgstr "Bei Doppelklick"
102
 
103
+ #: crayon_settings.class.php:196
104
  #@ crayon-syntax-highlighter
105
  msgid "On Single Click"
106
  msgstr "Bei Mausklick"
107
 
108
+ #: crayon_settings.class.php:203
109
  #@ crayon-syntax-highlighter
110
  msgid "An error has occurred. Please try again later."
111
  msgstr "Ein Fehler ist aufgetreten. Bitte versuchen Sie es später erneut."
112
 
113
  #: crayon_settings_wp.class.php:44
114
+ #: crayon_settings_wp.class.php:132
115
+ #: crayon_settings_wp.class.php:870
116
+ #: util/tag-editor/crayon_te_content.php:132
117
  #@ crayon-syntax-highlighter
118
  msgid "Settings"
119
  msgstr "Einstellungen"
120
 
121
+ #: crayon_settings_wp.class.php:113
122
  #@ crayon-syntax-highlighter
123
  msgid "You do not have sufficient permissions to access this page."
124
  msgstr "Sie verfügen nicht über ausreichende Berechtigungen um diese Seite zu betreten."
125
 
126
+ #: crayon_settings_wp.class.php:144
127
  #@ crayon-syntax-highlighter
128
  msgid "Save Changes"
129
  msgstr "Änderungen speichern"
130
 
131
+ #: crayon_settings_wp.class.php:150
132
  #@ crayon-syntax-highlighter
133
  msgid "Reset Settings"
134
  msgstr "Einstellungen zurücksetzen"
135
 
136
+ #: crayon_settings_wp.class.php:557
137
  #@ crayon-syntax-highlighter
138
  msgid "Height"
139
  msgstr "Höhe"
140
 
141
+ #: crayon_settings_wp.class.php:563
142
  #@ crayon-syntax-highlighter
143
  msgid "Width"
144
  msgstr "Breite"
145
 
146
+ #: crayon_settings_wp.class.php:569
147
  #@ crayon-syntax-highlighter
148
  msgid "Top Margin"
149
  msgstr "Oberer Rand"
150
 
151
+ #: crayon_settings_wp.class.php:570
152
  #@ crayon-syntax-highlighter
153
  msgid "Bottom Margin"
154
  msgstr "Unterer Rand"
155
 
156
+ #: crayon_settings_wp.class.php:571
157
+ #: crayon_settings_wp.class.php:576
158
  #@ crayon-syntax-highlighter
159
  msgid "Left Margin"
160
  msgstr "Linker Rand"
161
 
162
+ #: crayon_settings_wp.class.php:572
163
+ #: crayon_settings_wp.class.php:576
164
  #@ crayon-syntax-highlighter
165
  msgid "Right Margin"
166
  msgstr "Rechter Rand"
167
 
168
+ #: crayon_settings_wp.class.php:582
169
  #@ crayon-syntax-highlighter
170
  msgid "Horizontal Alignment"
171
  msgstr "Horizontale Ausrichtung"
172
 
173
+ #: crayon_settings_wp.class.php:585
174
  #@ crayon-syntax-highlighter
175
  msgid "Allow floating elements to surround Crayon"
176
  msgstr "Crayon in Floating Elemente einbetten"
177
 
178
+ #: crayon_settings_wp.class.php:595
179
  #@ crayon-syntax-highlighter
180
  msgid "Display the Toolbar"
181
  msgstr "Symbolleiste anzeigen"
182
 
183
+ #: crayon_settings_wp.class.php:598
184
  #@ crayon-syntax-highlighter
185
  msgid "Overlay the toolbar on code rather than push it down when possible"
186
  msgstr "Versuchen mit Symbolleiste Code zu überlagern statt zu verschieben"
187
 
188
+ #: crayon_settings_wp.class.php:599
189
  #@ crayon-syntax-highlighter
190
  msgid "Toggle the toolbar on single click when it is overlayed"
191
  msgstr "Symbolleiste mit Klick umschalten wenn als Overlay"
192
 
193
+ #: crayon_settings_wp.class.php:600
194
  #@ crayon-syntax-highlighter
195
  msgid "Delay hiding the toolbar on MouseOut"
196
  msgstr "Nach MouseOut Symbolleiste verzögert ausblenden"
197
 
198
+ #: crayon_settings_wp.class.php:602
199
  #@ crayon-syntax-highlighter
200
  msgid "Display the title when provided"
201
  msgstr "Titel anzeigen wenn vorhanden"
202
 
203
+ #: crayon_settings_wp.class.php:603
204
  #@ crayon-syntax-highlighter
205
  msgid "Display the language"
206
  msgstr "Anzeige der Sprache"
207
 
208
+ #: crayon_settings_wp.class.php:610
209
  #@ crayon-syntax-highlighter
210
  msgid "Display striped code lines"
211
  msgstr "Anzeige gestreifte Codezeilen"
212
 
213
+ #: crayon_settings_wp.class.php:611
214
  #@ crayon-syntax-highlighter
215
  msgid "Enable line marking for important lines"
216
  msgstr "wichtige Zeilen markieren"
217
 
218
+ #: crayon_settings_wp.class.php:613
219
  #@ crayon-syntax-highlighter
220
  msgid "Display line numbers by default"
221
  msgstr "Zeilennummern standardmäßig anzeigen"
222
 
223
+ #: crayon_settings_wp.class.php:614
224
  #@ crayon-syntax-highlighter
225
  msgid "Enable line number toggling"
226
  msgstr "Zeilennummern umschaltbar"
227
 
228
+ #: crayon_settings_wp.class.php:617
229
  #@ crayon-syntax-highlighter
230
  msgid "Start line numbers from"
231
  msgstr "Erste Zeilennummer"
232
 
233
+ #: crayon_settings_wp.class.php:627
234
  #@ crayon-syntax-highlighter
235
  msgid "When no language is provided, use the fallback"
236
  msgstr "Wenn keine Sprache festgelegt wird als Standard verwenden"
237
 
238
+ #: crayon_settings_wp.class.php:634
239
  #@ crayon-syntax-highlighter
240
  msgid "Parsing was successful"
241
  msgstr "Laden erfolgreich"
242
 
243
+ #: crayon_settings_wp.class.php:634
244
  #@ crayon-syntax-highlighter
245
  msgid "Parsing was unsuccessful"
246
  msgstr "Laden fehlgeschlagen"
247
 
248
+ #: crayon_settings_wp.class.php:640
249
  #, php-format
250
  #@ crayon-syntax-highlighter
251
  msgid "The selected language with id %s could not be loaded"
252
  msgstr "Die gewählte Sprache mit der id %s konnte nicht geladen werden"
253
 
254
+ #: crayon_settings_wp.class.php:643
255
  #@ crayon-syntax-highlighter
256
  msgid "Show Languages"
257
  msgstr "Zeige Sprachen"
258
 
259
+ #: crayon_settings_wp.class.php:679
260
  #@ crayon-syntax-highlighter
261
  msgid "Enable Live Preview"
262
  msgstr "Live-Vorschau aktivieren"
263
 
264
+ #: crayon_settings_wp.class.php:684
265
  #, php-format
266
  #@ crayon-syntax-highlighter
267
  msgid "The selected theme with id %s could not be loaded"
268
  msgstr "Das gewählte Theme mit id %s konnte nicht geladen werden"
269
 
270
+ #: crayon_settings_wp.class.php:696
271
  #@ crayon-syntax-highlighter
272
  msgid "Custom Font Size"
273
  msgstr "Benutzerdefinierte Schriftgröße"
274
 
275
+ #: crayon_settings_wp.class.php:701
276
  #, php-format
277
  #@ crayon-syntax-highlighter
278
  msgid "The selected font with id %s could not be loaded"
279
  msgstr "Die ausgewählte Schrift mit der id %s konnte nicht geladen werden"
280
 
281
+ #: crayon_settings_wp.class.php:712
282
  #@ crayon-syntax-highlighter
283
  msgid "Enable plain code view and display"
284
  msgstr "Unformatierte Code-Ansicht ermöglichen"
285
 
286
+ #: crayon_settings_wp.class.php:717
287
  #@ crayon-syntax-highlighter
288
  msgid "Enable code copy/paste"
289
  msgstr "Code kopieren/einfügen ermöglichen"
290
 
291
+ #: crayon_settings_wp.class.php:719
292
  #@ crayon-syntax-highlighter
293
  msgid "Enable opening code in a window"
294
  msgstr "Code in neuem Fenster anzeigbar machen"
295
 
296
+ #: crayon_settings_wp.class.php:733
297
  #@ crayon-syntax-highlighter
298
  msgid "Tab size in spaces"
299
  msgstr "Anzahl Leerzeichen für Tabulator"
300
 
301
+ #: crayon_settings_wp.class.php:727
302
  #@ crayon-syntax-highlighter
303
  msgid "Remove whitespace surrounding the shortcode content"
304
  msgstr "Leerzeichen um den Shortcode Inhalt entfernen"
305
 
306
+ #: crayon_settings_wp.class.php:752
307
  #@ crayon-syntax-highlighter
308
  msgid "When loading local files and a relative path is given for the URL, use the absolute path"
309
  msgstr "Wenn beim Laden von lokalen Dateien ein relativer Pfad für die URL angegeben ist den absoluten Pfad verwenden"
310
 
311
+ #: crayon_settings_wp.class.php:778
312
  #@ crayon-syntax-highlighter
313
  msgid "Clear the cache used to store remote code requests"
314
  msgstr "Cache für Remote Code Requests leeren"
315
 
316
+ #: crayon_settings_wp.class.php:780
317
  #@ crayon-syntax-highlighter
318
  msgid "Clear Now"
319
  msgstr "Jetzt löschen"
320
 
321
+ #: crayon_settings_wp.class.php:786
322
  #@ crayon-syntax-highlighter
323
  msgid "Disable mouse gestures for touchscreen devices (eg. MouseOver)"
324
  msgstr "Deaktiviere Mausgesten für Touchscreen-Geräte (z.B. MouseOver)"
325
 
326
+ #: crayon_settings_wp.class.php:787
327
  #@ crayon-syntax-highlighter
328
  msgid "Disable animations"
329
  msgstr "Deaktiviere Animationen"
330
 
331
+ #: crayon_settings_wp.class.php:788
332
  #@ crayon-syntax-highlighter
333
  msgid "Disable runtime stats"
334
  msgstr "Deaktiviere Laufzeit Statistiken"
335
 
336
+ #: crayon_settings_wp.class.php:794
337
  #@ crayon-syntax-highlighter
338
  msgid "Log errors for individual Crayons"
339
  msgstr "Protokolliere Fehler für individuelle Crayons"
340
 
341
+ #: crayon_settings_wp.class.php:795
342
  #@ crayon-syntax-highlighter
343
  msgid "Log system-wide errors"
344
  msgstr "Protokolliere systemweite Fehler"
345
 
346
+ #: crayon_settings_wp.class.php:796
347
  #@ crayon-syntax-highlighter
348
  msgid "Display custom message for errors"
349
  msgstr "Benutzerdefinierte Meldungen für Fehler anzeigen"
350
 
351
+ #: crayon_settings_wp.class.php:808
352
  #@ crayon-syntax-highlighter
353
  msgid "Show Log"
354
  msgstr "Protokoll anzeigen"
355
 
356
+ #: crayon_settings_wp.class.php:810
357
  #@ crayon-syntax-highlighter
358
  msgid "Clear Log"
359
  msgstr "Protokoll löschen"
360
 
361
+ #: crayon_settings_wp.class.php:811
362
  #@ crayon-syntax-highlighter
363
  msgid "Email Admin"
364
  msgstr "E-Mail Admin"
365
 
366
+ #: crayon_settings_wp.class.php:813
367
  #@ crayon-syntax-highlighter
368
  msgid "Email Developer"
369
  msgstr "E-Mail Entwickler"
370
 
371
+ #: crayon_settings_wp.class.php:829
372
  #@ crayon-syntax-highlighter
373
  msgid "Version"
374
  msgstr "Version"
375
 
376
+ #: crayon_settings_wp.class.php:831
377
  #@ crayon-syntax-highlighter
378
  msgid "Developer"
379
  msgstr "Entwickler"
380
 
381
+ #: crayon_settings_wp.class.php:858
382
  #@ crayon-syntax-highlighter
383
  msgid "The result of innumerable hours of hard work over many months. It's an ongoing project, keep me motivated!"
384
  msgstr "Crayon ist das Ergebnis unzähliger Stunden harter Arbeit über viele Monate hinweg. Das Plugin wird laufend weiterentwickelt. Schreib mir wenn es Dir gefällt!"
385
 
386
+ #: crayon_settings_wp.class.php:675
387
  #, php-format
388
  #@ crayon-syntax-highlighter
389
  msgid "Change the %1$sfallback language%2$s to change the sample code. Lines 5-7 are marked."
390
  msgstr "Ändern Sie die %1$sStandard Sprache%2$s um den Beispielcode zu ändern. Zeilen 5-7 sind markiert."
391
 
392
+ #: crayon_settings.class.php:143
393
  #@ crayon-syntax-highlighter
394
  msgid "Hourly"
395
  msgstr "Stündlich"
396
 
397
+ #: crayon_settings.class.php:143
398
  #@ crayon-syntax-highlighter
399
  msgid "Daily"
400
  msgstr "Täglich"
401
 
402
+ #: crayon_settings.class.php:144
403
  #@ crayon-syntax-highlighter
404
  msgid "Weekly"
405
  msgstr "Wöchentlich"
406
 
407
+ #: crayon_settings.class.php:144
408
  #@ crayon-syntax-highlighter
409
  msgid "Monthly"
410
  msgstr "Monatlich"
411
 
412
+ #: crayon_settings.class.php:145
413
  #@ crayon-syntax-highlighter
414
  msgid "Immediately"
415
  msgstr "Sofort"
416
 
417
+ #: crayon_settings_wp.class.php:542
418
  #@ crayon-syntax-highlighter
419
  msgid "Crayon Help"
420
  msgstr "Crayon Hilfe"
421
 
422
+ #: crayon_settings_wp.class.php:781
423
  #@ crayon-syntax-highlighter
424
  msgid "Attempt to load Crayon's CSS and JavaScript only when needed"
425
  msgstr "Versuchen Crayon CSS und JavaScript nur bei Bedarf zu laden"
426
 
427
+ #: crayon_settings_wp.class.php:755
428
  #@ crayon-syntax-highlighter
429
  msgid "Followed by your relative URL."
430
  msgstr "Gefolgt von Ihrer relativen URL."
431
 
432
+ #: crayon_settings_wp.class.php:815
433
  #@ crayon-syntax-highlighter
434
  msgid "The log is currently empty."
435
  msgstr "Das Protokoll ist derzeit leer."
436
 
437
+ #: crayon_settings_wp.class.php:817
438
  #@ crayon-syntax-highlighter
439
  msgid "The log file exists and is writable."
440
  msgstr "Die Protokolldatei existiert und ist beschreibbar."
441
 
442
+ #: crayon_settings_wp.class.php:817
443
  #@ crayon-syntax-highlighter
444
  msgid "The log file exists and is not writable."
445
  msgstr "Die Protokolldatei existiert und ist nicht beschreibbar."
446
 
447
+ #: crayon_settings_wp.class.php:819
448
  #@ crayon-syntax-highlighter
449
  msgid "The log file does not exist and is not writable."
450
  msgstr "Die Protokolldatei existiert nicht und ist nicht schreibbar."
451
 
452
+ #: crayon_settings_wp.class.php:633
453
  #, php-format
454
  #@ crayon-syntax-highlighter
455
  msgid "%d language has been detected."
457
  msgstr[0] "%d Sprache wurde erkannt."
458
  msgstr[1] "%d Sprachen wurden erkannt."
459
 
460
+ #: crayon_settings_wp.class.php:746
461
  #@ crayon-syntax-highlighter
462
  msgid "Capture &lt;pre&gt; tags as Crayons"
463
  msgstr "&lt;pre&gt; tags wie Crayons behandeln"
464
 
465
+ #: crayon_settings_wp.class.php:731
466
  #@ crayon-syntax-highlighter
467
  msgid "Show Mixed Language Icon (+)"
468
  msgstr "Zeige gemischte Sprachen Symbol (+)"
469
 
470
+ #: crayon_settings_wp.class.php:729
471
  #@ crayon-syntax-highlighter
472
  msgid "Allow Mixed Language Highlighting with delimiters and tags."
473
  msgstr "Erlaube Hervorhebung gemischter Sprachen mit Trennzeichen und Tags."
474
 
475
+ #: crayon_settings_wp.class.php:742
476
  #@ crayon-syntax-highlighter
477
  msgid "Capture Mini Tags like [php][/php] as Crayons."
478
  msgstr "Mini Tags wie [php][/php] als Crayons behandeln."
479
 
480
+ #: crayon_settings_wp.class.php:747
481
  #@ crayon-syntax-highlighter
482
  msgid "Enable [plain][/plain] tag."
483
  msgstr "Aktiviere [plain][/plain] Tag."
484
 
485
+ #: crayon_settings.class.php:196
486
  #@ crayon-syntax-highlighter
487
  msgid "Disable Mouse Events"
488
  msgstr "Mausereignisse deaktivieren"
489
 
490
+ #: crayon_settings_wp.class.php:715
491
  #@ crayon-syntax-highlighter
492
  msgid "Enable plain code toggling"
493
  msgstr "Umschaltung auf unformatierte Anzeige ermöglichen"
494
 
495
+ #: crayon_settings_wp.class.php:716
496
  #@ crayon-syntax-highlighter
497
  msgid "Show the plain code by default"
498
  msgstr "Unformatierten Code standardmäßig anzeigen"
527
  msgid "Supports multiple languages, themes, highlighting from a URL, local file or post text."
528
  msgstr "Unterstützt mehrere Sprachen und Themes. Hervorhebung von Code aus einer URL, lokalen Datei oder Artikeltext."
529
 
530
+ #: crayon_settings_wp.class.php:874
531
  #@ crayon-syntax-highlighter
532
  msgid "Donate"
533
  msgstr "Spenden"
534
 
535
+ #: crayon_settings_wp.class.php:326
536
  #@ crayon-syntax-highlighter
537
  msgid "General"
538
  msgstr "Allgemein"
539
 
540
+ #: crayon_settings_wp.class.php:327
541
  #@ crayon-syntax-highlighter
542
  msgid "Theme"
543
  msgstr "Theme"
544
 
545
+ #: crayon_settings_wp.class.php:328
546
  #@ crayon-syntax-highlighter
547
  msgid "Font"
548
  msgstr "Schriftart"
549
 
550
+ #: crayon_settings_wp.class.php:329
551
  #@ crayon-syntax-highlighter
552
  msgid "Metrics"
553
  msgstr "Layout"
554
 
555
+ #: crayon_settings_wp.class.php:330
556
  #@ crayon-syntax-highlighter
557
  msgid "Toolbar"
558
  msgstr "Symbolleiste"
559
 
560
+ #: crayon_settings_wp.class.php:331
561
  #@ crayon-syntax-highlighter
562
  msgid "Lines"
563
  msgstr "Zeilen"
564
 
565
+ #: crayon_settings_wp.class.php:332
566
+ #: util/tag-editor/crayon_te_content.php:100
567
  #@ crayon-syntax-highlighter
568
  msgid "Code"
569
  msgstr "Code"
570
 
571
+ #: crayon_settings_wp.class.php:334
572
  #@ crayon-syntax-highlighter
573
  msgid "Languages"
574
  msgstr "Sprachen"
575
 
576
+ #: crayon_settings_wp.class.php:335
577
  #@ crayon-syntax-highlighter
578
  msgid "Files"
579
  msgstr "Dateien"
580
 
581
+ #: crayon_settings_wp.class.php:338
582
  #@ crayon-syntax-highlighter
583
  msgid "Misc"
584
  msgstr "Sonstiges"
585
 
586
+ #: crayon_settings_wp.class.php:341
587
  #@ crayon-syntax-highlighter
588
  msgid "Debug"
589
  msgstr "Debuggen"
590
 
591
+ #: crayon_settings_wp.class.php:342
592
  #@ crayon-syntax-highlighter
593
  msgid "Errors"
594
  msgstr "Fehler"
595
 
596
+ #: crayon_settings_wp.class.php:343
597
  #@ crayon-syntax-highlighter
598
  msgid "Log"
599
  msgstr "Protokoll"
600
 
601
+ #: crayon_settings_wp.class.php:346
602
  #@ crayon-syntax-highlighter
603
  msgid "About"
604
  msgstr "Über"
605
 
606
+ #: crayon_settings_wp.class.php:681
607
  #@ crayon-syntax-highlighter
608
  msgid "Enqueue themes in the header (more efficient)."
609
  msgstr "Themes im Header laden (effizienter)."
610
 
611
+ #: crayon_settings_wp.class.php:707
612
  #@ crayon-syntax-highlighter
613
  msgid "Enqueue fonts in the header (more efficient)."
614
  msgstr "Schriftarten im Header laden (effizienter)."
615
 
616
+ #: crayon_settings_wp.class.php:669
617
+ #: crayon_settings_wp.class.php:670
618
  #@ crayon-syntax-highlighter
619
  msgid "Loading..."
620
  msgstr "Lade..."
621
 
622
+ #: crayon_settings_wp.class.php:872
623
+ #: util/theme-editor/theme_editor_content.php:27
 
624
  #@ crayon-syntax-highlighter
625
  msgid "Theme Editor"
626
  msgstr "Thema Editor"
627
 
628
+ #: crayon_settings_wp.class.php:720
629
  #@ crayon-syntax-highlighter
630
  msgid "Always display scrollbars"
631
  msgstr "Immer Scrollbalken anzeigen"
632
 
633
+ #: crayon_settings_wp.class.php:782
634
  #@ crayon-syntax-highlighter
635
  msgid "Disable enqueuing for page templates that may contain The Loop."
636
  msgstr "Deaktiviere Laden im Header für Themes die The Loop verwenden"
637
 
638
+ #: crayon_settings_wp.class.php:785
639
  #@ crayon-syntax-highlighter
640
  msgid "Load Crayons only from the main Wordpress query"
641
  msgstr "Crayons nur aus der main Wordpress query laden"
642
 
643
+ #: util/theme-editor/theme_editor_content.php:39
644
  #@ crayon-syntax-highlighter
645
  msgid "Back To Settings"
646
  msgstr "Zurück zu Einstellungen"
647
 
648
+ #: crayon_settings_wp.class.php:832
649
  #@ crayon-syntax-highlighter
650
  msgid "Translators"
651
  msgstr "Übersetzer"
652
 
653
+ #: crayon_formatter.class.php:275
654
  #@ crayon-syntax-highlighter
655
  msgid "Toggle Plain Code"
656
  msgstr "Unformatierte Code-Ansicht"
657
 
658
+ #: crayon_formatter.class.php:278
659
  #@ crayon-syntax-highlighter
660
  msgid "Copy Plain Code"
661
  msgstr "Unformatierten Code kopieren"
662
 
663
+ #: crayon_formatter.class.php:280
664
  #@ crayon-syntax-highlighter
665
  msgid "Open Code In New Window"
666
  msgstr "Code in einem neuen Fenster anzeigen"
667
 
668
+ #: crayon_formatter.class.php:282
669
  #@ crayon-syntax-highlighter
670
  msgid "Toggle Line Numbers"
671
  msgstr "Zeilennummern"
672
 
673
+ #: crayon_formatter.class.php:285
674
  #@ crayon-syntax-highlighter
675
  msgid "Contains Mixed Languages"
676
  msgstr "Enthält verschiedene Sprachen"
677
 
678
+ #: crayon_settings_wp.class.php:808
679
  #@ crayon-syntax-highlighter
680
  msgid "Hide Log"
681
  msgstr "Protokoll ausblenden"
682
 
683
+ #: crayon_formatter.class.php:278
684
  #, php-format
685
  #@ crayon-syntax-highlighter
686
  msgid "Press %s to Copy, %s to Paste"
687
  msgstr "Drücken Sie %s zum Kopieren, %s zum Einfügen"
688
 
689
+ #: crayon_settings_wp.class.php:333
690
  #@ crayon-syntax-highlighter
691
  msgid "Tags"
692
  msgstr "Tags"
693
 
694
+ #: crayon_settings_wp.class.php:587
695
  #@ crayon-syntax-highlighter
696
  msgid "Inline Margin"
697
  msgstr "Inline Rand"
698
 
699
+ #: crayon_settings_wp.class.php:743
700
  #@ crayon-syntax-highlighter
701
  msgid "Capture Inline Tags like {php}{/php} inside sentences."
702
  msgstr "Tags wie {php} {/php} innerhalb Sätzen erkennen."
703
 
704
+ #: crayon_settings_wp.class.php:745
705
  #@ crayon-syntax-highlighter
706
  msgid "Capture `backquotes` as &lt;code&gt;"
707
  msgstr "`backquotes` als &lt;code&gt; behandeln"
708
 
709
+ #: crayon_settings_wp.class.php:783
710
  #@ crayon-syntax-highlighter
711
  msgid "Allow Crayons inside comments"
712
  msgstr "Crayons innerhalb von Kommentaren erlauben"
713
 
714
+ #: crayon_settings_wp.class.php:744
715
  #@ crayon-syntax-highlighter
716
  msgid "Wrap Inline Tags"
717
  msgstr "Inline-Tags umbrechen"
718
 
719
+ #: crayon_settings_wp.class.php:337
720
  #@ crayon-syntax-highlighter
721
  msgid "Tag Editor"
722
  msgstr ""
723
 
724
+ #: crayon_settings_wp.class.php:652
725
+ #: crayon_settings_wp.class.php:681
726
+ #: crayon_settings_wp.class.php:707
727
+ #: crayon_settings_wp.class.php:729
728
+ #: crayon_settings_wp.class.php:742
729
+ #: crayon_settings_wp.class.php:743
730
+ #: crayon_settings_wp.class.php:744
731
+ #: crayon_settings_wp.class.php:745
732
+ #: crayon_settings_wp.class.php:746
733
+ #: crayon_settings_wp.class.php:747
734
+ #: crayon_settings_wp.class.php:769
735
+ #: crayon_settings_wp.class.php:772
736
+ #: crayon_settings_wp.class.php:781
737
+ #: crayon_settings_wp.class.php:782
738
  #@ crayon-syntax-highlighter
739
  msgid "?"
740
  msgstr ""
741
 
742
+ #: crayon_settings_wp.class.php:723
743
  #@ crayon-syntax-highlighter
744
  msgid "Decode HTML entities in code"
745
  msgstr "HTML entities im code decodieren"
746
 
747
+ #: crayon_settings_wp.class.php:725
748
  #@ crayon-syntax-highlighter
749
  msgid "Decode HTML entities in attributes"
750
  msgstr "HTML entities in Attributen decodieren"
751
 
752
+ #: crayon_settings_wp.class.php:770
753
  #, php-format
754
  #@ crayon-syntax-highlighter
755
  msgid "Use %s to separate setting names from values in the &lt;pre&gt; class attribute"
756
  msgstr "Mit %s in den &lt;pre&gt; class Attributen die Schlüsselworte der Optionen von den Werten trennen"
757
 
758
+ #: util/tag-editor/crayon_tag_editor_wp.class.php:67
759
  #@ crayon-syntax-highlighter
760
  msgid "Add Crayon Code"
761
  msgstr "Crayon code einfügen"
762
 
763
+ #: util/tag-editor/crayon_tag_editor_wp.class.php:68
764
  #@ crayon-syntax-highlighter
765
  msgid "Edit Crayon Code"
766
  msgstr "Crayon code bearbeiten"
767
 
768
+ #: util/tag-editor/crayon_tag_editor_wp.class.php:69
769
  #@ crayon-syntax-highlighter
770
  msgid "Add"
771
  msgstr "Einfügen"
772
 
773
+ #: util/tag-editor/crayon_tag_editor_wp.class.php:70
774
  #@ crayon-syntax-highlighter
775
  msgid "Save"
776
  msgstr "Speichern"
777
 
778
+ #: util/tag-editor/crayon_te_content.php:76
779
  #@ crayon-syntax-highlighter
780
  msgid "Title"
781
  msgstr "Titel"
782
 
783
+ #: util/tag-editor/crayon_te_content.php:78
784
  #@ crayon-syntax-highlighter
785
  msgid "A short description"
786
  msgstr "kurze Beschreibung"
787
 
788
+ #: util/tag-editor/crayon_te_content.php:81
789
  #@ crayon-syntax-highlighter
790
  msgid "Inline"
791
  msgstr ""
792
 
793
+ #: util/tag-editor/crayon_te_content.php:90
794
  #@ crayon-syntax-highlighter
795
  msgid "Language"
796
  msgstr "Sprache"
797
 
798
+ #: util/tag-editor/crayon_te_content.php:95
799
  #@ crayon-syntax-highlighter
800
  msgid "Marked Lines"
801
  msgstr "Markierte Zeilen"
802
 
803
+ #: util/tag-editor/crayon_te_content.php:96
804
  #@ crayon-syntax-highlighter
805
  msgid "(e.g. 1,2,3-5)"
806
  msgstr "(z.B. 1,2,3-5)"
807
 
808
+ #: util/tag-editor/crayon_te_content.php:100
 
 
 
 
 
809
  #@ crayon-syntax-highlighter
810
  msgid "Clear"
811
  msgstr "Löschen"
812
 
813
+ #: util/tag-editor/crayon_te_content.php:101
814
  #@ crayon-syntax-highlighter
815
  msgid "Paste your code here, or type it in manually."
816
  msgstr "Code hier einfügen oder eingeben"
817
 
818
+ #: util/tag-editor/crayon_te_content.php:104
819
  #@ crayon-syntax-highlighter
820
  msgid "URL"
821
  msgstr "URL"
822
 
823
+ #: util/tag-editor/crayon_te_content.php:106
824
  #@ crayon-syntax-highlighter
825
  msgid "Relative local path or absolute URL"
826
  msgstr "Relativer lokaler Pfad oder absoluter URL"
827
 
828
+ #: util/tag-editor/crayon_te_content.php:109
829
  #@ crayon-syntax-highlighter
830
  msgid "If the URL fails to load, the code above will be shown instead. If no code exists, an error is shown."
831
  msgstr "Wenn der URL nicht geladen werden kann wird der Code aus dem oberen Feld angezeigt. Ohne Code erfolgt eine Fehlermeldung."
832
 
833
+ #: util/tag-editor/crayon_te_content.php:111
834
  #, php-format
835
  #@ crayon-syntax-highlighter
836
  msgid "If a relative local path is given it will be appended to %s - which is defined in %sCrayon &gt; Settings &gt; Files%s."
837
+ msgstr "Ein relativer Pfad wird an %s angehängt. Die Adresse ist in %sCrayon &gt; Einstellungen &gt; Dateien%s definiert."
838
 
839
+ #: util/tag-editor/crayon_te_content.php:135
840
  #@ crayon-syntax-highlighter
841
  msgid "Change the following settings to override their global values."
842
  msgstr "Änderungen an den folgenden Einstellungen ersetzen die globalen Werte."
843
 
844
+ #: util/tag-editor/crayon_te_content.php:137
845
  #@ crayon-syntax-highlighter
846
  msgid "Only changes (shown yellow) are applied."
847
  msgstr "Nur (gelb hervorgehobene) Änderungen werden zum crayon hinzugefügt."
848
 
849
+ #: util/tag-editor/crayon_te_content.php:139
850
  #, php-format
851
  #@ crayon-syntax-highlighter
852
  msgid "Future changes to the global settings under %sCrayon &gt; Settings%s won't affect overridden settings."
853
  msgstr "Zukünftige Änderungen der globalen Einstellungen unter %sCrayon &gt; Einstellungen%s ändern nicht die hier gemachten Einstellungen."
854
 
855
+ #: crayon_settings_wp.class.php:784
856
  #@ crayon-syntax-highlighter
857
  msgid "Remove Crayons from excerpts"
858
  msgstr "Auszüge ohne Crayons"
859
 
860
+ #: crayon_formatter.class.php:276
861
+ #@ crayon-syntax-highlighter
862
+ msgid "Toggle Line Wrap"
863
+ msgstr "Zeilenumbruch umschalten"
864
+
865
+ #: crayon_settings_wp.class.php:336
866
+ #@ crayon-syntax-highlighter
867
+ msgid "Posts"
868
+ msgstr "Artikel"
869
+
870
+ #: crayon_settings_wp.class.php:612
871
+ #@ crayon-syntax-highlighter
872
+ msgid "Enable line ranges for showing only parts of code"
873
+ msgstr "Erlaube die Anzeige auf Zeilenbereiche zu beschränken"
874
+
875
+ #: crayon_settings_wp.class.php:615
876
+ #@ crayon-syntax-highlighter
877
+ msgid "Wrap lines by default"
878
+ msgstr "Zeilen automatisch umbrechen"
879
+
880
+ #: crayon_settings_wp.class.php:616
881
+ #@ crayon-syntax-highlighter
882
+ msgid "Enable line wrap toggling"
883
+ msgstr "Erlaube Umschalten des automatischen Zeilenumbruchs"
884
+
885
+ #: crayon_settings_wp.class.php:652
886
+ #@ crayon-syntax-highlighter
887
+ msgid "Show Crayon Posts"
888
+ msgstr "Zeige Artikel mit Crayon Einträgen"
889
+
890
+ #: crayon_settings_wp.class.php:669
891
+ #@ crayon-syntax-highlighter
892
+ msgid "Edit"
893
+ msgstr "Bearbeiten"
894
+
895
+ #: crayon_settings_wp.class.php:670
896
+ #@ crayon-syntax-highlighter
897
+ msgid "Create"
898
+ msgstr "Erstellen"
899
+
900
+ #: crayon_settings_wp.class.php:735
901
+ #@ crayon-syntax-highlighter
902
+ msgid "Blank lines before code:"
903
+ msgstr "Leere Zeilen vor dem Code:"
904
+
905
+ #: crayon_settings_wp.class.php:737
906
+ #@ crayon-syntax-highlighter
907
+ msgid "Blank lines after code:"
908
+ msgstr "Leere Zeilen nach dem Code:"
909
+
910
+ #: crayon_settings_wp.class.php:762
911
+ #@ crayon-syntax-highlighter
912
+ msgid "Convert Legacy Tags"
913
+ msgstr "Konvertiere veraltete Tags"
914
+
915
+ #: crayon_settings_wp.class.php:765
916
+ #@ crayon-syntax-highlighter
917
+ msgid "No Legacy Tags Found"
918
+ msgstr "Keine veralteten Tags gefunden"
919
+
920
+ #: crayon_settings_wp.class.php:769
921
+ #@ crayon-syntax-highlighter
922
+ msgid "Convert existing Crayon tags to Tag Editor format (&lt;pre&gt;)"
923
+ msgstr "Konvertiere alte Crayon Tags ins neue Tag Editor Format (&lt;pre&gt;)"
924
+
925
+ #: crayon_settings_wp.class.php:773
926
+ #@ crayon-syntax-highlighter
927
+ msgid "Display the Tag Editor in any TinyMCE instances on the frontend"
928
+ msgstr "Tag Editor in jeder TinyMCE Instanz der Oberfläche anzeigen"
929
+
930
+ #: crayon_settings_wp.class.php:774
931
+ #@ crayon-syntax-highlighter
932
+ msgid "Display Tag Editor settings on the frontend"
933
+ msgstr "Tag Editor Einstellungen in der Oberfläche anzeigen"
934
+
935
  #. translators: plugin header field 'Version'
936
  #: crayon_wp.class.php:0
937
  #@ crayon-syntax-highlighter
938
+ msgid "1.13.1"
939
  msgstr ""
940
 
941
+ #: util/tag-editor/crayon_te_content.php:85
942
+ #@ crayon-syntax-highlighter
943
+ msgid "Don't Highlight"
944
+ msgstr "Nicht hervorheben"
945
+
946
+ #: util/tag-editor/crayon_te_content.php:93
947
+ #@ crayon-syntax-highlighter
948
+ msgid "Line Range"
949
+ msgstr "Zeilenbereich"
950
+
951
+ #: util/tag-editor/crayon_te_content.php:94
952
+ #@ crayon-syntax-highlighter
953
+ msgid "(e.g. 3-5 or 3)"
954
+ msgstr "(z.B. 3 oder 3-5)"
955
+
956
+ #: util/theme-editor/theme_editor_content.php:32
957
+ #, php-format
958
+ #@ crayon-syntax-highlighter
959
+ msgid "Editing \"%s\" Theme"
960
+ msgstr "Bearbeite Theme \"%s\""
961
+
962
+ #: util/theme-editor/theme_editor_content.php:34
963
+ #, php-format
964
+ #@ crayon-syntax-highlighter
965
+ msgid "Creating Theme From \"%s\""
966
+ msgstr "Erstelle neues Theme aus \"%s\""
967
+
trans/crayon-syntax-highlighter-es_ES.mo CHANGED
Binary file
trans/crayon-syntax-highlighter-es_ES.po CHANGED
@@ -1,1053 +1,886 @@
1
  msgid ""
2
  msgstr ""
3
- "Project-Id-Version: \n"
4
  "Report-Msgid-Bugs-To: \n"
5
- "POT-Creation-Date: 2012-05-06 11:57+1000\n"
6
- "PO-Revision-Date: \n"
7
- "Last-Translator: \n"
8
  "Language-Team: \n"
9
  "MIME-Version: 1.0\n"
10
  "Content-Type: text/plain; charset=UTF-8\n"
11
  "Content-Transfer-Encoding: 8bit\n"
12
  "Plural-Forms: nplurals=2; plural=n != 1;\n"
13
- "X-Poedit-SourceCharset: utf-8\n"
14
- "X-Poedit-KeywordsList: __;_e;__ngettext:1,2;_n:1,2;__ngettext_noop:1,2;_n_noop:1,2;_c,_nc:4c,1,2;_x:1,2c;_ex:1,2c;_nx:4c,1,2;_nx_noop:4c,1,2;crayon__;crayon_e;crayon_n\n"
15
  "X-Poedit-Basepath: .\n"
16
  "X-Textdomain-Support: yes\n"
 
17
  "X-Poedit-SearchPath-0: ..\n"
 
18
 
19
  # @ crayon-syntax-highlighter
20
- #: ../crayon_formatter.class.php:266
21
  msgid "Toggle Plain Code"
22
- msgstr "Código normal cambiar"
23
 
24
  # @ crayon-syntax-highlighter
25
- #: ../crayon_formatter.class.php:268
26
  #, php-format
27
  msgid "Press %s to Copy, %s to Paste"
28
- msgstr "Prensa %s para copiar, pegar a %s"
29
 
30
  # @ crayon-syntax-highlighter
31
- #: ../crayon_formatter.class.php:268
32
  msgid "Copy Plain Code"
33
- msgstr "Copia simple código"
34
 
35
  # @ crayon-syntax-highlighter
36
- #: ../crayon_formatter.class.php:270
37
  msgid "Open Code In New Window"
38
- msgstr "Código abierto en una ventana nueva"
39
 
40
  # @ crayon-syntax-highlighter
41
- #: ../crayon_formatter.class.php:273
42
  msgid "Toggle Line Numbers"
43
- msgstr "Números de cambiar de línea"
44
 
45
  # @ crayon-syntax-highlighter
46
- #: ../crayon_formatter.class.php:279
47
  msgid "Contains Mixed Languages"
48
- msgstr "Contiene Idiomas mixtos"
49
 
50
  # @ crayon-syntax-highlighter
51
- #: ../crayon_settings.class.php:138
52
  msgid "Hourly"
53
  msgstr "Cada hora"
54
 
55
  # @ crayon-syntax-highlighter
56
- #: ../crayon_settings.class.php:138
57
  msgid "Daily"
58
  msgstr "Diario"
59
 
60
  # @ crayon-syntax-highlighter
61
- #: ../crayon_settings.class.php:139
62
  msgid "Weekly"
63
  msgstr "Semanal"
64
 
65
  # @ crayon-syntax-highlighter
66
- #: ../crayon_settings.class.php:139
67
  msgid "Monthly"
68
  msgstr "Mensual"
69
 
70
  # @ crayon-syntax-highlighter
71
- #: ../crayon_settings.class.php:140
72
  msgid "Immediately"
73
  msgstr "Inmediatamente"
74
 
75
  # @ crayon-syntax-highlighter
76
- #: ../crayon_settings.class.php:150
77
- #: ../crayon_settings.class.php:154
78
  msgid "Max"
79
  msgstr "Max"
80
 
81
  # @ crayon-syntax-highlighter
82
- #: ../crayon_settings.class.php:150
83
- #: ../crayon_settings.class.php:154
84
  msgid "Min"
85
  msgstr "Min"
86
 
87
  # @ crayon-syntax-highlighter
88
- #: ../crayon_settings.class.php:150
89
- #: ../crayon_settings.class.php:154
90
  msgid "Static"
91
  msgstr "Estático"
92
 
93
  # @ crayon-syntax-highlighter
94
- #: ../crayon_settings.class.php:152
95
- #: ../crayon_settings.class.php:156
96
- #: ../crayon_settings_wp.class.php:541
97
- #: ../crayon_settings_wp.class.php:550
98
- #: ../crayon_settings_wp.class.php:649
99
  msgid "Pixels"
100
  msgstr "Píxeles"
101
 
102
  # @ crayon-syntax-highlighter
103
- #: ../crayon_settings.class.php:152
104
- #: ../crayon_settings.class.php:156
105
  msgid "Percent"
106
  msgstr "Por ciento"
107
 
108
  # @ crayon-syntax-highlighter
109
- #: ../crayon_settings.class.php:165
110
  msgid "None"
111
  msgstr "Ninguno"
112
 
113
  # @ crayon-syntax-highlighter
114
- #: ../crayon_settings.class.php:165
115
  msgid "Left"
116
  msgstr "Izquierda"
117
 
118
  # @ crayon-syntax-highlighter
119
- #: ../crayon_settings.class.php:165
120
  msgid "Center"
121
  msgstr "Centro"
122
 
123
  # @ crayon-syntax-highlighter
124
- #: ../crayon_settings.class.php:165
125
  msgid "Right"
126
  msgstr "Derecho"
127
 
128
  # @ crayon-syntax-highlighter
129
- #: ../crayon_settings.class.php:167
130
- #: ../crayon_settings.class.php:189
131
  msgid "On MouseOver"
132
- msgstr "Se mueve el ratón"
133
 
134
  # @ crayon-syntax-highlighter
135
- #: ../crayon_settings.class.php:167
136
- #: ../crayon_settings.class.php:173
137
  msgid "Always"
138
  msgstr "Siempre"
139
 
140
  # @ crayon-syntax-highlighter
141
- #: ../crayon_settings.class.php:167
142
- #: ../crayon_settings.class.php:173
143
  msgid "Never"
144
  msgstr "Nunca"
145
 
146
  # @ crayon-syntax-highlighter
147
- #: ../crayon_settings.class.php:173
148
  msgid "When Found"
149
  msgstr "Cuando se encuentra"
150
 
151
  # @ crayon-syntax-highlighter
152
- #: ../crayon_settings.class.php:189
153
  msgid "On Double Click"
154
- msgstr "Haga doble click en"
155
 
156
  # @ crayon-syntax-highlighter
157
- #: ../crayon_settings.class.php:189
158
  msgid "On Single Click"
159
- msgstr "En solo clic"
160
 
161
  # @ crayon-syntax-highlighter
162
- #: ../crayon_settings.class.php:189
163
  msgid "Disable Mouse Events"
164
- msgstr "Desactivar Los Eventos De Ratón"
165
 
166
  # @ crayon-syntax-highlighter
167
- #: ../crayon_settings.class.php:196
168
  msgid "An error has occurred. Please try again later."
169
  msgstr "Se produjo un error. Por favor, inténtelo de nuevo más tarde."
170
 
171
  # @ crayon-syntax-highlighter
172
  #: ../crayon_settings_wp.class.php:44
173
- #: ../crayon_settings_wp.class.php:118
174
- #: ../crayon_settings_wp.class.php:802
 
175
  msgid "Settings"
176
  msgstr "Configuración"
177
 
178
  # @ crayon-syntax-highlighter
179
- #: ../crayon_settings_wp.class.php:99
180
  msgid "You do not have sufficient permissions to access this page."
181
  msgstr "Usted no tiene permisos suficientes para acceder a esta página."
182
 
183
  # @ crayon-syntax-highlighter
184
- #: ../crayon_settings_wp.class.php:130
185
  msgid "Save Changes"
186
  msgstr "Guardar cambios"
187
 
188
  # @ crayon-syntax-highlighter
189
- #: ../crayon_settings_wp.class.php:136
190
  msgid "Reset Settings"
191
  msgstr "Restablecer configuración"
192
 
193
  # @ crayon-syntax-highlighter
194
- #: ../crayon_settings_wp.class.php:301
195
  msgid "General"
196
  msgstr "General"
197
 
198
  # @ crayon-syntax-highlighter
199
- #: ../crayon_settings_wp.class.php:302
200
  msgid "Theme"
201
  msgstr "Tema"
202
 
203
  # @ crayon-syntax-highlighter
204
- #: ../crayon_settings_wp.class.php:303
205
  msgid "Font"
206
- msgstr "Son"
207
 
208
  # @ crayon-syntax-highlighter
209
- #: ../crayon_settings_wp.class.php:304
210
  msgid "Metrics"
211
- msgstr "Métrica"
212
 
213
  # @ crayon-syntax-highlighter
214
- #: ../crayon_settings_wp.class.php:305
215
  msgid "Toolbar"
216
  msgstr "Barra de herramientas"
217
 
218
  # @ crayon-syntax-highlighter
219
- #: ../crayon_settings_wp.class.php:306
220
  msgid "Lines"
221
  msgstr "Líneas"
222
 
223
  # @ crayon-syntax-highlighter
224
- #: ../crayon_settings_wp.class.php:307
 
225
  msgid "Code"
226
  msgstr "Código"
227
 
228
  # @ crayon-syntax-highlighter
229
- #: ../crayon_settings_wp.class.php:308
230
  msgid "Tags"
231
  msgstr "Etiquetas"
232
 
233
  # @ crayon-syntax-highlighter
234
- #: ../crayon_settings_wp.class.php:309
235
  msgid "Languages"
236
- msgstr "Idiomas"
237
 
238
  # @ crayon-syntax-highlighter
239
- #: ../crayon_settings_wp.class.php:310
240
  msgid "Files"
241
  msgstr "Archivos"
242
 
243
  # @ crayon-syntax-highlighter
244
- #: ../crayon_settings_wp.class.php:311
245
- #, fuzzy
246
  msgid "Tag Editor"
247
- msgstr "Tema Editor"
248
 
249
  # @ crayon-syntax-highlighter
250
- #: ../crayon_settings_wp.class.php:312
251
  msgid "Misc"
252
- msgstr "Misc"
253
 
254
  # @ crayon-syntax-highlighter
255
- #: ../crayon_settings_wp.class.php:315
256
  msgid "Debug"
257
  msgstr "Depurar"
258
 
259
  # @ crayon-syntax-highlighter
260
- #: ../crayon_settings_wp.class.php:316
261
  msgid "Errors"
262
  msgstr "Errores"
263
 
264
  # @ crayon-syntax-highlighter
265
- #: ../crayon_settings_wp.class.php:317
266
  msgid "Log"
267
- msgstr "Log"
268
 
269
  # @ crayon-syntax-highlighter
270
- #: ../crayon_settings_wp.class.php:320
271
  msgid "About"
272
- msgstr "Sobre"
273
 
274
  # @ crayon-syntax-highlighter
275
- #: ../crayon_settings_wp.class.php:503
276
  msgid "Crayon Help"
277
- msgstr "Crayon Ayuda"
278
 
279
  # @ crayon-syntax-highlighter
280
- #: ../crayon_settings_wp.class.php:518
281
  msgid "Height"
282
  msgstr "Altura"
283
 
284
  # @ crayon-syntax-highlighter
285
- #: ../crayon_settings_wp.class.php:524
286
  msgid "Width"
287
  msgstr "Ancho"
288
 
289
  # @ crayon-syntax-highlighter
290
- #: ../crayon_settings_wp.class.php:530
291
  msgid "Top Margin"
292
  msgstr "Margen superior"
293
 
294
  # @ crayon-syntax-highlighter
295
- #: ../crayon_settings_wp.class.php:531
296
  msgid "Bottom Margin"
297
  msgstr "Margen inferior"
298
 
299
  # @ crayon-syntax-highlighter
300
- #: ../crayon_settings_wp.class.php:532
301
- #: ../crayon_settings_wp.class.php:537
302
  msgid "Left Margin"
303
- msgstr "Margen Izquierda"
304
 
305
  # @ crayon-syntax-highlighter
306
- #: ../crayon_settings_wp.class.php:533
307
  #: ../crayon_settings_wp.class.php:537
 
308
  msgid "Right Margin"
309
  msgstr "Margen derecho"
310
 
311
  # @ crayon-syntax-highlighter
312
- #: ../crayon_settings_wp.class.php:543
313
  msgid "Horizontal Alignment"
314
- msgstr "La alineación horizontal"
315
 
316
  # @ crayon-syntax-highlighter
317
- #: ../crayon_settings_wp.class.php:546
318
  msgid "Allow floating elements to surround Crayon"
319
- msgstr "Permitir que los elementos flotantes que rodean Crayon"
320
 
321
  # @ crayon-syntax-highlighter
322
- #: ../crayon_settings_wp.class.php:548
323
  msgid "Inline Margin"
324
  msgstr "Margen en línea"
325
 
326
  # @ crayon-syntax-highlighter
327
- #: ../crayon_settings_wp.class.php:556
328
  msgid "Display the Toolbar"
329
  msgstr "Mostrar la barra de herramientas"
330
 
331
  # @ crayon-syntax-highlighter
332
- #: ../crayon_settings_wp.class.php:559
333
  msgid "Overlay the toolbar on code rather than push it down when possible"
334
- msgstr "Superposición de la barra de herramientas de código en lugar de empujar hacia abajo cuando sea posible"
335
 
336
  # @ crayon-syntax-highlighter
337
- #: ../crayon_settings_wp.class.php:560
338
  msgid "Toggle the toolbar on single click when it is overlayed"
339
- msgstr "Activar o desactivar la barra de herramientas en un solo clic cuando se superpone"
340
 
341
  # @ crayon-syntax-highlighter
342
- #: ../crayon_settings_wp.class.php:561
343
  msgid "Delay hiding the toolbar on MouseOut"
344
- msgstr "Delay ocultar la barra de herramientas en MouseOut"
345
 
346
  # @ crayon-syntax-highlighter
347
- #: ../crayon_settings_wp.class.php:563
348
  msgid "Display the title when provided"
349
- msgstr "Mostrar el título cuando se proporcionan"
350
 
351
  # @ crayon-syntax-highlighter
352
- #: ../crayon_settings_wp.class.php:564
353
  msgid "Display the language"
354
  msgstr "Mostrar el lenguaje"
355
 
356
  # @ crayon-syntax-highlighter
357
- #: ../crayon_settings_wp.class.php:571
358
  msgid "Display striped code lines"
359
- msgstr "Mostrar las líneas de código de rayas"
360
 
361
  # @ crayon-syntax-highlighter
362
- #: ../crayon_settings_wp.class.php:572
363
  msgid "Enable line marking for important lines"
364
- msgstr "Activar la línea de marca para las líneas importantes"
 
 
 
 
 
365
 
366
  # @ crayon-syntax-highlighter
367
- #: ../crayon_settings_wp.class.php:573
368
  msgid "Display line numbers by default"
369
  msgstr "Mostrar números de línea por defecto"
370
 
371
  # @ crayon-syntax-highlighter
372
- #: ../crayon_settings_wp.class.php:574
373
  msgid "Enable line number toggling"
374
- msgstr "Permiten alternar la línea número"
375
 
376
  # @ crayon-syntax-highlighter
377
- #: ../crayon_settings_wp.class.php:575
378
  msgid "Start line numbers from"
379
- msgstr "Inicio de los números de línea"
380
 
381
  # @ crayon-syntax-highlighter
382
- #: ../crayon_settings_wp.class.php:585
383
  msgid "When no language is provided, use the fallback"
384
- msgstr "Cuando no se proporciona el lenguaje, el uso de la reserva"
385
 
386
  # @ crayon-syntax-highlighter
387
- #: ../crayon_settings_wp.class.php:591
388
- #, fuzzy, php-format
389
  msgid "%d language has been detected."
390
- msgstr "%d lenguaje que se ha detectado."
391
 
392
  # @ crayon-syntax-highlighter
393
- #: ../crayon_settings_wp.class.php:592
394
  msgid "Parsing was successful"
395
  msgstr "El análisis se ha realizado correctamente"
396
 
397
  # @ crayon-syntax-highlighter
398
- #: ../crayon_settings_wp.class.php:592
399
  msgid "Parsing was unsuccessful"
400
  msgstr "El análisis no tuvo éxito"
401
 
402
  # @ crayon-syntax-highlighter
403
- #: ../crayon_settings_wp.class.php:598
404
  #, php-format
405
  msgid "The selected language with id %s could not be loaded"
406
  msgstr "El idioma seleccionado con el id %s no se pudo cargar"
407
 
408
  # @ crayon-syntax-highlighter
409
- #: ../crayon_settings_wp.class.php:602
410
  msgid "Show Languages"
411
- msgstr "Mostrar Idiomas"
412
 
413
  # @ crayon-syntax-highlighter
414
- #: ../crayon_settings_wp.class.php:621
 
415
  msgid "Loading..."
416
- msgstr "De carga..."
417
 
418
  # @ crayon-syntax-highlighter
419
- #: ../crayon_settings_wp.class.php:621
420
- #: ../crayon_settings_wp.class.php:804
421
- msgid "Theme Editor"
422
- msgstr "Tema Editor"
 
 
 
 
423
 
424
  # @ crayon-syntax-highlighter
425
- #: ../crayon_settings_wp.class.php:626
426
  #, php-format
427
  msgid "Change the %1$sfallback language%2$s to change the sample code. Lines 5-7 are marked."
428
- msgstr "Cambiar el %1$slenguaje a usar%2$s para cambiar el código de ejemplo. Las líneas 5-7 están marcados."
429
 
430
  # @ crayon-syntax-highlighter
431
- #: ../crayon_settings_wp.class.php:630
432
  msgid "Enable Live Preview"
433
  msgstr "Activar vista previa dinámica"
434
 
435
  # @ crayon-syntax-highlighter
436
- #: ../crayon_settings_wp.class.php:632
437
  msgid "Enqueue themes in the header (more efficient)."
438
- msgstr "Enqueue temas en la cabecera (más eficiente)."
439
 
440
- #: ../crayon_settings_wp.class.php:632
441
- #: ../crayon_settings_wp.class.php:658
442
- #: ../crayon_settings_wp.class.php:683
443
- #: ../crayon_settings_wp.class.php:690
444
- #: ../crayon_settings_wp.class.php:691
445
- #: ../crayon_settings_wp.class.php:692
446
- #: ../crayon_settings_wp.class.php:693
447
- #: ../crayon_settings_wp.class.php:694
448
- #: ../crayon_settings_wp.class.php:695
449
- #: ../crayon_settings_wp.class.php:709
450
- #: ../crayon_settings_wp.class.php:716
451
- #: ../crayon_settings_wp.class.php:717
 
452
  msgid "?"
453
- msgstr ""
454
 
455
  # @ crayon-syntax-highlighter
456
- #: ../crayon_settings_wp.class.php:635
457
  #, php-format
458
  msgid "The selected theme with id %s could not be loaded"
459
  msgstr "El tema seleccionado con el id %s no se pudo cargar"
460
 
461
  # @ crayon-syntax-highlighter
462
- #: ../crayon_settings_wp.class.php:647
463
  msgid "Custom Font Size"
464
  msgstr "Tamaño de fuente personalizado"
465
 
466
  # @ crayon-syntax-highlighter
467
- #: ../crayon_settings_wp.class.php:652
468
  #, php-format
469
  msgid "The selected font with id %s could not be loaded"
470
- msgstr "La fuente seleccionada con id %s no se pudo cargar"
471
 
472
  # @ crayon-syntax-highlighter
473
- #: ../crayon_settings_wp.class.php:658
474
  msgid "Enqueue fonts in the header (more efficient)."
475
- msgstr "Enqueue fuentes en la cabecera (más eficiente)."
476
 
477
  # @ crayon-syntax-highlighter
478
- #: ../crayon_settings_wp.class.php:663
479
  msgid "Enable plain code view and display"
480
- msgstr "Permiten ver el código normal y la pantalla"
481
 
482
  # @ crayon-syntax-highlighter
483
- #: ../crayon_settings_wp.class.php:666
484
  msgid "Enable plain code toggling"
485
- msgstr "Permiten alternar código normal"
486
 
487
  # @ crayon-syntax-highlighter
488
- #: ../crayon_settings_wp.class.php:667
489
  msgid "Show the plain code by default"
490
- msgstr "Mostrar el código sin formato por defecto"
491
 
492
  # @ crayon-syntax-highlighter
493
- #: ../crayon_settings_wp.class.php:668
494
  msgid "Enable code copy/paste"
495
- msgstr "Permiten copiar el código / pegar"
496
 
497
  # @ crayon-syntax-highlighter
498
- #: ../crayon_settings_wp.class.php:670
499
  msgid "Enable opening code in a window"
500
- msgstr "Permitir que el código de apertura de una ventana"
501
 
502
  # @ crayon-syntax-highlighter
503
- #: ../crayon_settings_wp.class.php:671
504
  msgid "Always display scrollbars"
505
  msgstr "Siempre mostrar barras de desplazamiento"
506
 
507
  # @ crayon-syntax-highlighter
508
- #: ../crayon_settings_wp.class.php:672
509
- msgid "Tab size in spaces"
510
- msgstr "Tab tamaño en espacios"
511
-
512
- #: ../crayon_settings_wp.class.php:677
513
  msgid "Decode HTML entities in code"
514
- msgstr "Descifrar las entidades HTML en el código"
515
 
516
- #: ../crayon_settings_wp.class.php:679
 
517
  msgid "Decode HTML entities in attributes"
518
- msgstr "Descifrar las entidades HTML en los atributos"
519
 
520
  # @ crayon-syntax-highlighter
521
- #: ../crayon_settings_wp.class.php:681
522
  msgid "Remove whitespace surrounding the shortcode content"
523
- msgstr "Eliminar espacios en blanco que rodea el contenido abreviado"
524
 
525
  # @ crayon-syntax-highlighter
526
- #: ../crayon_settings_wp.class.php:683
527
  msgid "Allow Mixed Language Highlighting with delimiters and tags."
528
- msgstr "Permiten destacar mixto del lenguaje con delimitadores y etiquetas."
529
 
530
  # @ crayon-syntax-highlighter
531
- #: ../crayon_settings_wp.class.php:685
532
  msgid "Show Mixed Language Icon (+)"
533
- msgstr "Mostrar el icono del lenguaje mixto (+)"
534
 
535
  # @ crayon-syntax-highlighter
536
- #: ../crayon_settings_wp.class.php:690
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
537
  msgid "Capture Mini Tags like [php][/php] as Crayons."
538
- msgstr "Captura Tags Mini como [php][/php] como Crayons."
539
 
540
  # @ crayon-syntax-highlighter
541
- #: ../crayon_settings_wp.class.php:691
542
  msgid "Capture Inline Tags like {php}{/php} inside sentences."
543
- msgstr "Captura de etiquetas en línea, como {php} {/php} en el interior oraciones."
544
 
545
  # @ crayon-syntax-highlighter
546
- #: ../crayon_settings_wp.class.php:692
547
  msgid "Wrap Inline Tags"
548
- msgstr "Envuelva en Línea Tags"
549
 
550
  # @ crayon-syntax-highlighter
551
- #: ../crayon_settings_wp.class.php:693
552
  msgid "Capture `backquotes` as &lt;code&gt;"
553
- msgstr "Captura `backquotes` como &lt;code&gt;"
554
 
555
  # @ crayon-syntax-highlighter
556
- #: ../crayon_settings_wp.class.php:694
557
  msgid "Capture &lt;pre&gt; tags as Crayons"
558
- msgstr "Captura de etiquetas &lt;pre&gt; como Crayons"
559
 
560
  # @ crayon-syntax-highlighter
561
- #: ../crayon_settings_wp.class.php:695
562
  msgid "Enable [plain][/plain] tag."
563
- msgstr "Activar etiqueta [plain][/plain]."
564
 
565
  # @ crayon-syntax-highlighter
566
- #: ../crayon_settings_wp.class.php:700
567
  msgid "When loading local files and a relative path is given for the URL, use the absolute path"
568
- msgstr "Al cargar los archivos locales y una ruta relativa para la dirección URL, utilice la ruta absoluta"
569
 
570
  # @ crayon-syntax-highlighter
571
- #: ../crayon_settings_wp.class.php:703
572
  msgid "Followed by your relative URL."
573
- msgstr "Seguido de su dirección URL relativa\t."
574
 
575
- #: ../crayon_settings_wp.class.php:707
 
576
  #, php-format
577
  msgid "Use %s to separate setting names from values in the &lt;pre&gt; class attribute"
578
- msgstr "Utilice %s para separar los nombres de ajuste de los valores en el &lt;pre&gt; atributo de la clase"
579
 
580
  # @ crayon-syntax-highlighter
581
- #: ../crayon_settings_wp.class.php:713
 
 
 
 
 
 
 
 
 
 
582
  msgid "Clear the cache used to store remote code requests"
583
- msgstr "Borrar la caché utiliza para almacenar las solicitudes de código remoto"
584
 
585
  # @ crayon-syntax-highlighter
586
- #: ../crayon_settings_wp.class.php:715
587
  msgid "Clear Now"
588
  msgstr "Limpiar ahora"
589
 
590
  # @ crayon-syntax-highlighter
591
- #: ../crayon_settings_wp.class.php:716
592
  msgid "Attempt to load Crayon's CSS and JavaScript only when needed"
593
- msgstr "Intento de cargar CSS y JavaScript Crayón sólo cuando sea necesario"
594
 
595
  # @ crayon-syntax-highlighter
596
- #: ../crayon_settings_wp.class.php:717
597
  msgid "Disable enqueuing for page templates that may contain The Loop."
598
- msgstr "Desactivar enqueuing de las plantillas de página que puede contener el Loop."
599
 
600
  # @ crayon-syntax-highlighter
601
- #: ../crayon_settings_wp.class.php:718
602
  msgid "Allow Crayons inside comments"
603
  msgstr "Permitir Crayons dentro de los comentarios"
604
 
605
- #: ../crayon_settings_wp.class.php:719
 
606
  msgid "Remove Crayons from excerpts"
607
- msgstr "Retire Crayones de extractos"
608
 
609
  # @ crayon-syntax-highlighter
610
- #: ../crayon_settings_wp.class.php:720
611
  msgid "Load Crayons only from the main Wordpress query"
612
- msgstr "Lápices de colores única carga de la principal consulta de Wordpress"
613
 
614
  # @ crayon-syntax-highlighter
615
- #: ../crayon_settings_wp.class.php:721
616
  msgid "Disable mouse gestures for touchscreen devices (eg. MouseOver)"
617
- msgstr "Desactivar los gestos del ratón para dispositivos con pantalla táctil (por ejemplo, MouseOver)"
618
 
619
  # @ crayon-syntax-highlighter
620
- #: ../crayon_settings_wp.class.php:722
621
  msgid "Disable animations"
622
- msgstr "Desactivar las animaciones"
623
 
624
  # @ crayon-syntax-highlighter
625
- #: ../crayon_settings_wp.class.php:723
626
  msgid "Disable runtime stats"
627
- msgstr "Desactivar tiempo de ejecución de las estadísticas"
628
 
629
  # @ crayon-syntax-highlighter
630
- #: ../crayon_settings_wp.class.php:729
631
  msgid "Log errors for individual Crayons"
632
- msgstr "Errores de registro para cada Crayon"
633
 
634
  # @ crayon-syntax-highlighter
635
- #: ../crayon_settings_wp.class.php:730
636
  msgid "Log system-wide errors"
637
- msgstr "Registro de todo el sistema de los errores"
638
 
639
  # @ crayon-syntax-highlighter
640
- #: ../crayon_settings_wp.class.php:731
641
  msgid "Display custom message for errors"
642
  msgstr "Mostrar mensajes personalizados para los errores"
643
 
644
  # @ crayon-syntax-highlighter
645
- #: ../crayon_settings_wp.class.php:743
646
  msgid "Show Log"
647
  msgstr "Mostrar Registro"
648
 
649
  # @ crayon-syntax-highlighter
650
- #: ../crayon_settings_wp.class.php:743
651
  msgid "Hide Log"
652
- msgstr "Ocultar Conectarse"
653
 
654
  # @ crayon-syntax-highlighter
655
- #: ../crayon_settings_wp.class.php:745
656
  msgid "Clear Log"
657
- msgstr "Borrar Registro"
658
 
659
  # @ crayon-syntax-highlighter
660
- #: ../crayon_settings_wp.class.php:746
661
  msgid "Email Admin"
662
- msgstr "Admin Email"
663
 
664
  # @ crayon-syntax-highlighter
665
- #: ../crayon_settings_wp.class.php:748
666
  msgid "Email Developer"
667
- msgstr "Correo electrónico del desarrollador"
668
 
669
  # @ crayon-syntax-highlighter
670
- #: ../crayon_settings_wp.class.php:750
671
  msgid "The log is currently empty."
672
- msgstr "El registro está actualmente vacía."
673
 
674
  # @ crayon-syntax-highlighter
675
- #: ../crayon_settings_wp.class.php:752
676
  msgid "The log file exists and is writable."
677
  msgstr "El archivo de registro existe y se puede escribir."
678
 
679
  # @ crayon-syntax-highlighter
680
- #: ../crayon_settings_wp.class.php:752
681
  msgid "The log file exists and is not writable."
682
  msgstr "El archivo de registro existe y no es modificable."
683
 
684
  # @ crayon-syntax-highlighter
685
- #: ../crayon_settings_wp.class.php:754
686
  msgid "The log file does not exist and is not writable."
687
- msgstr "El archivo de registro no existe y no es modificable."
688
 
689
  # @ crayon-syntax-highlighter
690
- #: ../crayon_settings_wp.class.php:764
691
  msgid "Version"
692
  msgstr "Versión"
693
 
694
  # @ crayon-syntax-highlighter
695
- #: ../crayon_settings_wp.class.php:766
696
  msgid "Developer"
697
- msgstr "Promotor"
698
 
699
  # @ crayon-syntax-highlighter
700
- #: ../crayon_settings_wp.class.php:767
701
  msgid "Translators"
702
  msgstr "Traductores"
703
 
704
  # @ crayon-syntax-highlighter
705
- #: ../crayon_settings_wp.class.php:790
706
  msgid "The result of innumerable hours of hard work over many months. It's an ongoing project, keep me motivated!"
707
- msgstr "El resultado de incontables horas de duro trabajo durante muchos meses. Es un proyecto en curso, me mantienen motivado!"
708
 
709
  # @ crayon-syntax-highlighter
710
- #: ../crayon_settings_wp.class.php:806
 
 
 
 
 
 
711
  msgid "Donate"
712
  msgstr "Donar"
713
 
714
  # @ crayon-syntax-highlighter
715
- #: ../util/tag-editor/crayon_tag_editor_wp.class.php:57
716
- #, fuzzy
717
  msgid "Add Crayon Code"
718
- msgstr "Crayon Ayuda"
719
 
720
- #: ../util/tag-editor/crayon_tag_editor_wp.class.php:58
 
721
  msgid "Edit Crayon Code"
722
- msgstr "Editar Crayon Código"
723
 
724
- #: ../util/tag-editor/crayon_tag_editor_wp.class.php:59
 
725
  msgid "Add"
726
  msgstr "Añadir"
727
 
728
- #: ../util/tag-editor/crayon_tag_editor_wp.class.php:60
 
729
  msgid "Save"
730
- msgstr "Ahorrar"
731
 
732
  # @ crayon-syntax-highlighter
733
- #: ../util/tag-editor/crayon_te_content.php:65
734
- #, fuzzy
735
  msgid "Title"
736
- msgstr "Archivos"
737
 
738
- #: ../util/tag-editor/crayon_te_content.php:67
 
739
  msgid "A short description"
740
  msgstr "Una breve descripción"
741
 
742
  # @ crayon-syntax-highlighter
743
- #: ../util/tag-editor/crayon_te_content.php:70
744
- #, fuzzy
745
  msgid "Inline"
746
- msgstr "Margen en línea"
747
 
748
  # @ crayon-syntax-highlighter
749
- #: ../util/tag-editor/crayon_te_content.php:75
750
- #, fuzzy
751
- msgid "Language"
752
- msgstr "Idiomas"
753
-
754
- #: ../util/tag-editor/crayon_te_content.php:78
755
- msgid "Marked Lines"
756
- msgstr "líneas marcadas"
757
-
758
- #: ../util/tag-editor/crayon_te_content.php:79
759
- msgid "(e.g. 1,2,3-5)"
760
- msgstr "(por ejemplo, 1,2,3-5)"
761
 
762
  # @ crayon-syntax-highlighter
763
- #: ../util/tag-editor/crayon_te_content.php:82
764
- #, fuzzy
765
- msgid "Disable Highlighting"
766
- msgstr "Desactivar las animaciones"
767
 
768
  # @ crayon-syntax-highlighter
769
- #: ../util/tag-editor/crayon_te_content.php:87
770
- #, fuzzy
771
- msgid "Clear"
772
- msgstr "Limpiar ahora"
773
-
774
- #: ../util/tag-editor/crayon_te_content.php:88
775
- msgid "Paste your code here, or type it in manually."
776
- msgstr "Copia y pega tu código aquí, o escriba en forma manual."
777
-
778
- #: ../util/tag-editor/crayon_te_content.php:91
779
- msgid "URL"
780
- msgstr ""
781
-
782
  #: ../util/tag-editor/crayon_te_content.php:93
783
- msgid "Relative local path or absolute URL"
784
- msgstr "Ruta de acceso relativa local o dirección URL absoluta"
785
-
786
- #: ../util/tag-editor/crayon_te_content.php:96
787
- msgid "If the URL fails to load, the code above will be shown instead. If no code exists, an error is shown."
788
- msgstr "Si la URL no se carga, el código anterior se mostrará en su lugar. Si no existe ningún código, se muestra un error."
789
-
790
- #: ../util/tag-editor/crayon_te_content.php:98
791
- #, php-format
792
- msgid "If a relative local path is given it will be appended to %s - which is defined in %sCrayon &gt; Settings &gt; Files%s."
793
- msgstr "Si una ruta local relativa se da que se anexará al %s - que se define en %sCrayon &gt; Configuración &gt; Archivos%s."
794
-
795
- #: ../util/tag-editor/crayon_te_content.php:117
796
- msgid "Change the following settings to override their global values."
797
- msgstr "Cambie las siguientes configuraciones para anular sus valores globales."
798
-
799
- #: ../util/tag-editor/crayon_te_content.php:119
800
- msgid "Only changes (shown yellow) are applied."
801
- msgstr "Sólo los cambios (que se muestra de color amarillo) se aplican."
802
-
803
- #: ../util/tag-editor/crayon_te_content.php:121
804
- #, php-format
805
- msgid "Future changes to the global settings under %sCrayon &gt; Settings%s won't affect overridden settings."
806
- msgstr "Los futuros cambios a la configuración global en %sCrayon &gt; Configuración%s no afecta a la configuración reemplazados."
807
-
808
- # @ crayon-syntax-highlighter
809
- #: ../util/theme-editor/editor.php:16
810
- msgid "Back To Settings"
811
- msgstr "Volver a la configuración"
812
-
813
- # @ crayon-syntax-highlighter
814
- #, fuzzy
815
- #~ msgid "History"
816
- #~ msgstr "Cada hora"
817
-
818
- # @ crayon-syntax-highlighter
819
- #, fuzzy
820
- #~ msgid "You do not have sufficient permission to moderate comments."
821
- #~ msgstr "Usted no tiene permisos suficientes para acceder a esta página."
822
-
823
- # @ crayon-syntax-highlighter
824
- #, fuzzy
825
- #~ msgid "Translations"
826
- #~ msgstr "Traductores"
827
-
828
- # @ crayon-syntax-highlighter
829
- #, fuzzy
830
- #~ msgid "Pro Version"
831
- #~ msgstr "Versión"
832
-
833
- # @ crayon-syntax-highlighter
834
- #, fuzzy
835
- #~ msgid "Reset Settings to Defaults"
836
- #~ msgstr "Restablecer configuración"
837
-
838
- # @ crayon-syntax-highlighter
839
- #, fuzzy
840
- #~ msgid "You do not have permission to manage translation files."
841
- #~ msgstr "Usted no tiene permisos suficientes para acceder a esta página."
842
-
843
- # @ crayon-syntax-highlighter
844
- #, fuzzy
845
- #~ msgid "Last-Translator"
846
- #~ msgstr "Traductores"
847
-
848
- # @ crayon-syntax-highlighter
849
- #, fuzzy
850
- #~ msgid "Language Target"
851
- #~ msgstr "Idiomas"
852
-
853
- # @ crayon-syntax-highlighter
854
- #, fuzzy
855
- #~ msgid "You do not have the permission to create the file '%s'."
856
- #~ msgstr "Usted no tiene permisos suficientes para acceder a esta página."
857
-
858
- # @ crayon-syntax-highlighter
859
- #, fuzzy
860
- #~ msgid "You do not have the permission to delete the file '%s'."
861
- #~ msgstr "Usted no tiene permisos suficientes para acceder a esta página."
862
-
863
- # @ crayon-syntax-highlighter
864
- #, fuzzy
865
- #~ msgid "You do not have the permission to write to the file '%s'."
866
- #~ msgstr "Usted no tiene permisos suficientes para acceder a esta página."
867
-
868
- # @ crayon-syntax-highlighter
869
- #, fuzzy
870
- #~ msgid "You do not have the permission to read the file '%s'."
871
- #~ msgstr "Usted no tiene permisos suficientes para acceder a esta página."
872
-
873
- # @ crayon-syntax-highlighter
874
- #, fuzzy
875
- #~ msgid "Manage Language Files"
876
- #~ msgstr "Idiomas"
877
-
878
- # @ crayon-syntax-highlighter
879
- #, fuzzy
880
- #~ msgid "All Translations"
881
- #~ msgstr "Traductores"
882
-
883
- # @ crayon-syntax-highlighter
884
- #, fuzzy
885
- #~ msgid "Themes"
886
- #~ msgstr "Tema"
887
-
888
- # @ crayon-syntax-highlighter
889
- #, fuzzy
890
- #~ msgid "State"
891
- #~ msgstr "Estático"
892
-
893
- # @ crayon-syntax-highlighter
894
- #, fuzzy
895
- #~ msgid "Language Folder"
896
- #~ msgstr "Idiomas"
897
-
898
- # @ crayon-syntax-highlighter
899
- #, fuzzy
900
- #~ msgid "Add New Language"
901
- #~ msgstr "Mostrar Idiomas"
902
-
903
- # @ crayon-syntax-highlighter
904
- #, fuzzy
905
- #~ msgid "Permissions"
906
- #~ msgstr "Versión"
907
-
908
- # @ crayon-syntax-highlighter
909
- #, fuzzy
910
- #~ msgid "Translate Language File"
911
- #~ msgstr "Mostrar el lenguaje"
912
-
913
- # @ crayon-syntax-highlighter
914
- #, fuzzy
915
- #~ msgid "File:"
916
- #~ msgstr "Archivos"
917
-
918
- # @ crayon-syntax-highlighter
919
- #, fuzzy
920
- #~ msgid "Context"
921
- #~ msgstr "Centro"
922
-
923
- # @ crayon-syntax-highlighter
924
- #, fuzzy
925
- #~ msgid "Code Hint"
926
- #~ msgstr "Código"
927
-
928
- # @ crayon-syntax-highlighter
929
- #, fuzzy
930
- #~ msgid "Trailing Space"
931
- #~ msgstr "Tab tamaño en espacios"
932
-
933
- # @ crayon-syntax-highlighter
934
- #, fuzzy
935
- #~ msgid "Translation:"
936
- #~ msgstr "Traductores"
937
-
938
- # @ crayon-syntax-highlighter
939
- #, fuzzy
940
- #~ msgid "Confirm Delete Language"
941
- #~ msgstr "Contiene Idiomas mixtos"
942
-
943
- # @ crayon-syntax-highlighter
944
- #, fuzzy
945
- #~ msgid "Comment"
946
- #~ msgstr "Centro"
947
-
948
- # @ crayon-syntax-highlighter
949
- #, fuzzy
950
- #~ msgid "Files:"
951
- #~ msgstr "Archivos"
952
-
953
- # @ crayon-syntax-highlighter
954
- #, fuzzy
955
- #~ msgctxt "pcre"
956
-
957
- #~ msgid "out"
958
- #~ msgstr "Sobre"
959
 
960
  # @ crayon-syntax-highlighter
961
- #, fuzzy
962
- #~ msgid "Show all dates"
963
- #~ msgstr "Mostrar Idiomas"
964
-
965
- # @ crayon-syntax-highlighter
966
- #, fuzzy
967
- #~ msgid "Robot"
968
- #~ msgstr "Sobre"
969
-
970
- # @ crayon-syntax-highlighter
971
- #, fuzzy
972
- #~ msgid "Filter"
973
- #~ msgstr "Archivos"
974
-
975
- # @ crayon-syntax-highlighter
976
- #, fuzzy
977
- #~ msgid "Week"
978
- #~ msgstr "Semanal"
979
 
980
  # @ crayon-syntax-highlighter
981
- #, fuzzy
982
- #~ msgid "Month"
983
- #~ msgstr "Mensual"
984
 
985
  # @ crayon-syntax-highlighter
986
- #, fuzzy
987
- #~ msgid "First"
988
- #~ msgstr "Archivos"
989
 
990
  # @ crayon-syntax-highlighter
991
- #, fuzzy
992
- #~ msgid "Current"
993
- #~ msgstr "Centro"
994
 
995
  # @ crayon-syntax-highlighter
996
- #, fuzzy
997
- #~ msgid "minutes"
998
- #~ msgstr "Líneas"
999
 
1000
  # @ crayon-syntax-highlighter
1001
- #, fuzzy
1002
- #~ msgid "Update Setting"
1003
- #~ msgstr "Restablecer configuración"
1004
 
1005
  # @ crayon-syntax-highlighter
1006
- #, fuzzy
1007
- #~ msgid "Least"
1008
- #~ msgstr "Izquierda"
1009
 
1010
  # @ crayon-syntax-highlighter
1011
- #, fuzzy
1012
- #~ msgid "Views"
1013
- #~ msgstr "Líneas"
1014
 
1015
  # @ crayon-syntax-highlighter
1016
- #, fuzzy
1017
- #~ msgid "By Month"
1018
- #~ msgstr "Mensual"
 
1019
 
1020
  # @ crayon-syntax-highlighter
1021
- #, fuzzy
1022
- #~ msgid "By Week"
1023
- #~ msgstr "Semanal"
1024
 
1025
  # @ crayon-syntax-highlighter
1026
- #, fuzzy
1027
- #~ msgid "Margin"
1028
- #~ msgstr "Margen superior"
1029
 
1030
  # @ crayon-syntax-highlighter
1031
- #, fuzzy
1032
- #~ msgid "Bottom"
1033
- #~ msgstr "Margen inferior"
 
1034
 
1035
  # @ crayon-syntax-highlighter
1036
- #, fuzzy
1037
- #~ msgid "Other Settings"
1038
- #~ msgstr "Configuración"
 
1039
 
1040
  # @ crayon-syntax-highlighter
1041
- #, fuzzy
1042
- #~ msgid "Language Settings"
1043
- #~ msgstr "Idiomas"
 
1044
 
1045
  # @ crayon-syntax-highlighter
1046
- #, fuzzy
1047
- #~ msgid "Remove Settings"
1048
- #~ msgstr "Restablecer configuración"
1049
 
1050
- # @ crayon-syntax-highlighter
1051
- #, fuzzy
1052
- #~ msgid "Generated: %s"
1053
- #~ msgstr "General"
1
  msgid ""
2
  msgstr ""
3
+ "Project-Id-Version: Crayon Syntax Highlighter v1.11\n"
4
  "Report-Msgid-Bugs-To: \n"
5
+ "POT-Creation-Date: 2012-09-21 10:23+1000\n"
6
+ "PO-Revision-Date: 2012-09-28 22:01-0300\n"
7
+ "Last-Translator: Hermann Bravo <contacto@hbravo.com>\n"
8
  "Language-Team: \n"
9
  "MIME-Version: 1.0\n"
10
  "Content-Type: text/plain; charset=UTF-8\n"
11
  "Content-Transfer-Encoding: 8bit\n"
12
  "Plural-Forms: nplurals=2; plural=n != 1;\n"
13
+ "X-Poedit-SourceCharset: UTF-8\n"
14
+ "X-Poedit-KeywordsList: __;_e;__ngettext:1,2;_n:1,2;__ngettext_noop:1,2;_n_noop:1,2;_c,_nc:4c,1,2;_x:1,2c;_ex:1,2c;_nx:4c,1,2;_nx_noop:4c,1,2;crayon__;crayon_n;crayon_e\n"
15
  "X-Poedit-Basepath: .\n"
16
  "X-Textdomain-Support: yes\n"
17
+ "X-Generator: Poedit 1.5.3\n"
18
  "X-Poedit-SearchPath-0: ..\n"
19
+ "X-Poedit-SearchPath-1: .\n"
20
 
21
  # @ crayon-syntax-highlighter
22
+ #: ../crayon_formatter.class.php:287
23
  msgid "Toggle Plain Code"
24
+ msgstr "Cambiar a texto plano"
25
 
26
  # @ crayon-syntax-highlighter
27
+ #: ../crayon_formatter.class.php:289
28
  #, php-format
29
  msgid "Press %s to Copy, %s to Paste"
30
+ msgstr "Presiona %s para copiar y %s para pegar"
31
 
32
  # @ crayon-syntax-highlighter
33
+ #: ../crayon_formatter.class.php:289
34
  msgid "Copy Plain Code"
35
+ msgstr "Copiar texto plano"
36
 
37
  # @ crayon-syntax-highlighter
38
+ #: ../crayon_formatter.class.php:291
39
  msgid "Open Code In New Window"
40
+ msgstr "Abrir el código en una nueva ventana"
41
 
42
  # @ crayon-syntax-highlighter
43
+ #: ../crayon_formatter.class.php:294
44
  msgid "Toggle Line Numbers"
45
+ msgstr "Mostrar/ocultar números de línea"
46
 
47
  # @ crayon-syntax-highlighter
48
+ #: ../crayon_formatter.class.php:300
49
  msgid "Contains Mixed Languages"
50
+ msgstr "Contiene lenguajes combinados"
51
 
52
  # @ crayon-syntax-highlighter
53
+ #: ../crayon_settings.class.php:141
54
  msgid "Hourly"
55
  msgstr "Cada hora"
56
 
57
  # @ crayon-syntax-highlighter
58
+ #: ../crayon_settings.class.php:141
59
  msgid "Daily"
60
  msgstr "Diario"
61
 
62
  # @ crayon-syntax-highlighter
63
+ #: ../crayon_settings.class.php:142
64
  msgid "Weekly"
65
  msgstr "Semanal"
66
 
67
  # @ crayon-syntax-highlighter
68
+ #: ../crayon_settings.class.php:142
69
  msgid "Monthly"
70
  msgstr "Mensual"
71
 
72
  # @ crayon-syntax-highlighter
73
+ #: ../crayon_settings.class.php:143
74
  msgid "Immediately"
75
  msgstr "Inmediatamente"
76
 
77
  # @ crayon-syntax-highlighter
78
+ #: ../crayon_settings.class.php:153
79
+ #: ../crayon_settings.class.php:157
80
  msgid "Max"
81
  msgstr "Max"
82
 
83
  # @ crayon-syntax-highlighter
84
+ #: ../crayon_settings.class.php:153
85
+ #: ../crayon_settings.class.php:157
86
  msgid "Min"
87
  msgstr "Min"
88
 
89
  # @ crayon-syntax-highlighter
90
+ #: ../crayon_settings.class.php:153
91
+ #: ../crayon_settings.class.php:157
92
  msgid "Static"
93
  msgstr "Estático"
94
 
95
  # @ crayon-syntax-highlighter
96
+ #: ../crayon_settings.class.php:155
97
+ #: ../crayon_settings.class.php:159
98
+ #: ../crayon_settings_wp.class.php:545
99
+ #: ../crayon_settings_wp.class.php:554
100
+ #: ../crayon_settings_wp.class.php:657
101
  msgid "Pixels"
102
  msgstr "Píxeles"
103
 
104
  # @ crayon-syntax-highlighter
105
+ #: ../crayon_settings.class.php:155
106
+ #: ../crayon_settings.class.php:159
107
  msgid "Percent"
108
  msgstr "Por ciento"
109
 
110
  # @ crayon-syntax-highlighter
111
+ #: ../crayon_settings.class.php:168
112
  msgid "None"
113
  msgstr "Ninguno"
114
 
115
  # @ crayon-syntax-highlighter
116
+ #: ../crayon_settings.class.php:168
117
  msgid "Left"
118
  msgstr "Izquierda"
119
 
120
  # @ crayon-syntax-highlighter
121
+ #: ../crayon_settings.class.php:168
122
  msgid "Center"
123
  msgstr "Centro"
124
 
125
  # @ crayon-syntax-highlighter
126
+ #: ../crayon_settings.class.php:168
127
  msgid "Right"
128
  msgstr "Derecho"
129
 
130
  # @ crayon-syntax-highlighter
131
+ #: ../crayon_settings.class.php:170
132
+ #: ../crayon_settings.class.php:194
133
  msgid "On MouseOver"
134
+ msgstr "Cuando el ratón esté encima"
135
 
136
  # @ crayon-syntax-highlighter
137
+ #: ../crayon_settings.class.php:170
138
+ #: ../crayon_settings.class.php:176
139
  msgid "Always"
140
  msgstr "Siempre"
141
 
142
  # @ crayon-syntax-highlighter
143
+ #: ../crayon_settings.class.php:170
144
+ #: ../crayon_settings.class.php:176
145
  msgid "Never"
146
  msgstr "Nunca"
147
 
148
  # @ crayon-syntax-highlighter
149
+ #: ../crayon_settings.class.php:176
150
  msgid "When Found"
151
  msgstr "Cuando se encuentra"
152
 
153
  # @ crayon-syntax-highlighter
154
+ #: ../crayon_settings.class.php:194
155
  msgid "On Double Click"
156
+ msgstr "Al hacer doble clic"
157
 
158
  # @ crayon-syntax-highlighter
159
+ #: ../crayon_settings.class.php:194
160
  msgid "On Single Click"
161
+ msgstr "Al hacer clic"
162
 
163
  # @ crayon-syntax-highlighter
164
+ #: ../crayon_settings.class.php:194
165
  msgid "Disable Mouse Events"
166
+ msgstr "Desactivar eventos del ratón"
167
 
168
  # @ crayon-syntax-highlighter
169
+ #: ../crayon_settings.class.php:201
170
  msgid "An error has occurred. Please try again later."
171
  msgstr "Se produjo un error. Por favor, inténtelo de nuevo más tarde."
172
 
173
  # @ crayon-syntax-highlighter
174
  #: ../crayon_settings_wp.class.php:44
175
+ #: ../crayon_settings_wp.class.php:128
176
+ #: ../crayon_settings_wp.class.php:818
177
+ #: ../util/tag-editor/crayon_te_content.php:132
178
  msgid "Settings"
179
  msgstr "Configuración"
180
 
181
  # @ crayon-syntax-highlighter
182
+ #: ../crayon_settings_wp.class.php:109
183
  msgid "You do not have sufficient permissions to access this page."
184
  msgstr "Usted no tiene permisos suficientes para acceder a esta página."
185
 
186
  # @ crayon-syntax-highlighter
187
+ #: ../crayon_settings_wp.class.php:140
188
  msgid "Save Changes"
189
  msgstr "Guardar cambios"
190
 
191
  # @ crayon-syntax-highlighter
192
+ #: ../crayon_settings_wp.class.php:146
193
  msgid "Reset Settings"
194
  msgstr "Restablecer configuración"
195
 
196
  # @ crayon-syntax-highlighter
197
+ #: ../crayon_settings_wp.class.php:305
198
  msgid "General"
199
  msgstr "General"
200
 
201
  # @ crayon-syntax-highlighter
202
+ #: ../crayon_settings_wp.class.php:306
203
  msgid "Theme"
204
  msgstr "Tema"
205
 
206
  # @ crayon-syntax-highlighter
207
+ #: ../crayon_settings_wp.class.php:307
208
  msgid "Font"
209
+ msgstr "Fuente"
210
 
211
  # @ crayon-syntax-highlighter
212
+ #: ../crayon_settings_wp.class.php:308
213
  msgid "Metrics"
214
+ msgstr "Medidas"
215
 
216
  # @ crayon-syntax-highlighter
217
+ #: ../crayon_settings_wp.class.php:309
218
  msgid "Toolbar"
219
  msgstr "Barra de herramientas"
220
 
221
  # @ crayon-syntax-highlighter
222
+ #: ../crayon_settings_wp.class.php:310
223
  msgid "Lines"
224
  msgstr "Líneas"
225
 
226
  # @ crayon-syntax-highlighter
227
+ #: ../crayon_settings_wp.class.php:311
228
+ #: ../util/tag-editor/crayon_te_content.php:100
229
  msgid "Code"
230
  msgstr "Código"
231
 
232
  # @ crayon-syntax-highlighter
233
+ #: ../crayon_settings_wp.class.php:312
234
  msgid "Tags"
235
  msgstr "Etiquetas"
236
 
237
  # @ crayon-syntax-highlighter
238
+ #: ../crayon_settings_wp.class.php:313
239
  msgid "Languages"
240
+ msgstr "Lenguajes"
241
 
242
  # @ crayon-syntax-highlighter
243
+ #: ../crayon_settings_wp.class.php:314
244
  msgid "Files"
245
  msgstr "Archivos"
246
 
247
  # @ crayon-syntax-highlighter
248
+ #: ../crayon_settings_wp.class.php:315
 
249
  msgid "Tag Editor"
250
+ msgstr "Editor de etiquetas"
251
 
252
  # @ crayon-syntax-highlighter
253
+ #: ../crayon_settings_wp.class.php:316
254
  msgid "Misc"
255
+ msgstr "Miscelánea"
256
 
257
  # @ crayon-syntax-highlighter
258
+ #: ../crayon_settings_wp.class.php:319
259
  msgid "Debug"
260
  msgstr "Depurar"
261
 
262
  # @ crayon-syntax-highlighter
263
+ #: ../crayon_settings_wp.class.php:320
264
  msgid "Errors"
265
  msgstr "Errores"
266
 
267
  # @ crayon-syntax-highlighter
268
+ #: ../crayon_settings_wp.class.php:321
269
  msgid "Log"
270
+ msgstr "Registro"
271
 
272
  # @ crayon-syntax-highlighter
273
+ #: ../crayon_settings_wp.class.php:324
274
  msgid "About"
275
+ msgstr "Acerca de"
276
 
277
  # @ crayon-syntax-highlighter
278
+ #: ../crayon_settings_wp.class.php:507
279
  msgid "Crayon Help"
280
+ msgstr "Ayuda de Crayon"
281
 
282
  # @ crayon-syntax-highlighter
283
+ #: ../crayon_settings_wp.class.php:522
284
  msgid "Height"
285
  msgstr "Altura"
286
 
287
  # @ crayon-syntax-highlighter
288
+ #: ../crayon_settings_wp.class.php:528
289
  msgid "Width"
290
  msgstr "Ancho"
291
 
292
  # @ crayon-syntax-highlighter
293
+ #: ../crayon_settings_wp.class.php:534
294
  msgid "Top Margin"
295
  msgstr "Margen superior"
296
 
297
  # @ crayon-syntax-highlighter
298
+ #: ../crayon_settings_wp.class.php:535
299
  msgid "Bottom Margin"
300
  msgstr "Margen inferior"
301
 
302
  # @ crayon-syntax-highlighter
303
+ #: ../crayon_settings_wp.class.php:536
304
+ #: ../crayon_settings_wp.class.php:541
305
  msgid "Left Margin"
306
+ msgstr "Margen izquierdo"
307
 
308
  # @ crayon-syntax-highlighter
 
309
  #: ../crayon_settings_wp.class.php:537
310
+ #: ../crayon_settings_wp.class.php:541
311
  msgid "Right Margin"
312
  msgstr "Margen derecho"
313
 
314
  # @ crayon-syntax-highlighter
315
+ #: ../crayon_settings_wp.class.php:547
316
  msgid "Horizontal Alignment"
317
+ msgstr "Alineación horizontal"
318
 
319
  # @ crayon-syntax-highlighter
320
+ #: ../crayon_settings_wp.class.php:550
321
  msgid "Allow floating elements to surround Crayon"
322
+ msgstr "Permitir elementos flotantes alrededor de Crayon"
323
 
324
  # @ crayon-syntax-highlighter
325
+ #: ../crayon_settings_wp.class.php:552
326
  msgid "Inline Margin"
327
  msgstr "Margen en línea"
328
 
329
  # @ crayon-syntax-highlighter
330
+ #: ../crayon_settings_wp.class.php:560
331
  msgid "Display the Toolbar"
332
  msgstr "Mostrar la barra de herramientas"
333
 
334
  # @ crayon-syntax-highlighter
335
+ #: ../crayon_settings_wp.class.php:563
336
  msgid "Overlay the toolbar on code rather than push it down when possible"
337
+ msgstr "Superponer la barra de herramientas al código en lugar de empujarlo hacia abajo cuando sea posible"
338
 
339
  # @ crayon-syntax-highlighter
340
+ #: ../crayon_settings_wp.class.php:564
341
  msgid "Toggle the toolbar on single click when it is overlayed"
342
+ msgstr "Activar o desactivar la barra de herramientas con un solo clic cuando se superpone"
343
 
344
  # @ crayon-syntax-highlighter
345
+ #: ../crayon_settings_wp.class.php:565
346
  msgid "Delay hiding the toolbar on MouseOut"
347
+ msgstr "Retrasar la ocultación de la barra de herramientas al quitar el ratón"
348
 
349
  # @ crayon-syntax-highlighter
350
+ #: ../crayon_settings_wp.class.php:567
351
  msgid "Display the title when provided"
352
+ msgstr "Mostrar el título cuando se especifique"
353
 
354
  # @ crayon-syntax-highlighter
355
+ #: ../crayon_settings_wp.class.php:568
356
  msgid "Display the language"
357
  msgstr "Mostrar el lenguaje"
358
 
359
  # @ crayon-syntax-highlighter
360
+ #: ../crayon_settings_wp.class.php:575
361
  msgid "Display striped code lines"
362
+ msgstr "Mostrar las líneas de código alternando colores"
363
 
364
  # @ crayon-syntax-highlighter
365
+ #: ../crayon_settings_wp.class.php:576
366
  msgid "Enable line marking for important lines"
367
+ msgstr "Activar el marcado de líneas importantes"
368
+
369
+ # @ crayon-syntax-highlighter
370
+ #: ../crayon_settings_wp.class.php:577
371
+ msgid "Enable line ranges for showing only parts of code"
372
+ msgstr "Activar rangos de línea para mostrar sólo partes del código"
373
 
374
  # @ crayon-syntax-highlighter
375
+ #: ../crayon_settings_wp.class.php:578
376
  msgid "Display line numbers by default"
377
  msgstr "Mostrar números de línea por defecto"
378
 
379
  # @ crayon-syntax-highlighter
380
+ #: ../crayon_settings_wp.class.php:579
381
  msgid "Enable line number toggling"
382
+ msgstr "Mostrar los fondos de los números de línea alternando colores"
383
 
384
  # @ crayon-syntax-highlighter
385
+ #: ../crayon_settings_wp.class.php:580
386
  msgid "Start line numbers from"
387
+ msgstr "Iniciar números de línea desde"
388
 
389
  # @ crayon-syntax-highlighter
390
+ #: ../crayon_settings_wp.class.php:590
391
  msgid "When no language is provided, use the fallback"
392
+ msgstr "Cuando no se proporciona el lenguaje, usar"
393
 
394
  # @ crayon-syntax-highlighter
395
+ #: ../crayon_settings_wp.class.php:596
396
+ #, php-format
397
  msgid "%d language has been detected."
398
+ msgstr "%d lenguaje ha sido detectado."
399
 
400
  # @ crayon-syntax-highlighter
401
+ #: ../crayon_settings_wp.class.php:597
402
  msgid "Parsing was successful"
403
  msgstr "El análisis se ha realizado correctamente"
404
 
405
  # @ crayon-syntax-highlighter
406
+ #: ../crayon_settings_wp.class.php:597
407
  msgid "Parsing was unsuccessful"
408
  msgstr "El análisis no tuvo éxito"
409
 
410
  # @ crayon-syntax-highlighter
411
+ #: ../crayon_settings_wp.class.php:603
412
  #, php-format
413
  msgid "The selected language with id %s could not be loaded"
414
  msgstr "El idioma seleccionado con el id %s no se pudo cargar"
415
 
416
  # @ crayon-syntax-highlighter
417
+ #: ../crayon_settings_wp.class.php:607
418
  msgid "Show Languages"
419
+ msgstr "Mostrar lenguajes"
420
 
421
  # @ crayon-syntax-highlighter
422
+ #: ../crayon_settings_wp.class.php:628
423
+ #: ../crayon_settings_wp.class.php:629
424
  msgid "Loading..."
425
+ msgstr "Cargando..."
426
 
427
  # @ crayon-syntax-highlighter
428
+ #: ../crayon_settings_wp.class.php:628
429
+ msgid "Edit"
430
+ msgstr "Editar"
431
+
432
+ # @ crayon-syntax-highlighter
433
+ #: ../crayon_settings_wp.class.php:629
434
+ msgid "Create"
435
+ msgstr "Crear"
436
 
437
  # @ crayon-syntax-highlighter
438
+ #: ../crayon_settings_wp.class.php:634
439
  #, php-format
440
  msgid "Change the %1$sfallback language%2$s to change the sample code. Lines 5-7 are marked."
441
+ msgstr "Cambiar este %1$slenguaje%2$s para cambiar el código de ejemplo. Las líneas 5-7 están marcadas."
442
 
443
  # @ crayon-syntax-highlighter
444
+ #: ../crayon_settings_wp.class.php:638
445
  msgid "Enable Live Preview"
446
  msgstr "Activar vista previa dinámica"
447
 
448
  # @ crayon-syntax-highlighter
449
+ #: ../crayon_settings_wp.class.php:640
450
  msgid "Enqueue themes in the header (more efficient)."
451
+ msgstr "Listar temas en la cabecera (más eficiente)."
452
 
453
+ # @ crayon-syntax-highlighter
454
+ #: ../crayon_settings_wp.class.php:640
455
+ #: ../crayon_settings_wp.class.php:666
456
+ #: ../crayon_settings_wp.class.php:688
457
+ #: ../crayon_settings_wp.class.php:701
458
+ #: ../crayon_settings_wp.class.php:702
459
+ #: ../crayon_settings_wp.class.php:703
460
+ #: ../crayon_settings_wp.class.php:704
461
+ #: ../crayon_settings_wp.class.php:705
462
+ #: ../crayon_settings_wp.class.php:706
463
+ #: ../crayon_settings_wp.class.php:720
464
+ #: ../crayon_settings_wp.class.php:729
465
+ #: ../crayon_settings_wp.class.php:730
466
  msgid "?"
467
+ msgstr "?"
468
 
469
  # @ crayon-syntax-highlighter
470
+ #: ../crayon_settings_wp.class.php:643
471
  #, php-format
472
  msgid "The selected theme with id %s could not be loaded"
473
  msgstr "El tema seleccionado con el id %s no se pudo cargar"
474
 
475
  # @ crayon-syntax-highlighter
476
+ #: ../crayon_settings_wp.class.php:655
477
  msgid "Custom Font Size"
478
  msgstr "Tamaño de fuente personalizado"
479
 
480
  # @ crayon-syntax-highlighter
481
+ #: ../crayon_settings_wp.class.php:660
482
  #, php-format
483
  msgid "The selected font with id %s could not be loaded"
484
+ msgstr "La fuente seleccionada con el id %s no se pudo cargar"
485
 
486
  # @ crayon-syntax-highlighter
487
+ #: ../crayon_settings_wp.class.php:666
488
  msgid "Enqueue fonts in the header (more efficient)."
489
+ msgstr "Listar fuentes en la cabecera (más eficiente)."
490
 
491
  # @ crayon-syntax-highlighter
492
+ #: ../crayon_settings_wp.class.php:671
493
  msgid "Enable plain code view and display"
494
+ msgstr "Activar el texto plano"
495
 
496
  # @ crayon-syntax-highlighter
497
+ #: ../crayon_settings_wp.class.php:674
498
  msgid "Enable plain code toggling"
499
+ msgstr "Activar alternación de texto plano"
500
 
501
  # @ crayon-syntax-highlighter
502
+ #: ../crayon_settings_wp.class.php:675
503
  msgid "Show the plain code by default"
504
+ msgstr "Mostrar texto plano por defecto"
505
 
506
  # @ crayon-syntax-highlighter
507
+ #: ../crayon_settings_wp.class.php:676
508
  msgid "Enable code copy/paste"
509
+ msgstr "Activar copiar/pegar el código"
510
 
511
  # @ crayon-syntax-highlighter
512
+ #: ../crayon_settings_wp.class.php:678
513
  msgid "Enable opening code in a window"
514
+ msgstr "Activar abrir el código en una ventana"
515
 
516
  # @ crayon-syntax-highlighter
517
+ #: ../crayon_settings_wp.class.php:679
518
  msgid "Always display scrollbars"
519
  msgstr "Siempre mostrar barras de desplazamiento"
520
 
521
  # @ crayon-syntax-highlighter
522
+ #: ../crayon_settings_wp.class.php:682
 
 
 
 
523
  msgid "Decode HTML entities in code"
524
+ msgstr "Descifrar entidades HTML en el código"
525
 
526
+ # @ crayon-syntax-highlighter
527
+ #: ../crayon_settings_wp.class.php:684
528
  msgid "Decode HTML entities in attributes"
529
+ msgstr "Descifrar entidades HTML en atributos"
530
 
531
  # @ crayon-syntax-highlighter
532
+ #: ../crayon_settings_wp.class.php:686
533
  msgid "Remove whitespace surrounding the shortcode content"
534
+ msgstr "Eliminar espacios en blanco alrededor del contenido del shortcode"
535
 
536
  # @ crayon-syntax-highlighter
537
+ #: ../crayon_settings_wp.class.php:688
538
  msgid "Allow Mixed Language Highlighting with delimiters and tags."
539
+ msgstr "Permitir destacar lenguajes mixtos con delimitadores y etiquetas."
540
 
541
  # @ crayon-syntax-highlighter
542
+ #: ../crayon_settings_wp.class.php:690
543
  msgid "Show Mixed Language Icon (+)"
544
+ msgstr "Mostrar icono de lenguaje mixto (+)"
545
 
546
  # @ crayon-syntax-highlighter
547
+ #: ../crayon_settings_wp.class.php:692
548
+ msgid "Tab size in spaces"
549
+ msgstr "Tamaño fijo en espacios"
550
+
551
+ # @ crayon-syntax-highlighter
552
+ #: ../crayon_settings_wp.class.php:694
553
+ msgid "Blank lines before code:"
554
+ msgstr "Líneas en blanco antes del código:"
555
+
556
+ # @ crayon-syntax-highlighter
557
+ #: ../crayon_settings_wp.class.php:696
558
+ msgid "Blank lines after code:"
559
+ msgstr "Líneas en blanco después del código:"
560
+
561
+ # @ crayon-syntax-highlighter
562
+ #: ../crayon_settings_wp.class.php:701
563
  msgid "Capture Mini Tags like [php][/php] as Crayons."
564
+ msgstr "Capturar mini-etiquetas como [php][/php] como Crayons."
565
 
566
  # @ crayon-syntax-highlighter
567
+ #: ../crayon_settings_wp.class.php:702
568
  msgid "Capture Inline Tags like {php}{/php} inside sentences."
569
+ msgstr "Capturar etiquetas en línea, como {php} {/php} en el interior de sentencias."
570
 
571
  # @ crayon-syntax-highlighter
572
+ #: ../crayon_settings_wp.class.php:703
573
  msgid "Wrap Inline Tags"
574
+ msgstr "Envolver etiquetas en línea"
575
 
576
  # @ crayon-syntax-highlighter
577
+ #: ../crayon_settings_wp.class.php:704
578
  msgid "Capture `backquotes` as &lt;code&gt;"
579
+ msgstr "Capturar 'backquotes' como &lt;code&gt;"
580
 
581
  # @ crayon-syntax-highlighter
582
+ #: ../crayon_settings_wp.class.php:705
583
  msgid "Capture &lt;pre&gt; tags as Crayons"
584
+ msgstr "Capturar etiquetas &lt;pre&gt; como Crayons"
585
 
586
  # @ crayon-syntax-highlighter
587
+ #: ../crayon_settings_wp.class.php:706
588
  msgid "Enable [plain][/plain] tag."
589
+ msgstr "Activar etiquetas [plain][/plain]."
590
 
591
  # @ crayon-syntax-highlighter
592
+ #: ../crayon_settings_wp.class.php:711
593
  msgid "When loading local files and a relative path is given for the URL, use the absolute path"
594
+ msgstr "Al cargar los archivos locales y una ruta relativa para la dirección URL, utilizar la ruta absoluta"
595
 
596
  # @ crayon-syntax-highlighter
597
+ #: ../crayon_settings_wp.class.php:714
598
  msgid "Followed by your relative URL."
599
+ msgstr "Seguido de su dirección URL relativa."
600
 
601
+ # @ crayon-syntax-highlighter
602
+ #: ../crayon_settings_wp.class.php:718
603
  #, php-format
604
  msgid "Use %s to separate setting names from values in the &lt;pre&gt; class attribute"
605
+ msgstr "Utilice %s para separar los nombres de ajuste de los valores en el atributo &lt;pre&gt;"
606
 
607
  # @ crayon-syntax-highlighter
608
+ #: ../crayon_settings_wp.class.php:721
609
+ msgid "Display the Tag Editor in any TinyMCE instances on the frontend"
610
+ msgstr "Mostrar el Editor de Etiquetas en cualquier instancia TinyMCE de la interfaz"
611
+
612
+ # @ crayon-syntax-highlighter
613
+ #: ../crayon_settings_wp.class.php:722
614
+ msgid "Display Tag Editor settings on the frontend"
615
+ msgstr "Mostrar el Editor de Etiquetas en la interfaz"
616
+
617
+ # @ crayon-syntax-highlighter
618
+ #: ../crayon_settings_wp.class.php:726
619
  msgid "Clear the cache used to store remote code requests"
620
+ msgstr "Borrar la caché utilizada para almacenar las solicitudes de código remoto"
621
 
622
  # @ crayon-syntax-highlighter
623
+ #: ../crayon_settings_wp.class.php:728
624
  msgid "Clear Now"
625
  msgstr "Limpiar ahora"
626
 
627
  # @ crayon-syntax-highlighter
628
+ #: ../crayon_settings_wp.class.php:729
629
  msgid "Attempt to load Crayon's CSS and JavaScript only when needed"
630
+ msgstr "Intentar cargar CSS y JavaScript de Crayón sólo cuando sea necesario"
631
 
632
  # @ crayon-syntax-highlighter
633
+ #: ../crayon_settings_wp.class.php:730
634
  msgid "Disable enqueuing for page templates that may contain The Loop."
635
+ msgstr "Desactivar la carga en plantillas de página que puedan contener el Loop."
636
 
637
  # @ crayon-syntax-highlighter
638
+ #: ../crayon_settings_wp.class.php:731
639
  msgid "Allow Crayons inside comments"
640
  msgstr "Permitir Crayons dentro de los comentarios"
641
 
642
+ # @ crayon-syntax-highlighter
643
+ #: ../crayon_settings_wp.class.php:732
644
  msgid "Remove Crayons from excerpts"
645
+ msgstr "Quitar Crayons de los extractos"
646
 
647
  # @ crayon-syntax-highlighter
648
+ #: ../crayon_settings_wp.class.php:733
649
  msgid "Load Crayons only from the main Wordpress query"
650
+ msgstr "Cargar Crayons sólo desde la petición principal de Wordpress"
651
 
652
  # @ crayon-syntax-highlighter
653
+ #: ../crayon_settings_wp.class.php:734
654
  msgid "Disable mouse gestures for touchscreen devices (eg. MouseOver)"
655
+ msgstr "Desactivar gestos del ratón para dispositivos con pantalla táctil (por ejemplo, efecto al quitar el ratón)"
656
 
657
  # @ crayon-syntax-highlighter
658
+ #: ../crayon_settings_wp.class.php:735
659
  msgid "Disable animations"
660
+ msgstr "Desactivar animaciones"
661
 
662
  # @ crayon-syntax-highlighter
663
+ #: ../crayon_settings_wp.class.php:736
664
  msgid "Disable runtime stats"
665
+ msgstr "Desactivar tiempo de ejecución de estadísticas"
666
 
667
  # @ crayon-syntax-highlighter
668
+ #: ../crayon_settings_wp.class.php:742
669
  msgid "Log errors for individual Crayons"
670
+ msgstr "Registro de errores individual para cada Crayon"
671
 
672
  # @ crayon-syntax-highlighter
673
+ #: ../crayon_settings_wp.class.php:743
674
  msgid "Log system-wide errors"
675
+ msgstr "Registro de errores de todo el sistema"
676
 
677
  # @ crayon-syntax-highlighter
678
+ #: ../crayon_settings_wp.class.php:744
679
  msgid "Display custom message for errors"
680
  msgstr "Mostrar mensajes personalizados para los errores"
681
 
682
  # @ crayon-syntax-highlighter
683
+ #: ../crayon_settings_wp.class.php:756
684
  msgid "Show Log"
685
  msgstr "Mostrar Registro"
686
 
687
  # @ crayon-syntax-highlighter
688
+ #: ../crayon_settings_wp.class.php:756
689
  msgid "Hide Log"
690
+ msgstr "Ocultar Registro"
691
 
692
  # @ crayon-syntax-highlighter
693
+ #: ../crayon_settings_wp.class.php:758
694
  msgid "Clear Log"
695
+ msgstr "Limipar Registro"
696
 
697
  # @ crayon-syntax-highlighter
698
+ #: ../crayon_settings_wp.class.php:759
699
  msgid "Email Admin"
700
+ msgstr "Correo del administrador"
701
 
702
  # @ crayon-syntax-highlighter
703
+ #: ../crayon_settings_wp.class.php:761
704
  msgid "Email Developer"
705
+ msgstr "Correo del desarrollador"
706
 
707
  # @ crayon-syntax-highlighter
708
+ #: ../crayon_settings_wp.class.php:763
709
  msgid "The log is currently empty."
710
+ msgstr "El registro está vacío."
711
 
712
  # @ crayon-syntax-highlighter
713
+ #: ../crayon_settings_wp.class.php:765
714
  msgid "The log file exists and is writable."
715
  msgstr "El archivo de registro existe y se puede escribir."
716
 
717
  # @ crayon-syntax-highlighter
718
+ #: ../crayon_settings_wp.class.php:765
719
  msgid "The log file exists and is not writable."
720
  msgstr "El archivo de registro existe y no es modificable."
721
 
722
  # @ crayon-syntax-highlighter
723
+ #: ../crayon_settings_wp.class.php:767
724
  msgid "The log file does not exist and is not writable."
725
+ msgstr "El archivo de registro no existe y no puede crearse."
726
 
727
  # @ crayon-syntax-highlighter
728
+ #: ../crayon_settings_wp.class.php:777
729
  msgid "Version"
730
  msgstr "Versión"
731
 
732
  # @ crayon-syntax-highlighter
733
+ #: ../crayon_settings_wp.class.php:779
734
  msgid "Developer"
735
+ msgstr "Desarrollador"
736
 
737
  # @ crayon-syntax-highlighter
738
+ #: ../crayon_settings_wp.class.php:780
739
  msgid "Translators"
740
  msgstr "Traductores"
741
 
742
  # @ crayon-syntax-highlighter
743
+ #: ../crayon_settings_wp.class.php:806
744
  msgid "The result of innumerable hours of hard work over many months. It's an ongoing project, keep me motivated!"
745
+ msgstr "El resultado de incontables horas de arduo trabajo durante muchos meses. Es un proyecto en curso, ¡me mantiene motivado!"
746
 
747
  # @ crayon-syntax-highlighter
748
+ #: ../crayon_settings_wp.class.php:820
749
+ #: ../util/theme-editor/theme_editor_content.php:27
750
+ msgid "Theme Editor"
751
+ msgstr "Editor de Temas"
752
+
753
+ # @ crayon-syntax-highlighter
754
+ #: ../crayon_settings_wp.class.php:822
755
  msgid "Donate"
756
  msgstr "Donar"
757
 
758
  # @ crayon-syntax-highlighter
759
+ #: ../util/tag-editor/crayon_tag_editor_wp.class.php:70
 
760
  msgid "Add Crayon Code"
761
+ msgstr "Agregar código Crayon"
762
 
763
+ # @ crayon-syntax-highlighter
764
+ #: ../util/tag-editor/crayon_tag_editor_wp.class.php:71
765
  msgid "Edit Crayon Code"
766
+ msgstr "Editar código Crayon"
767
 
768
+ # @ crayon-syntax-highlighter
769
+ #: ../util/tag-editor/crayon_tag_editor_wp.class.php:72
770
  msgid "Add"
771
  msgstr "Añadir"
772
 
773
+ # @ crayon-syntax-highlighter
774
+ #: ../util/tag-editor/crayon_tag_editor_wp.class.php:73
775
  msgid "Save"
776
+ msgstr "Guardar"
777
 
778
  # @ crayon-syntax-highlighter
779
+ #: ../util/tag-editor/crayon_te_content.php:76
 
780
  msgid "Title"
781
+ msgstr "Título"
782
 
783
+ # @ crayon-syntax-highlighter
784
+ #: ../util/tag-editor/crayon_te_content.php:78
785
  msgid "A short description"
786
  msgstr "Una breve descripción"
787
 
788
  # @ crayon-syntax-highlighter
789
+ #: ../util/tag-editor/crayon_te_content.php:81
 
790
  msgid "Inline"
791
+ msgstr "En línea"
792
 
793
  # @ crayon-syntax-highlighter
794
+ #: ../util/tag-editor/crayon_te_content.php:85
795
+ msgid "Don't Highlight"
796
+ msgstr "No resaltar"
 
 
 
 
 
 
 
 
 
797
 
798
  # @ crayon-syntax-highlighter
799
+ #: ../util/tag-editor/crayon_te_content.php:90
800
+ msgid "Language"
801
+ msgstr "Lenguaje"
 
802
 
803
  # @ crayon-syntax-highlighter
 
 
 
 
 
 
 
 
 
 
 
 
 
804
  #: ../util/tag-editor/crayon_te_content.php:93
805
+ msgid "Line Range"
806
+ msgstr "Rango de líneas"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
807
 
808
  # @ crayon-syntax-highlighter
809
+ #: ../util/tag-editor/crayon_te_content.php:94
810
+ msgid "(e.g. 3-5 or 3)"
811
+ msgstr "(por ejemplo, 1,2,3-5)"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
812
 
813
  # @ crayon-syntax-highlighter
814
+ #: ../util/tag-editor/crayon_te_content.php:95
815
+ msgid "Marked Lines"
816
+ msgstr "Líneas destacadas"
817
 
818
  # @ crayon-syntax-highlighter
819
+ #: ../util/tag-editor/crayon_te_content.php:96
820
+ msgid "(e.g. 1,2,3-5)"
821
+ msgstr "(por ejemplo, 1,2,3-5)"
822
 
823
  # @ crayon-syntax-highlighter
824
+ #: ../util/tag-editor/crayon_te_content.php:100
825
+ msgid "Clear"
826
+ msgstr "Limpiar"
827
 
828
  # @ crayon-syntax-highlighter
829
+ #: ../util/tag-editor/crayon_te_content.php:101
830
+ msgid "Paste your code here, or type it in manually."
831
+ msgstr "Copia y pega tu código aquí, o escríbelo en forma manual."
832
 
833
  # @ crayon-syntax-highlighter
834
+ #: ../util/tag-editor/crayon_te_content.php:104
835
+ msgid "URL"
836
+ msgstr "URL"
837
 
838
  # @ crayon-syntax-highlighter
839
+ #: ../util/tag-editor/crayon_te_content.php:106
840
+ msgid "Relative local path or absolute URL"
841
+ msgstr "Ruta de acceso relativa local o dirección URL absoluta"
842
 
843
  # @ crayon-syntax-highlighter
844
+ #: ../util/tag-editor/crayon_te_content.php:109
845
+ msgid "If the URL fails to load, the code above will be shown instead. If no code exists, an error is shown."
846
+ msgstr "Si la URL no se carga, el código anterior se mostrará en su lugar. Si no existe ningún código, se mostrará un error."
847
 
848
  # @ crayon-syntax-highlighter
849
+ #: ../util/tag-editor/crayon_te_content.php:111
850
+ #, php-format
851
+ msgid "If a relative local path is given it will be appended to %s - which is defined in %sCrayon &gt; Settings &gt; Files%s."
852
+ msgstr "Si una ruta local relativa se anexará a %s - que se define en la configuración de %sCrayon &gt; Archivos%s."
853
 
854
  # @ crayon-syntax-highlighter
855
+ #: ../util/tag-editor/crayon_te_content.php:135
856
+ msgid "Change the following settings to override their global values."
857
+ msgstr "Cambie las siguientes configuraciones para anular sus valores globales."
858
 
859
  # @ crayon-syntax-highlighter
860
+ #: ../util/tag-editor/crayon_te_content.php:137
861
+ msgid "Only changes (shown yellow) are applied."
862
+ msgstr "Sólo los cambios (que se muestran en amarillo) se aplicarán."
863
 
864
  # @ crayon-syntax-highlighter
865
+ #: ../util/tag-editor/crayon_te_content.php:139
866
+ #, php-format
867
+ msgid "Future changes to the global settings under %sCrayon &gt; Settings%s won't affect overridden settings."
868
+ msgstr "Los futuros cambios a la %sconfiguración global de Crayon%s no afectarán los cambios realizados."
869
 
870
  # @ crayon-syntax-highlighter
871
+ #: ../util/theme-editor/theme_editor_content.php:32
872
+ #, php-format
873
+ msgid "Editing \"%s\" Theme"
874
+ msgstr "Editando el tema \"%s\""
875
 
876
  # @ crayon-syntax-highlighter
877
+ #: ../util/theme-editor/theme_editor_content.php:34
878
+ #, php-format
879
+ msgid "Creating Theme From \"%s\""
880
+ msgstr "Creando el tema \"%s\""
881
 
882
  # @ crayon-syntax-highlighter
883
+ #: ../util/theme-editor/theme_editor_content.php:39
884
+ msgid "Back To Settings"
885
+ msgstr "Volver a la configuración"
886
 
 
 
 
 
trans/crayon-syntax-highlighter-ru_RU.mo CHANGED
Binary file
trans/crayon-syntax-highlighter-ru_RU.po CHANGED
@@ -2,373 +2,392 @@ msgid ""
2
  msgstr ""
3
  "Project-Id-Version: Crayon Syntax Highlighter\n"
4
  "Report-Msgid-Bugs-To: \n"
5
- "POT-Creation-Date: 2012-05-05 19:39+0300\n"
6
  "PO-Revision-Date: \n"
7
  "Last-Translator: minimus <minimus@blogcoding.ru>\n"
8
  "Language-Team: minimus <minimus@simplelib.com>\n"
 
9
  "MIME-Version: 1.0\n"
10
  "Content-Type: text/plain; charset=UTF-8\n"
11
  "Content-Transfer-Encoding: 8bit\n"
12
- "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
13
- "X-Poedit-Language: Russian\n"
14
- "X-Poedit-Country: BELARUS\n"
15
  "X-Poedit-SourceCharset: utf-8\n"
16
- "X-Poedit-KeywordsList: __;_e;__ngettext:1,2;_n:1,2;__ngettext_noop:1,2;_n_noop:1,2;_c,_nc:4c,1,2;_x:1,2c;_ex:1,2c;_nx:4c,1,2;_nx_noop:4c,1,2;crayon__;crayon_n:1,2;crayon_e;crayon_x\n"
 
 
17
  "X-Poedit-Basepath: .\n"
18
  "X-Textdomain-Support: yes\n"
 
19
  "X-Poedit-SearchPath-0: .\n"
20
  "X-Poedit-SearchPath-1: ..\n"
21
 
22
- #: ../crayon_formatter.class.php:266
23
  msgid "Toggle Plain Code"
24
  msgstr "Включить/Отключить подсветку кода"
25
 
26
- #: ../crayon_formatter.class.php:268
 
 
 
 
27
  #, php-format
28
  msgid "Press %s to Copy, %s to Paste"
29
  msgstr "Нажмите %s для копирования, %s для вставки"
30
 
31
- #: ../crayon_formatter.class.php:268
32
  msgid "Copy Plain Code"
33
  msgstr "Копировать как текст"
34
 
35
  # @ crayon-syntax-highlighter
36
- #: ../crayon_formatter.class.php:270
37
  msgid "Open Code In New Window"
38
  msgstr "Показать код в новом окне"
39
 
40
- #: ../crayon_formatter.class.php:273
41
  msgid "Toggle Line Numbers"
42
  msgstr "Включить/Отключить нумерацию строк"
43
 
44
  # @ crayon-syntax-highlighter
45
- #: ../crayon_formatter.class.php:279
46
  msgid "Contains Mixed Languages"
47
  msgstr "Содержит коды на разных языках"
48
 
49
  # @ crayon-syntax-highlighter
50
- #: ../crayon_settings.class.php:138
51
  msgid "Hourly"
52
  msgstr "Ежечасно"
53
 
54
  # @ crayon-syntax-highlighter
55
- #: ../crayon_settings.class.php:138
56
  msgid "Daily"
57
  msgstr "Ежедневно"
58
 
59
  # @ crayon-syntax-highlighter
60
- #: ../crayon_settings.class.php:139
61
  msgid "Weekly"
62
  msgstr "Еженедельно"
63
 
64
  # @ crayon-syntax-highlighter
65
- #: ../crayon_settings.class.php:139
66
  msgid "Monthly"
67
  msgstr "Ежемесячно"
68
 
69
  # @ crayon-syntax-highlighter
70
- #: ../crayon_settings.class.php:140
71
  msgid "Immediately"
72
  msgstr "Немедленно"
73
 
74
  # @ crayon-syntax-highlighter
75
- #: ../crayon_settings.class.php:150
76
- #: ../crayon_settings.class.php:154
77
  msgid "Max"
78
  msgstr "Максимум"
79
 
80
  # @ crayon-syntax-highlighter
81
- #: ../crayon_settings.class.php:150
82
- #: ../crayon_settings.class.php:154
83
  msgid "Min"
84
  msgstr "Минимум"
85
 
86
  # @ crayon-syntax-highlighter
87
- #: ../crayon_settings.class.php:150
88
- #: ../crayon_settings.class.php:154
89
  msgid "Static"
90
  msgstr "Фиксировано"
91
 
92
  # @ crayon-syntax-highlighter
93
- #: ../crayon_settings.class.php:152
94
- #: ../crayon_settings.class.php:156
95
- #: ../crayon_settings_wp.class.php:541
96
- #: ../crayon_settings_wp.class.php:550
97
- #: ../crayon_settings_wp.class.php:649
98
  msgid "Pixels"
99
  msgstr "Пикселей"
100
 
101
  # @ crayon-syntax-highlighter
102
- #: ../crayon_settings.class.php:152
103
- #: ../crayon_settings.class.php:156
104
  msgid "Percent"
105
  msgstr "Процентов"
106
 
107
  # @ crayon-syntax-highlighter
108
- #: ../crayon_settings.class.php:165
109
  msgid "None"
110
  msgstr "Нет"
111
 
112
  # @ crayon-syntax-highlighter
113
- #: ../crayon_settings.class.php:165
114
  msgid "Left"
115
  msgstr "Влево"
116
 
117
  # @ crayon-syntax-highlighter
118
- #: ../crayon_settings.class.php:165
119
  msgid "Center"
120
  msgstr "По центру"
121
 
122
  # @ crayon-syntax-highlighter
123
- #: ../crayon_settings.class.php:165
124
  msgid "Right"
125
  msgstr "Вправо"
126
 
127
  # @ crayon-syntax-highlighter
128
- #: ../crayon_settings.class.php:167
129
- #: ../crayon_settings.class.php:189
130
  msgid "On MouseOver"
131
  msgstr "При наведении мыши"
132
 
133
  # @ crayon-syntax-highlighter
134
- #: ../crayon_settings.class.php:167
135
- #: ../crayon_settings.class.php:173
136
  msgid "Always"
137
  msgstr "Всегда"
138
 
139
  # @ crayon-syntax-highlighter
140
- #: ../crayon_settings.class.php:167
141
- #: ../crayon_settings.class.php:173
142
  msgid "Never"
143
  msgstr "Никогда"
144
 
145
  # @ crayon-syntax-highlighter
146
- #: ../crayon_settings.class.php:173
147
  msgid "When Found"
148
  msgstr "Если определён"
149
 
150
  # @ crayon-syntax-highlighter
151
- #: ../crayon_settings.class.php:189
152
  msgid "On Double Click"
153
  msgstr "При двойном клике"
154
 
155
  # @ crayon-syntax-highlighter
156
- #: ../crayon_settings.class.php:189
157
  msgid "On Single Click"
158
  msgstr "При клике"
159
 
160
  # @ crayon-syntax-highlighter
161
- #: ../crayon_settings.class.php:189
162
  msgid "Disable Mouse Events"
163
  msgstr "Запретить отслеживание событий мыши"
164
 
165
  # @ crayon-syntax-highlighter
166
- #: ../crayon_settings.class.php:196
167
  msgid "An error has occurred. Please try again later."
168
  msgstr "Произошла ошибка. Попробуйте ещё раз позднее."
169
 
170
  # @ crayon-syntax-highlighter
171
- #: ../crayon_settings_wp.class.php:44
172
- #: ../crayon_settings_wp.class.php:118
173
- #: ../crayon_settings_wp.class.php:802
174
  msgid "Settings"
175
  msgstr "Настройки"
176
 
177
  # @ crayon-syntax-highlighter
178
- #: ../crayon_settings_wp.class.php:99
179
  msgid "You do not have sufficient permissions to access this page."
180
  msgstr "У вас недостаточно прав для доступа к этой странице."
181
 
182
  # @ crayon-syntax-highlighter
183
- #: ../crayon_settings_wp.class.php:130
184
  msgid "Save Changes"
185
  msgstr "Сохранить изменения"
186
 
187
  # @ crayon-syntax-highlighter
188
- #: ../crayon_settings_wp.class.php:136
189
  msgid "Reset Settings"
190
  msgstr "Настройки по умолчанию"
191
 
192
  # @ crayon-syntax-highlighter
193
- #: ../crayon_settings_wp.class.php:301
194
  msgid "General"
195
  msgstr "Основные"
196
 
197
- #: ../crayon_settings_wp.class.php:302
198
  msgid "Theme"
199
  msgstr "Тема"
200
 
201
- #: ../crayon_settings_wp.class.php:303
202
  msgid "Font"
203
  msgstr "Шрифт"
204
 
205
- #: ../crayon_settings_wp.class.php:304
206
  msgid "Metrics"
207
  msgstr "Метрики"
208
 
209
- #: ../crayon_settings_wp.class.php:305
210
  msgid "Toolbar"
211
  msgstr "Панель инструментов"
212
 
213
- #: ../crayon_settings_wp.class.php:306
214
  msgid "Lines"
215
  msgstr "Строки"
216
 
217
- #: ../crayon_settings_wp.class.php:307
 
218
  msgid "Code"
219
  msgstr "Код"
220
 
221
- #: ../crayon_settings_wp.class.php:308
222
  msgid "Tags"
223
  msgstr "Теги"
224
 
225
  # @ crayon-syntax-highlighter
226
- #: ../crayon_settings_wp.class.php:309
227
  msgid "Languages"
228
  msgstr "Языки"
229
 
230
- #: ../crayon_settings_wp.class.php:310
231
  msgid "Files"
232
  msgstr "Файлы"
233
 
234
- #: ../crayon_settings_wp.class.php:311
 
 
 
 
235
  msgid "Tag Editor"
236
  msgstr "Редактор тегов"
237
 
238
- #: ../crayon_settings_wp.class.php:312
239
  msgid "Misc"
240
  msgstr "Разное"
241
 
242
- #: ../crayon_settings_wp.class.php:315
243
  msgid "Debug"
244
  msgstr "Отладка"
245
 
246
- #: ../crayon_settings_wp.class.php:316
247
  msgid "Errors"
248
  msgstr "Ошибки"
249
 
250
- #: ../crayon_settings_wp.class.php:317
251
  msgid "Log"
252
  msgstr "Журнал ошибок"
253
 
254
- #: ../crayon_settings_wp.class.php:320
255
  msgid "About"
256
  msgstr "О плагине"
257
 
258
  # @ crayon-syntax-highlighter
259
- #: ../crayon_settings_wp.class.php:503
260
  msgid "Crayon Help"
261
  msgstr "Справка Crayon"
262
 
263
  # @ crayon-syntax-highlighter
264
- #: ../crayon_settings_wp.class.php:518
265
  msgid "Height"
266
  msgstr "Высота"
267
 
268
  # @ crayon-syntax-highlighter
269
- #: ../crayon_settings_wp.class.php:524
270
  msgid "Width"
271
  msgstr "Ширина"
272
 
273
  # @ crayon-syntax-highlighter
274
- #: ../crayon_settings_wp.class.php:530
275
  msgid "Top Margin"
276
  msgstr "Верхний отступ"
277
 
278
  # @ crayon-syntax-highlighter
279
- #: ../crayon_settings_wp.class.php:531
280
  msgid "Bottom Margin"
281
  msgstr "Нижний отступ"
282
 
283
  # @ crayon-syntax-highlighter
284
- #: ../crayon_settings_wp.class.php:532
285
- #: ../crayon_settings_wp.class.php:537
286
  msgid "Left Margin"
287
  msgstr "Левый отступ"
288
 
289
  # @ crayon-syntax-highlighter
290
- #: ../crayon_settings_wp.class.php:533
291
- #: ../crayon_settings_wp.class.php:537
292
  msgid "Right Margin"
293
  msgstr "Правый отступ"
294
 
295
  # @ crayon-syntax-highlighter
296
- #: ../crayon_settings_wp.class.php:543
297
  msgid "Horizontal Alignment"
298
  msgstr "Выравнивание по горизонтали"
299
 
300
  # @ crayon-syntax-highlighter
301
- #: ../crayon_settings_wp.class.php:546
302
  msgid "Allow floating elements to surround Crayon"
303
  msgstr "Разрешить плавающий режим"
304
 
305
  # @ crayon-syntax-highlighter
306
- #: ../crayon_settings_wp.class.php:548
307
  msgid "Inline Margin"
308
  msgstr "Внутренний отступ"
309
 
310
  # @ crayon-syntax-highlighter
311
- #: ../crayon_settings_wp.class.php:556
312
  msgid "Display the Toolbar"
313
  msgstr "Показывать панель инструментов"
314
 
315
  # @ crayon-syntax-highlighter
316
- #: ../crayon_settings_wp.class.php:559
317
  msgid "Overlay the toolbar on code rather than push it down when possible"
318
- msgstr "Использовать, если возможно, наложение панели инструментов на панель кодов без смещения кодов вниз"
 
 
319
 
320
  # @ crayon-syntax-highlighter
321
- #: ../crayon_settings_wp.class.php:560
322
  msgid "Toggle the toolbar on single click when it is overlayed"
323
  msgstr "Показывать панель инструментов по клику, если она скрыта"
324
 
325
  # @ crayon-syntax-highlighter
326
- #: ../crayon_settings_wp.class.php:561
327
  msgid "Delay hiding the toolbar on MouseOut"
328
  msgstr "Задержка исчезания панели инструментов при потере фокуса мыши"
329
 
330
  # @ crayon-syntax-highlighter
331
- #: ../crayon_settings_wp.class.php:563
332
  msgid "Display the title when provided"
333
  msgstr "Показывать заголовок, если он задан"
334
 
335
  # @ crayon-syntax-highlighter
336
- #: ../crayon_settings_wp.class.php:564
337
  msgid "Display the language"
338
  msgstr "Показывать язык кода"
339
 
340
  # @ crayon-syntax-highlighter
341
- #: ../crayon_settings_wp.class.php:571
342
  msgid "Display striped code lines"
343
  msgstr "Использовать чередование цвета строк кода"
344
 
345
  # @ crayon-syntax-highlighter
346
- #: ../crayon_settings_wp.class.php:572
347
  msgid "Enable line marking for important lines"
348
  msgstr "Разрешить маркировку важных строк кода"
349
 
 
 
 
 
 
 
350
  # @ crayon-syntax-highlighter
351
- #: ../crayon_settings_wp.class.php:573
352
  msgid "Display line numbers by default"
353
  msgstr "Показывать нумерацию строк по умолчанию"
354
 
355
  # @ crayon-syntax-highlighter
356
- #: ../crayon_settings_wp.class.php:574
357
  msgid "Enable line number toggling"
358
  msgstr "Разрешить переключение нумерации строк"
359
 
360
  # @ crayon-syntax-highlighter
361
- #: ../crayon_settings_wp.class.php:575
 
 
 
 
 
 
 
 
 
 
362
  msgid "Start line numbers from"
363
  msgstr "Начинать нумерацию строк с"
364
 
365
  # @ crayon-syntax-highlighter
366
- #: ../crayon_settings_wp.class.php:585
367
  msgid "When no language is provided, use the fallback"
368
  msgstr "Если язык не поддерживается, использовать"
369
 
370
  # @ crayon-syntax-highlighter
371
- #: ../crayon_settings_wp.class.php:591
372
  #, php-format
373
  msgid "%d language has been detected."
374
  msgid_plural "%d languages have been detected."
@@ -377,400 +396,490 @@ msgstr[1] "Обнаружено %d языка."
377
  msgstr[2] "Обнаружено %d языков."
378
 
379
  # @ crayon-syntax-highlighter
380
- #: ../crayon_settings_wp.class.php:592
381
  msgid "Parsing was successful"
382
  msgstr "Разбор кода произведён успешно"
383
 
384
  # @ crayon-syntax-highlighter
385
- #: ../crayon_settings_wp.class.php:592
386
  msgid "Parsing was unsuccessful"
387
  msgstr "Разбор кода закончился неудачей"
388
 
389
  # @ crayon-syntax-highlighter
390
- #: ../crayon_settings_wp.class.php:598
391
  #, php-format
392
  msgid "The selected language with id %s could not be loaded"
393
  msgstr "Выбранный язык (ID %s) не загружен."
394
 
395
  # @ crayon-syntax-highlighter
396
- #: ../crayon_settings_wp.class.php:602
397
  msgid "Show Languages"
398
  msgstr "Показать языки"
399
 
400
- #: ../crayon_settings_wp.class.php:621
 
 
 
 
 
 
 
 
 
 
 
 
 
 
401
  msgid "Loading..."
402
  msgstr "Загрузка ..."
403
 
404
- #: ../crayon_settings_wp.class.php:621
405
- #: ../crayon_settings_wp.class.php:804
406
- msgid "Theme Editor"
407
- msgstr "Редактор тем оформления"
 
 
 
408
 
409
  # @ crayon-syntax-highlighter
410
- #: ../crayon_settings_wp.class.php:626
411
  #, php-format
412
- msgid "Change the %1$sfallback language%2$s to change the sample code. Lines 5-7 are marked."
413
- msgstr "Измените %1$sязык подсветки%2$s, чтобы изменить пример кода. Строки 5-7 выделены."
 
 
 
 
414
 
415
  # @ crayon-syntax-highlighter
416
- #: ../crayon_settings_wp.class.php:630
417
  msgid "Enable Live Preview"
418
  msgstr "Разрешить показ примера"
419
 
420
- #: ../crayon_settings_wp.class.php:632
421
  msgid "Enqueue themes in the header (more efficient)."
422
  msgstr "Загружать темы в заголовке страницы (более эффективно)."
423
 
424
- #: ../crayon_settings_wp.class.php:632
425
- #: ../crayon_settings_wp.class.php:658
426
- #: ../crayon_settings_wp.class.php:683
427
- #: ../crayon_settings_wp.class.php:690
428
- #: ../crayon_settings_wp.class.php:691
429
- #: ../crayon_settings_wp.class.php:692
430
- #: ../crayon_settings_wp.class.php:693
431
- #: ../crayon_settings_wp.class.php:694
432
- #: ../crayon_settings_wp.class.php:695
433
- #: ../crayon_settings_wp.class.php:709
434
- #: ../crayon_settings_wp.class.php:716
435
- #: ../crayon_settings_wp.class.php:717
436
- msgid "?"
437
- msgstr "?"
438
-
439
  # @ crayon-syntax-highlighter
440
- #: ../crayon_settings_wp.class.php:635
441
  #, php-format
442
  msgid "The selected theme with id %s could not be loaded"
443
  msgstr "Выбранная тема (ID %s) не загружена."
444
 
445
  # @ crayon-syntax-highlighter
446
- #: ../crayon_settings_wp.class.php:647
447
  msgid "Custom Font Size"
448
  msgstr "Пользовательский размер шрифта"
449
 
450
  # @ crayon-syntax-highlighter
451
- #: ../crayon_settings_wp.class.php:652
452
  #, php-format
453
  msgid "The selected font with id %s could not be loaded"
454
  msgstr "Выбранный шрифт (ID %s) не может быть загружен."
455
 
456
- #: ../crayon_settings_wp.class.php:658
457
  msgid "Enqueue fonts in the header (more efficient)."
458
  msgstr "Загружать шрифты в заголовке страницы (более эффективно)."
459
 
460
  # @ crayon-syntax-highlighter
461
- #: ../crayon_settings_wp.class.php:663
462
  msgid "Enable plain code view and display"
463
  msgstr "Разрешить показ кода как обычного текста"
464
 
465
  # @ crayon-syntax-highlighter
466
- #: ../crayon_settings_wp.class.php:666
467
  msgid "Enable plain code toggling"
468
  msgstr "Разрешить переключение показа кода как простого текста"
469
 
470
- #: ../crayon_settings_wp.class.php:667
471
  msgid "Show the plain code by default"
472
  msgstr "Показывать код как простой текст по умолчанию"
473
 
474
  # @ crayon-syntax-highlighter
475
- #: ../crayon_settings_wp.class.php:668
476
  msgid "Enable code copy/paste"
477
  msgstr "Разрешить копирование/вставку кода"
478
 
479
  # @ crayon-syntax-highlighter
480
- #: ../crayon_settings_wp.class.php:670
481
  msgid "Enable opening code in a window"
482
  msgstr "Разрешить показ кода в отдельном окне"
483
 
484
- #: ../crayon_settings_wp.class.php:671
485
  msgid "Always display scrollbars"
486
  msgstr "Всегда показывать полосы прокрутки"
487
 
488
- # @ crayon-syntax-highlighter
489
- #: ../crayon_settings_wp.class.php:672
490
- msgid "Tab size in spaces"
491
- msgstr "Размер табуляций в пробелах"
492
-
493
- #: ../crayon_settings_wp.class.php:677
494
  msgid "Decode HTML entities in code"
495
  msgstr "Декодировать объекты HTML в коде"
496
 
497
- #: ../crayon_settings_wp.class.php:679
498
  msgid "Decode HTML entities in attributes"
499
  msgstr "Декодировать объекты HTML в атрибутах"
500
 
501
  # @ crayon-syntax-highlighter
502
- #: ../crayon_settings_wp.class.php:681
503
  msgid "Remove whitespace surrounding the shortcode content"
504
  msgstr "Удалять пробелы окружающие контент короткого кода"
505
 
506
  # @ crayon-syntax-highlighter
507
- #: ../crayon_settings_wp.class.php:683
508
  msgid "Allow Mixed Language Highlighting with delimiters and tags."
509
  msgstr "Разрешить подсветку смешанных языков."
510
 
511
  # @ crayon-syntax-highlighter
512
- #: ../crayon_settings_wp.class.php:685
513
  msgid "Show Mixed Language Icon (+)"
514
  msgstr "Показывать иконку смешанных языков (+)"
515
 
516
- #: ../crayon_settings_wp.class.php:690
 
 
 
 
 
 
 
 
 
 
 
 
 
517
  msgid "Capture Mini Tags like [php][/php] as Crayons."
518
  msgstr "Обрабатывать мини-теги, например [php][/php], как теги Crayon."
519
 
520
- #: ../crayon_settings_wp.class.php:691
521
  msgid "Capture Inline Tags like {php}{/php} inside sentences."
522
- msgstr "Обрабатывать строковые теги, такие как {php}{/php}, внутри предложения."
 
523
 
524
- #: ../crayon_settings_wp.class.php:692
525
  msgid "Wrap Inline Tags"
526
  msgstr "Обрабатывать внутристроковые теги"
527
 
528
- #: ../crayon_settings_wp.class.php:693
529
  msgid "Capture `backquotes` as &lt;code&gt;"
530
  msgstr "Обрабатывать символы `тильда` как &lt;code&gt;"
531
 
532
  # @ crayon-syntax-highlighter
533
- #: ../crayon_settings_wp.class.php:694
534
  msgid "Capture &lt;pre&gt; tags as Crayons"
535
  msgstr "Обрабатывать тег &lt;pre&gt; как код Crayon"
536
 
537
- #: ../crayon_settings_wp.class.php:695
538
  msgid "Enable [plain][/plain] tag."
539
  msgstr "Разрешить теги [plain][/plain]."
540
 
541
  # @ crayon-syntax-highlighter
542
- #: ../crayon_settings_wp.class.php:700
543
- msgid "When loading local files and a relative path is given for the URL, use the absolute path"
544
- msgstr "Если задан относительный путь для URL, при загрузке локальных файлов использовать абсолютный путь"
 
 
 
 
545
 
546
  # @ crayon-syntax-highlighter
547
- #: ../crayon_settings_wp.class.php:703
548
  msgid "Followed by your relative URL."
549
  msgstr "перед вашим относительным URL."
550
 
551
- #: ../crayon_settings_wp.class.php:707
 
 
 
 
 
 
 
 
 
 
 
 
 
 
552
  #, php-format
553
- msgid "Use %s to separate setting names from values in the &lt;pre&gt; class attribute"
554
- msgstr "Использовать %s для разделения имён параметров в значениях атрибутов класса &lt;pre&gt;"
 
 
 
 
 
 
 
 
 
 
 
 
555
 
556
  # @ crayon-syntax-highlighter
557
- #: ../crayon_settings_wp.class.php:713
558
  msgid "Clear the cache used to store remote code requests"
559
  msgstr "Очищать кэш используемый для хранения кодов из внешних файлов"
560
 
561
  # @ crayon-syntax-highlighter
562
- #: ../crayon_settings_wp.class.php:715
563
  msgid "Clear Now"
564
  msgstr "Очистить сейчас"
565
 
566
  # @ crayon-syntax-highlighter
567
- #: ../crayon_settings_wp.class.php:716
568
  msgid "Attempt to load Crayon's CSS and JavaScript only when needed"
569
- msgstr "Пытаться загружать таблицы стилей (CSS) и скрипты (JavaScript) от плагина только тогда, когда это нужно"
 
 
570
 
571
- #: ../crayon_settings_wp.class.php:717
572
  msgid "Disable enqueuing for page templates that may contain The Loop."
573
- msgstr "Отключить обработку кодов для шаблонов страниц, которые могут содержать Loop."
 
574
 
575
- #: ../crayon_settings_wp.class.php:718
576
  msgid "Allow Crayons inside comments"
577
  msgstr "Разрешить теги Crayon в комментариях"
578
 
579
- #: ../crayon_settings_wp.class.php:719
580
  msgid "Remove Crayons from excerpts"
581
  msgstr "Отключить подсветку Crayon в анонсах"
582
 
583
- #: ../crayon_settings_wp.class.php:720
584
  msgid "Load Crayons only from the main Wordpress query"
585
  msgstr "Загружать Crayon только в основных запросах Wordpress"
586
 
587
  # @ crayon-syntax-highlighter
588
- #: ../crayon_settings_wp.class.php:721
589
  msgid "Disable mouse gestures for touchscreen devices (eg. MouseOver)"
590
- msgstr "Отключить распознавание жестов мышью для сенсорных экранов (например Наведение Мыши)"
 
 
591
 
592
  # @ crayon-syntax-highlighter
593
- #: ../crayon_settings_wp.class.php:722
594
  msgid "Disable animations"
595
  msgstr "Запретить анимацию"
596
 
597
  # @ crayon-syntax-highlighter
598
- #: ../crayon_settings_wp.class.php:723
599
  msgid "Disable runtime stats"
600
  msgstr "Запретить статистику выполнения"
601
 
602
  # @ crayon-syntax-highlighter
603
- #: ../crayon_settings_wp.class.php:729
604
  msgid "Log errors for individual Crayons"
605
  msgstr "Журнал ошибок для каждого кода Crayon"
606
 
607
  # @ crayon-syntax-highlighter
608
- #: ../crayon_settings_wp.class.php:730
609
  msgid "Log system-wide errors"
610
  msgstr "Журнал ошибок для общесистемных ошибок"
611
 
612
  # @ crayon-syntax-highlighter
613
- #: ../crayon_settings_wp.class.php:731
614
  msgid "Display custom message for errors"
615
  msgstr "Показывать свое сообщение об ошибках"
616
 
617
  # @ crayon-syntax-highlighter
618
- #: ../crayon_settings_wp.class.php:743
619
  msgid "Show Log"
620
  msgstr "Показать журнал ошибок"
621
 
622
- #: ../crayon_settings_wp.class.php:743
623
  msgid "Hide Log"
624
  msgstr "Скрыть журнал"
625
 
626
  # @ crayon-syntax-highlighter
627
- #: ../crayon_settings_wp.class.php:745
628
  msgid "Clear Log"
629
  msgstr "Очистить журнал ошибок"
630
 
631
  # @ crayon-syntax-highlighter
632
- #: ../crayon_settings_wp.class.php:746
633
  msgid "Email Admin"
634
  msgstr "Сообщить администратору (e-mail)"
635
 
636
  # @ crayon-syntax-highlighter
637
- #: ../crayon_settings_wp.class.php:748
638
  msgid "Email Developer"
639
  msgstr "Сообщить разработчику (e-mail)"
640
 
641
  # @ crayon-syntax-highlighter
642
- #: ../crayon_settings_wp.class.php:750
643
  msgid "The log is currently empty."
644
  msgstr "Журнал ошибок пуст."
645
 
646
  # @ crayon-syntax-highlighter
647
- #: ../crayon_settings_wp.class.php:752
648
  msgid "The log file exists and is writable."
649
  msgstr "Файл журнала ошибок существует и доступен для записи."
650
 
651
  # @ crayon-syntax-highlighter
652
- #: ../crayon_settings_wp.class.php:752
653
  msgid "The log file exists and is not writable."
654
  msgstr "Файл журнала ошибок существует, но не доступен для записи."
655
 
656
  # @ crayon-syntax-highlighter
657
- #: ../crayon_settings_wp.class.php:754
658
  msgid "The log file does not exist and is not writable."
659
  msgstr "Файл журнала ошибок не существует и не доступен для записи."
660
 
661
  # @ crayon-syntax-highlighter
662
- #: ../crayon_settings_wp.class.php:764
663
  msgid "Version"
664
  msgstr "Версия"
665
 
666
  # @ crayon-syntax-highlighter
667
- #: ../crayon_settings_wp.class.php:766
668
  msgid "Developer"
669
  msgstr "Разработчик"
670
 
671
- #: ../crayon_settings_wp.class.php:767
672
  msgid "Translators"
673
  msgstr "Переводчики"
674
 
675
  # @ crayon-syntax-highlighter
676
- #: ../crayon_settings_wp.class.php:790
677
- msgid "The result of innumerable hours of hard work over many months. It's an ongoing project, keep me motivated!"
678
- msgstr "Результат бесчисленных часов тяжелой работы за многие месяцы. Это - текущий проект, поддержите мою мотивацию!"
 
 
 
 
 
 
 
 
 
679
 
680
  # @ crayon-syntax-highlighter
681
- #: ../crayon_settings_wp.class.php:806
682
  msgid "Donate"
683
  msgstr "Поддержать разработчика (Donate)"
684
 
685
  # @ crayon-syntax-highlighter
686
- #: ../util/tag-editor/crayon_tag_editor_wp.class.php:57
687
  msgid "Add Crayon Code"
688
  msgstr "Добавить код Crayon"
689
 
690
- #: ../util/tag-editor/crayon_tag_editor_wp.class.php:58
691
  msgid "Edit Crayon Code"
692
  msgstr "Изменить код Crayon"
693
 
694
- #: ../util/tag-editor/crayon_tag_editor_wp.class.php:59
695
  msgid "Add"
696
  msgstr "Добавить"
697
 
698
- #: ../util/tag-editor/crayon_tag_editor_wp.class.php:60
699
  msgid "Save"
700
  msgstr "Сохранить"
701
 
702
- #: ../util/tag-editor/crayon_te_content.php:65
703
  msgid "Title"
704
  msgstr "Заголовок"
705
 
706
- #: ../util/tag-editor/crayon_te_content.php:67
707
  msgid "A short description"
708
  msgstr "Краткое описание"
709
 
710
  # @ crayon-syntax-highlighter
711
- #: ../util/tag-editor/crayon_te_content.php:70
712
  msgid "Inline"
713
  msgstr "Внутристроковый"
714
 
715
  # @ crayon-syntax-highlighter
716
- #: ../util/tag-editor/crayon_te_content.php:75
 
 
 
 
 
717
  msgid "Language"
718
  msgstr "Язык"
719
 
720
- #: ../util/tag-editor/crayon_te_content.php:78
 
 
 
 
 
 
 
 
721
  msgid "Marked Lines"
722
  msgstr "Помеченные строки"
723
 
724
- #: ../util/tag-editor/crayon_te_content.php:79
725
  msgid "(e.g. 1,2,3-5)"
726
  msgstr "(пример: 1,2,3-5)"
727
 
728
  # @ crayon-syntax-highlighter
729
- #: ../util/tag-editor/crayon_te_content.php:82
730
- msgid "Disable Highlighting"
731
- msgstr "Запретить подсветку"
732
-
733
- # @ crayon-syntax-highlighter
734
- #: ../util/tag-editor/crayon_te_content.php:87
735
  msgid "Clear"
736
  msgstr "Очистить"
737
 
738
- #: ../util/tag-editor/crayon_te_content.php:88
739
  msgid "Paste your code here, or type it in manually."
740
  msgstr "Вставьте код сюда или введите вручную."
741
 
742
- #: ../util/tag-editor/crayon_te_content.php:91
743
  msgid "URL"
744
  msgstr "URL"
745
 
746
- #: ../util/tag-editor/crayon_te_content.php:93
747
  msgid "Relative local path or absolute URL"
748
  msgstr "Относительный локальный путь или абсолютный URL"
749
 
750
- #: ../util/tag-editor/crayon_te_content.php:96
751
- msgid "If the URL fails to load, the code above will be shown instead. If no code exists, an error is shown."
752
- msgstr "Если файл по указанному URL не загружается, приведенный выше код будет показано вместо него. Если код не введён, будет выдано сообщение об ошибке."
 
 
 
 
753
 
754
- #: ../util/tag-editor/crayon_te_content.php:98
755
  #, php-format
756
- msgid "If a relative local path is given it will be appended to %s - which is defined in %sCrayon &gt; Settings &gt; Files%s."
757
- msgstr "Если относительный локальный путь задан, он будет добавлен к пути %s - который определён в %sCrayon &gt; Настройки &gt; Файлы%s."
 
 
 
 
758
 
759
- #: ../util/tag-editor/crayon_te_content.php:117
760
  msgid "Change the following settings to override their global values."
761
- msgstr "Измените следующие настройки, чтобы переопределить их глобальные значения."
 
762
 
763
- #: ../util/tag-editor/crayon_te_content.php:119
764
  msgid "Only changes (shown yellow) are applied."
765
  msgstr "Только изменённые значения (показанные желтым) будут переопределены."
766
 
767
- #: ../util/tag-editor/crayon_te_content.php:121
768
  #, php-format
769
- msgid "Future changes to the global settings under %sCrayon &gt; Settings%s won't affect overridden settings."
770
- msgstr "Будущие изменения глобальных параметров в %sCrayon &gt; Параметры%s не повлияют на параметры переопределеные ниже."
 
 
 
 
771
 
772
  # @ crayon-syntax-highlighter
773
  #: ../util/theme-editor/editor.php:16
 
774
  msgid "Back To Settings"
775
  msgstr "Вернуться к настройкам"
776
 
 
 
 
 
 
 
 
 
 
2
  msgstr ""
3
  "Project-Id-Version: Crayon Syntax Highlighter\n"
4
  "Report-Msgid-Bugs-To: \n"
5
+ "POT-Creation-Date: 2012-10-20 18:21+0300\n"
6
  "PO-Revision-Date: \n"
7
  "Last-Translator: minimus <minimus@blogcoding.ru>\n"
8
  "Language-Team: minimus <minimus@simplelib.com>\n"
9
+ "Language: ru_BY\n"
10
  "MIME-Version: 1.0\n"
11
  "Content-Type: text/plain; charset=UTF-8\n"
12
  "Content-Transfer-Encoding: 8bit\n"
13
+ "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
14
+ "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
 
15
  "X-Poedit-SourceCharset: utf-8\n"
16
+ "X-Poedit-KeywordsList: __;_e;__ngettext:1,2;_n:1,2;__ngettext_noop:1,2;"
17
+ "_n_noop:1,2;_c,_nc:4c,1,2;_x:1,2c;_ex:1,2c;_nx:4c,1,2;_nx_noop:4c,1,2;"
18
+ "crayon__;crayon_n:1,2;crayon_e;crayon_x\n"
19
  "X-Poedit-Basepath: .\n"
20
  "X-Textdomain-Support: yes\n"
21
+ "X-Generator: Poedit 1.5.4\n"
22
  "X-Poedit-SearchPath-0: .\n"
23
  "X-Poedit-SearchPath-1: ..\n"
24
 
25
+ #: ../crayon_formatter.class.php:275
26
  msgid "Toggle Plain Code"
27
  msgstr "Включить/Отключить подсветку кода"
28
 
29
+ #: ../crayon_formatter.class.php:276
30
+ msgid "Toggle Line Wrap"
31
+ msgstr "Включить/Отключить перенос строк"
32
+
33
+ #: ../crayon_formatter.class.php:278
34
  #, php-format
35
  msgid "Press %s to Copy, %s to Paste"
36
  msgstr "Нажмите %s для копирования, %s для вставки"
37
 
38
+ #: ../crayon_formatter.class.php:278
39
  msgid "Copy Plain Code"
40
  msgstr "Копировать как текст"
41
 
42
  # @ crayon-syntax-highlighter
43
+ #: ../crayon_formatter.class.php:280
44
  msgid "Open Code In New Window"
45
  msgstr "Показать код в новом окне"
46
 
47
+ #: ../crayon_formatter.class.php:282
48
  msgid "Toggle Line Numbers"
49
  msgstr "Включить/Отключить нумерацию строк"
50
 
51
  # @ crayon-syntax-highlighter
52
+ #: ../crayon_formatter.class.php:285
53
  msgid "Contains Mixed Languages"
54
  msgstr "Содержит коды на разных языках"
55
 
56
  # @ crayon-syntax-highlighter
57
+ #: ../crayon_settings.class.php:143
58
  msgid "Hourly"
59
  msgstr "Ежечасно"
60
 
61
  # @ crayon-syntax-highlighter
62
+ #: ../crayon_settings.class.php:143
63
  msgid "Daily"
64
  msgstr "Ежедневно"
65
 
66
  # @ crayon-syntax-highlighter
67
+ #: ../crayon_settings.class.php:144
68
  msgid "Weekly"
69
  msgstr "Еженедельно"
70
 
71
  # @ crayon-syntax-highlighter
72
+ #: ../crayon_settings.class.php:144
73
  msgid "Monthly"
74
  msgstr "Ежемесячно"
75
 
76
  # @ crayon-syntax-highlighter
77
+ #: ../crayon_settings.class.php:145
78
  msgid "Immediately"
79
  msgstr "Немедленно"
80
 
81
  # @ crayon-syntax-highlighter
82
+ #: ../crayon_settings.class.php:155 ../crayon_settings.class.php:159
 
83
  msgid "Max"
84
  msgstr "Максимум"
85
 
86
  # @ crayon-syntax-highlighter
87
+ #: ../crayon_settings.class.php:155 ../crayon_settings.class.php:159
 
88
  msgid "Min"
89
  msgstr "Минимум"
90
 
91
  # @ crayon-syntax-highlighter
92
+ #: ../crayon_settings.class.php:155 ../crayon_settings.class.php:159
 
93
  msgid "Static"
94
  msgstr "Фиксировано"
95
 
96
  # @ crayon-syntax-highlighter
97
+ #: ../crayon_settings.class.php:157 ../crayon_settings.class.php:161
98
+ #: ../crayon_settings_wp.class.php:580 ../crayon_settings_wp.class.php:589
99
+ #: ../crayon_settings_wp.class.php:698
 
 
100
  msgid "Pixels"
101
  msgstr "Пикселей"
102
 
103
  # @ crayon-syntax-highlighter
104
+ #: ../crayon_settings.class.php:157 ../crayon_settings.class.php:161
 
105
  msgid "Percent"
106
  msgstr "Процентов"
107
 
108
  # @ crayon-syntax-highlighter
109
+ #: ../crayon_settings.class.php:170
110
  msgid "None"
111
  msgstr "Нет"
112
 
113
  # @ crayon-syntax-highlighter
114
+ #: ../crayon_settings.class.php:170
115
  msgid "Left"
116
  msgstr "Влево"
117
 
118
  # @ crayon-syntax-highlighter
119
+ #: ../crayon_settings.class.php:170
120
  msgid "Center"
121
  msgstr "По центру"
122
 
123
  # @ crayon-syntax-highlighter
124
+ #: ../crayon_settings.class.php:170
125
  msgid "Right"
126
  msgstr "Вправо"
127
 
128
  # @ crayon-syntax-highlighter
129
+ #: ../crayon_settings.class.php:172 ../crayon_settings.class.php:196
 
130
  msgid "On MouseOver"
131
  msgstr "При наведении мыши"
132
 
133
  # @ crayon-syntax-highlighter
134
+ #: ../crayon_settings.class.php:172 ../crayon_settings.class.php:178
 
135
  msgid "Always"
136
  msgstr "Всегда"
137
 
138
  # @ crayon-syntax-highlighter
139
+ #: ../crayon_settings.class.php:172 ../crayon_settings.class.php:178
 
140
  msgid "Never"
141
  msgstr "Никогда"
142
 
143
  # @ crayon-syntax-highlighter
144
+ #: ../crayon_settings.class.php:178
145
  msgid "When Found"
146
  msgstr "Если определён"
147
 
148
  # @ crayon-syntax-highlighter
149
+ #: ../crayon_settings.class.php:196
150
  msgid "On Double Click"
151
  msgstr "При двойном клике"
152
 
153
  # @ crayon-syntax-highlighter
154
+ #: ../crayon_settings.class.php:196
155
  msgid "On Single Click"
156
  msgstr "При клике"
157
 
158
  # @ crayon-syntax-highlighter
159
+ #: ../crayon_settings.class.php:196
160
  msgid "Disable Mouse Events"
161
  msgstr "Запретить отслеживание событий мыши"
162
 
163
  # @ crayon-syntax-highlighter
164
+ #: ../crayon_settings.class.php:203
165
  msgid "An error has occurred. Please try again later."
166
  msgstr "Произошла ошибка. Попробуйте ещё раз позднее."
167
 
168
  # @ crayon-syntax-highlighter
169
+ #: ../crayon_settings_wp.class.php:44 ../crayon_settings_wp.class.php:132
170
+ #: ../crayon_settings_wp.class.php:870
171
+ #: ../util/tag-editor/crayon_te_content.php:132
172
  msgid "Settings"
173
  msgstr "Настройки"
174
 
175
  # @ crayon-syntax-highlighter
176
+ #: ../crayon_settings_wp.class.php:113
177
  msgid "You do not have sufficient permissions to access this page."
178
  msgstr "У вас недостаточно прав для доступа к этой странице."
179
 
180
  # @ crayon-syntax-highlighter
181
+ #: ../crayon_settings_wp.class.php:144
182
  msgid "Save Changes"
183
  msgstr "Сохранить изменения"
184
 
185
  # @ crayon-syntax-highlighter
186
+ #: ../crayon_settings_wp.class.php:150
187
  msgid "Reset Settings"
188
  msgstr "Настройки по умолчанию"
189
 
190
  # @ crayon-syntax-highlighter
191
+ #: ../crayon_settings_wp.class.php:326
192
  msgid "General"
193
  msgstr "Основные"
194
 
195
+ #: ../crayon_settings_wp.class.php:327
196
  msgid "Theme"
197
  msgstr "Тема"
198
 
199
+ #: ../crayon_settings_wp.class.php:328
200
  msgid "Font"
201
  msgstr "Шрифт"
202
 
203
+ #: ../crayon_settings_wp.class.php:329
204
  msgid "Metrics"
205
  msgstr "Метрики"
206
 
207
+ #: ../crayon_settings_wp.class.php:330
208
  msgid "Toolbar"
209
  msgstr "Панель инструментов"
210
 
211
+ #: ../crayon_settings_wp.class.php:331
212
  msgid "Lines"
213
  msgstr "Строки"
214
 
215
+ #: ../crayon_settings_wp.class.php:332
216
+ #: ../util/tag-editor/crayon_te_content.php:100
217
  msgid "Code"
218
  msgstr "Код"
219
 
220
+ #: ../crayon_settings_wp.class.php:333
221
  msgid "Tags"
222
  msgstr "Теги"
223
 
224
  # @ crayon-syntax-highlighter
225
+ #: ../crayon_settings_wp.class.php:334
226
  msgid "Languages"
227
  msgstr "Языки"
228
 
229
+ #: ../crayon_settings_wp.class.php:335
230
  msgid "Files"
231
  msgstr "Файлы"
232
 
233
+ #: ../crayon_settings_wp.class.php:336
234
+ msgid "Posts"
235
+ msgstr "Статьи"
236
+
237
+ #: ../crayon_settings_wp.class.php:337
238
  msgid "Tag Editor"
239
  msgstr "Редактор тегов"
240
 
241
+ #: ../crayon_settings_wp.class.php:338
242
  msgid "Misc"
243
  msgstr "Разное"
244
 
245
+ #: ../crayon_settings_wp.class.php:341
246
  msgid "Debug"
247
  msgstr "Отладка"
248
 
249
+ #: ../crayon_settings_wp.class.php:342
250
  msgid "Errors"
251
  msgstr "Ошибки"
252
 
253
+ #: ../crayon_settings_wp.class.php:343
254
  msgid "Log"
255
  msgstr "Журнал ошибок"
256
 
257
+ #: ../crayon_settings_wp.class.php:346
258
  msgid "About"
259
  msgstr "О плагине"
260
 
261
  # @ crayon-syntax-highlighter
262
+ #: ../crayon_settings_wp.class.php:542
263
  msgid "Crayon Help"
264
  msgstr "Справка Crayon"
265
 
266
  # @ crayon-syntax-highlighter
267
+ #: ../crayon_settings_wp.class.php:557
268
  msgid "Height"
269
  msgstr "Высота"
270
 
271
  # @ crayon-syntax-highlighter
272
+ #: ../crayon_settings_wp.class.php:563
273
  msgid "Width"
274
  msgstr "Ширина"
275
 
276
  # @ crayon-syntax-highlighter
277
+ #: ../crayon_settings_wp.class.php:569
278
  msgid "Top Margin"
279
  msgstr "Верхний отступ"
280
 
281
  # @ crayon-syntax-highlighter
282
+ #: ../crayon_settings_wp.class.php:570
283
  msgid "Bottom Margin"
284
  msgstr "Нижний отступ"
285
 
286
  # @ crayon-syntax-highlighter
287
+ #: ../crayon_settings_wp.class.php:571 ../crayon_settings_wp.class.php:576
 
288
  msgid "Left Margin"
289
  msgstr "Левый отступ"
290
 
291
  # @ crayon-syntax-highlighter
292
+ #: ../crayon_settings_wp.class.php:572 ../crayon_settings_wp.class.php:576
 
293
  msgid "Right Margin"
294
  msgstr "Правый отступ"
295
 
296
  # @ crayon-syntax-highlighter
297
+ #: ../crayon_settings_wp.class.php:582
298
  msgid "Horizontal Alignment"
299
  msgstr "Выравнивание по горизонтали"
300
 
301
  # @ crayon-syntax-highlighter
302
+ #: ../crayon_settings_wp.class.php:585
303
  msgid "Allow floating elements to surround Crayon"
304
  msgstr "Разрешить плавающий режим"
305
 
306
  # @ crayon-syntax-highlighter
307
+ #: ../crayon_settings_wp.class.php:587
308
  msgid "Inline Margin"
309
  msgstr "Внутренний отступ"
310
 
311
  # @ crayon-syntax-highlighter
312
+ #: ../crayon_settings_wp.class.php:595
313
  msgid "Display the Toolbar"
314
  msgstr "Показывать панель инструментов"
315
 
316
  # @ crayon-syntax-highlighter
317
+ #: ../crayon_settings_wp.class.php:598
318
  msgid "Overlay the toolbar on code rather than push it down when possible"
319
+ msgstr ""
320
+ "Использовать, если возможно, наложение панели инструментов на панель кодов "
321
+ "без смещения кодов вниз"
322
 
323
  # @ crayon-syntax-highlighter
324
+ #: ../crayon_settings_wp.class.php:599
325
  msgid "Toggle the toolbar on single click when it is overlayed"
326
  msgstr "Показывать панель инструментов по клику, если она скрыта"
327
 
328
  # @ crayon-syntax-highlighter
329
+ #: ../crayon_settings_wp.class.php:600
330
  msgid "Delay hiding the toolbar on MouseOut"
331
  msgstr "Задержка исчезания панели инструментов при потере фокуса мыши"
332
 
333
  # @ crayon-syntax-highlighter
334
+ #: ../crayon_settings_wp.class.php:602
335
  msgid "Display the title when provided"
336
  msgstr "Показывать заголовок, если он задан"
337
 
338
  # @ crayon-syntax-highlighter
339
+ #: ../crayon_settings_wp.class.php:603
340
  msgid "Display the language"
341
  msgstr "Показывать язык кода"
342
 
343
  # @ crayon-syntax-highlighter
344
+ #: ../crayon_settings_wp.class.php:610
345
  msgid "Display striped code lines"
346
  msgstr "Использовать чередование цвета строк кода"
347
 
348
  # @ crayon-syntax-highlighter
349
+ #: ../crayon_settings_wp.class.php:611
350
  msgid "Enable line marking for important lines"
351
  msgstr "Разрешить маркировку важных строк кода"
352
 
353
+ #: ../crayon_settings_wp.class.php:612
354
+ msgid "Enable line ranges for showing only parts of code"
355
+ msgstr ""
356
+ "Разрешить использование диапазона строк кода для показа только части "
357
+ "представленного кода"
358
+
359
  # @ crayon-syntax-highlighter
360
+ #: ../crayon_settings_wp.class.php:613
361
  msgid "Display line numbers by default"
362
  msgstr "Показывать нумерацию строк по умолчанию"
363
 
364
  # @ crayon-syntax-highlighter
365
+ #: ../crayon_settings_wp.class.php:614
366
  msgid "Enable line number toggling"
367
  msgstr "Разрешить переключение нумерации строк"
368
 
369
  # @ crayon-syntax-highlighter
370
+ #: ../crayon_settings_wp.class.php:615
371
+ msgid "Wrap lines by default"
372
+ msgstr "Перенос строк по умолчанию"
373
+
374
+ # @ crayon-syntax-highlighter
375
+ #: ../crayon_settings_wp.class.php:616
376
+ msgid "Enable line wrap toggling"
377
+ msgstr "Разрешить переключение переноса строк"
378
+
379
+ # @ crayon-syntax-highlighter
380
+ #: ../crayon_settings_wp.class.php:617
381
  msgid "Start line numbers from"
382
  msgstr "Начинать нумерацию строк с"
383
 
384
  # @ crayon-syntax-highlighter
385
+ #: ../crayon_settings_wp.class.php:627
386
  msgid "When no language is provided, use the fallback"
387
  msgstr "Если язык не поддерживается, использовать"
388
 
389
  # @ crayon-syntax-highlighter
390
+ #: ../crayon_settings_wp.class.php:633
391
  #, php-format
392
  msgid "%d language has been detected."
393
  msgid_plural "%d languages have been detected."
396
  msgstr[2] "Обнаружено %d языков."
397
 
398
  # @ crayon-syntax-highlighter
399
+ #: ../crayon_settings_wp.class.php:634
400
  msgid "Parsing was successful"
401
  msgstr "Разбор кода произведён успешно"
402
 
403
  # @ crayon-syntax-highlighter
404
+ #: ../crayon_settings_wp.class.php:634
405
  msgid "Parsing was unsuccessful"
406
  msgstr "Разбор кода закончился неудачей"
407
 
408
  # @ crayon-syntax-highlighter
409
+ #: ../crayon_settings_wp.class.php:640
410
  #, php-format
411
  msgid "The selected language with id %s could not be loaded"
412
  msgstr "Выбранный язык (ID %s) не загружен."
413
 
414
  # @ crayon-syntax-highlighter
415
+ #: ../crayon_settings_wp.class.php:643
416
  msgid "Show Languages"
417
  msgstr "Показать языки"
418
 
419
+ #: ../crayon_settings_wp.class.php:652
420
+ msgid "Show Crayon Posts"
421
+ msgstr "Показать статьи содержащие теги Crayon"
422
+
423
+ #: ../crayon_settings_wp.class.php:652 ../crayon_settings_wp.class.php:681
424
+ #: ../crayon_settings_wp.class.php:707 ../crayon_settings_wp.class.php:729
425
+ #: ../crayon_settings_wp.class.php:742 ../crayon_settings_wp.class.php:743
426
+ #: ../crayon_settings_wp.class.php:744 ../crayon_settings_wp.class.php:745
427
+ #: ../crayon_settings_wp.class.php:746 ../crayon_settings_wp.class.php:747
428
+ #: ../crayon_settings_wp.class.php:769 ../crayon_settings_wp.class.php:772
429
+ #: ../crayon_settings_wp.class.php:781 ../crayon_settings_wp.class.php:782
430
+ msgid "?"
431
+ msgstr "?"
432
+
433
+ #: ../crayon_settings_wp.class.php:669 ../crayon_settings_wp.class.php:670
434
  msgid "Loading..."
435
  msgstr "Загрузка ..."
436
 
437
+ #: ../crayon_settings_wp.class.php:669
438
+ msgid "Edit"
439
+ msgstr "Изменить"
440
+
441
+ #: ../crayon_settings_wp.class.php:670
442
+ msgid "Create"
443
+ msgstr "Создать"
444
 
445
  # @ crayon-syntax-highlighter
446
+ #: ../crayon_settings_wp.class.php:675
447
  #, php-format
448
+ msgid ""
449
+ "Change the %1$sfallback language%2$s to change the sample code. Lines 5-7 "
450
+ "are marked."
451
+ msgstr ""
452
+ "Измените %1$sязык подсветки%2$s, чтобы изменить пример кода. Строки 5-7 "
453
+ "выделены."
454
 
455
  # @ crayon-syntax-highlighter
456
+ #: ../crayon_settings_wp.class.php:679
457
  msgid "Enable Live Preview"
458
  msgstr "Разрешить показ примера"
459
 
460
+ #: ../crayon_settings_wp.class.php:681
461
  msgid "Enqueue themes in the header (more efficient)."
462
  msgstr "Загружать темы в заголовке страницы (более эффективно)."
463
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
464
  # @ crayon-syntax-highlighter
465
+ #: ../crayon_settings_wp.class.php:684
466
  #, php-format
467
  msgid "The selected theme with id %s could not be loaded"
468
  msgstr "Выбранная тема (ID %s) не загружена."
469
 
470
  # @ crayon-syntax-highlighter
471
+ #: ../crayon_settings_wp.class.php:696
472
  msgid "Custom Font Size"
473
  msgstr "Пользовательский размер шрифта"
474
 
475
  # @ crayon-syntax-highlighter
476
+ #: ../crayon_settings_wp.class.php:701
477
  #, php-format
478
  msgid "The selected font with id %s could not be loaded"
479
  msgstr "Выбранный шрифт (ID %s) не может быть загружен."
480
 
481
+ #: ../crayon_settings_wp.class.php:707
482
  msgid "Enqueue fonts in the header (more efficient)."
483
  msgstr "Загружать шрифты в заголовке страницы (более эффективно)."
484
 
485
  # @ crayon-syntax-highlighter
486
+ #: ../crayon_settings_wp.class.php:712
487
  msgid "Enable plain code view and display"
488
  msgstr "Разрешить показ кода как обычного текста"
489
 
490
  # @ crayon-syntax-highlighter
491
+ #: ../crayon_settings_wp.class.php:715
492
  msgid "Enable plain code toggling"
493
  msgstr "Разрешить переключение показа кода как простого текста"
494
 
495
+ #: ../crayon_settings_wp.class.php:716
496
  msgid "Show the plain code by default"
497
  msgstr "Показывать код как простой текст по умолчанию"
498
 
499
  # @ crayon-syntax-highlighter
500
+ #: ../crayon_settings_wp.class.php:717
501
  msgid "Enable code copy/paste"
502
  msgstr "Разрешить копирование/вставку кода"
503
 
504
  # @ crayon-syntax-highlighter
505
+ #: ../crayon_settings_wp.class.php:719
506
  msgid "Enable opening code in a window"
507
  msgstr "Разрешить показ кода в отдельном окне"
508
 
509
+ #: ../crayon_settings_wp.class.php:720
510
  msgid "Always display scrollbars"
511
  msgstr "Всегда показывать полосы прокрутки"
512
 
513
+ #: ../crayon_settings_wp.class.php:723
 
 
 
 
 
514
  msgid "Decode HTML entities in code"
515
  msgstr "Декодировать объекты HTML в коде"
516
 
517
+ #: ../crayon_settings_wp.class.php:725
518
  msgid "Decode HTML entities in attributes"
519
  msgstr "Декодировать объекты HTML в атрибутах"
520
 
521
  # @ crayon-syntax-highlighter
522
+ #: ../crayon_settings_wp.class.php:727
523
  msgid "Remove whitespace surrounding the shortcode content"
524
  msgstr "Удалять пробелы окружающие контент короткого кода"
525
 
526
  # @ crayon-syntax-highlighter
527
+ #: ../crayon_settings_wp.class.php:729
528
  msgid "Allow Mixed Language Highlighting with delimiters and tags."
529
  msgstr "Разрешить подсветку смешанных языков."
530
 
531
  # @ crayon-syntax-highlighter
532
+ #: ../crayon_settings_wp.class.php:731
533
  msgid "Show Mixed Language Icon (+)"
534
  msgstr "Показывать иконку смешанных языков (+)"
535
 
536
+ # @ crayon-syntax-highlighter
537
+ #: ../crayon_settings_wp.class.php:733
538
+ msgid "Tab size in spaces"
539
+ msgstr "Размер табуляций в пробелах"
540
+
541
+ #: ../crayon_settings_wp.class.php:735
542
+ msgid "Blank lines before code:"
543
+ msgstr "Пустые строки перед блоком кодов:"
544
+
545
+ #: ../crayon_settings_wp.class.php:737
546
+ msgid "Blank lines after code:"
547
+ msgstr "Пустые строки после блока кодов:"
548
+
549
+ #: ../crayon_settings_wp.class.php:742
550
  msgid "Capture Mini Tags like [php][/php] as Crayons."
551
  msgstr "Обрабатывать мини-теги, например [php][/php], как теги Crayon."
552
 
553
+ #: ../crayon_settings_wp.class.php:743
554
  msgid "Capture Inline Tags like {php}{/php} inside sentences."
555
+ msgstr ""
556
+ "Обрабатывать строковые теги, такие как {php}{/php}, внутри предложения."
557
 
558
+ #: ../crayon_settings_wp.class.php:744
559
  msgid "Wrap Inline Tags"
560
  msgstr "Обрабатывать внутристроковые теги"
561
 
562
+ #: ../crayon_settings_wp.class.php:745
563
  msgid "Capture `backquotes` as &lt;code&gt;"
564
  msgstr "Обрабатывать символы `тильда` как &lt;code&gt;"
565
 
566
  # @ crayon-syntax-highlighter
567
+ #: ../crayon_settings_wp.class.php:746
568
  msgid "Capture &lt;pre&gt; tags as Crayons"
569
  msgstr "Обрабатывать тег &lt;pre&gt; как код Crayon"
570
 
571
+ #: ../crayon_settings_wp.class.php:747
572
  msgid "Enable [plain][/plain] tag."
573
  msgstr "Разрешить теги [plain][/plain]."
574
 
575
  # @ crayon-syntax-highlighter
576
+ #: ../crayon_settings_wp.class.php:752
577
+ msgid ""
578
+ "When loading local files and a relative path is given for the URL, use the "
579
+ "absolute path"
580
+ msgstr ""
581
+ "Если задан относительный путь для URL, при загрузке локальных файлов "
582
+ "использовать абсолютный путь"
583
 
584
  # @ crayon-syntax-highlighter
585
+ #: ../crayon_settings_wp.class.php:755
586
  msgid "Followed by your relative URL."
587
  msgstr "перед вашим относительным URL."
588
 
589
+ #: ../crayon_settings_wp.class.php:762
590
+ msgid "Convert Legacy Tags"
591
+ msgstr "Преобразовать устаревшие теги"
592
+
593
+ #: ../crayon_settings_wp.class.php:765
594
+ msgid "No Legacy Tags Found"
595
+ msgstr "Устаревших тегов не найдено"
596
+
597
+ #: ../crayon_settings_wp.class.php:769
598
+ msgid "Convert existing Crayon tags to Tag Editor format (&lt;pre&gt;)"
599
+ msgstr ""
600
+ "Конвертировать существующие теги Crayon в теги формата Редактора Тегов (&lt;"
601
+ "pre&gt;)"
602
+
603
+ #: ../crayon_settings_wp.class.php:770
604
  #, php-format
605
+ msgid ""
606
+ "Use %s to separate setting names from values in the &lt;pre&gt; class "
607
+ "attribute"
608
+ msgstr ""
609
+ "Использовать %s для разделения имён параметров в значениях атрибутов класса "
610
+ "&lt;pre&gt;"
611
+
612
+ #: ../crayon_settings_wp.class.php:773
613
+ msgid "Display the Tag Editor in any TinyMCE instances on the frontend"
614
+ msgstr "Отображать Редактор Тегов в интерфейсе любых экземпляров TinyMCE"
615
+
616
+ #: ../crayon_settings_wp.class.php:774
617
+ msgid "Display Tag Editor settings on the frontend"
618
+ msgstr "Отображать параметры Редактора Тегов в интерфейсе"
619
 
620
  # @ crayon-syntax-highlighter
621
+ #: ../crayon_settings_wp.class.php:778
622
  msgid "Clear the cache used to store remote code requests"
623
  msgstr "Очищать кэш используемый для хранения кодов из внешних файлов"
624
 
625
  # @ crayon-syntax-highlighter
626
+ #: ../crayon_settings_wp.class.php:780
627
  msgid "Clear Now"
628
  msgstr "Очистить сейчас"
629
 
630
  # @ crayon-syntax-highlighter
631
+ #: ../crayon_settings_wp.class.php:781
632
  msgid "Attempt to load Crayon's CSS and JavaScript only when needed"
633
+ msgstr ""
634
+ "Пытаться загружать таблицы стилей (CSS) и скрипты (JavaScript) плагина "
635
+ "только тогда, когда это необходимо"
636
 
637
+ #: ../crayon_settings_wp.class.php:782
638
  msgid "Disable enqueuing for page templates that may contain The Loop."
639
+ msgstr ""
640
+ "Отключить обработку кодов для шаблонов страниц, которые могут содержать Loop."
641
 
642
+ #: ../crayon_settings_wp.class.php:783
643
  msgid "Allow Crayons inside comments"
644
  msgstr "Разрешить теги Crayon в комментариях"
645
 
646
+ #: ../crayon_settings_wp.class.php:784
647
  msgid "Remove Crayons from excerpts"
648
  msgstr "Отключить подсветку Crayon в анонсах"
649
 
650
+ #: ../crayon_settings_wp.class.php:785
651
  msgid "Load Crayons only from the main Wordpress query"
652
  msgstr "Загружать Crayon только в основных запросах Wordpress"
653
 
654
  # @ crayon-syntax-highlighter
655
+ #: ../crayon_settings_wp.class.php:786
656
  msgid "Disable mouse gestures for touchscreen devices (eg. MouseOver)"
657
+ msgstr ""
658
+ "Отключить распознавание жестов мышью для сенсорных экранов (например "
659
+ "Наведение Мыши)"
660
 
661
  # @ crayon-syntax-highlighter
662
+ #: ../crayon_settings_wp.class.php:787
663
  msgid "Disable animations"
664
  msgstr "Запретить анимацию"
665
 
666
  # @ crayon-syntax-highlighter
667
+ #: ../crayon_settings_wp.class.php:788
668
  msgid "Disable runtime stats"
669
  msgstr "Запретить статистику выполнения"
670
 
671
  # @ crayon-syntax-highlighter
672
+ #: ../crayon_settings_wp.class.php:794
673
  msgid "Log errors for individual Crayons"
674
  msgstr "Журнал ошибок для каждого кода Crayon"
675
 
676
  # @ crayon-syntax-highlighter
677
+ #: ../crayon_settings_wp.class.php:795
678
  msgid "Log system-wide errors"
679
  msgstr "Журнал ошибок для общесистемных ошибок"
680
 
681
  # @ crayon-syntax-highlighter
682
+ #: ../crayon_settings_wp.class.php:796
683
  msgid "Display custom message for errors"
684
  msgstr "Показывать свое сообщение об ошибках"
685
 
686
  # @ crayon-syntax-highlighter
687
+ #: ../crayon_settings_wp.class.php:808
688
  msgid "Show Log"
689
  msgstr "Показать журнал ошибок"
690
 
691
+ #: ../crayon_settings_wp.class.php:808
692
  msgid "Hide Log"
693
  msgstr "Скрыть журнал"
694
 
695
  # @ crayon-syntax-highlighter
696
+ #: ../crayon_settings_wp.class.php:810
697
  msgid "Clear Log"
698
  msgstr "Очистить журнал ошибок"
699
 
700
  # @ crayon-syntax-highlighter
701
+ #: ../crayon_settings_wp.class.php:811
702
  msgid "Email Admin"
703
  msgstr "Сообщить администратору (e-mail)"
704
 
705
  # @ crayon-syntax-highlighter
706
+ #: ../crayon_settings_wp.class.php:813
707
  msgid "Email Developer"
708
  msgstr "Сообщить разработчику (e-mail)"
709
 
710
  # @ crayon-syntax-highlighter
711
+ #: ../crayon_settings_wp.class.php:815
712
  msgid "The log is currently empty."
713
  msgstr "Журнал ошибок пуст."
714
 
715
  # @ crayon-syntax-highlighter
716
+ #: ../crayon_settings_wp.class.php:817
717
  msgid "The log file exists and is writable."
718
  msgstr "Файл журнала ошибок существует и доступен для записи."
719
 
720
  # @ crayon-syntax-highlighter
721
+ #: ../crayon_settings_wp.class.php:817
722
  msgid "The log file exists and is not writable."
723
  msgstr "Файл журнала ошибок существует, но не доступен для записи."
724
 
725
  # @ crayon-syntax-highlighter
726
+ #: ../crayon_settings_wp.class.php:819
727
  msgid "The log file does not exist and is not writable."
728
  msgstr "Файл журнала ошибок не существует и не доступен для записи."
729
 
730
  # @ crayon-syntax-highlighter
731
+ #: ../crayon_settings_wp.class.php:829
732
  msgid "Version"
733
  msgstr "Версия"
734
 
735
  # @ crayon-syntax-highlighter
736
+ #: ../crayon_settings_wp.class.php:831
737
  msgid "Developer"
738
  msgstr "Разработчик"
739
 
740
+ #: ../crayon_settings_wp.class.php:832
741
  msgid "Translators"
742
  msgstr "Переводчики"
743
 
744
  # @ crayon-syntax-highlighter
745
+ #: ../crayon_settings_wp.class.php:858
746
+ msgid ""
747
+ "The result of innumerable hours of hard work over many months. It's an "
748
+ "ongoing project, keep me motivated!"
749
+ msgstr ""
750
+ "Результат бесчисленных часов тяжелой работы за многие месяцы. Это - текущий "
751
+ "проект, поддержите мою мотивацию!"
752
+
753
+ #: ../crayon_settings_wp.class.php:872 ../util/theme-editor/editor.php:14
754
+ #: ../util/theme-editor/theme_editor_content.php:27
755
+ msgid "Theme Editor"
756
+ msgstr "Редактор тем оформления"
757
 
758
  # @ crayon-syntax-highlighter
759
+ #: ../crayon_settings_wp.class.php:874
760
  msgid "Donate"
761
  msgstr "Поддержать разработчика (Donate)"
762
 
763
  # @ crayon-syntax-highlighter
764
+ #: ../util/tag-editor/crayon_tag_editor_wp.class.php:67
765
  msgid "Add Crayon Code"
766
  msgstr "Добавить код Crayon"
767
 
768
+ #: ../util/tag-editor/crayon_tag_editor_wp.class.php:68
769
  msgid "Edit Crayon Code"
770
  msgstr "Изменить код Crayon"
771
 
772
+ #: ../util/tag-editor/crayon_tag_editor_wp.class.php:69
773
  msgid "Add"
774
  msgstr "Добавить"
775
 
776
+ #: ../util/tag-editor/crayon_tag_editor_wp.class.php:70
777
  msgid "Save"
778
  msgstr "Сохранить"
779
 
780
+ #: ../util/tag-editor/crayon_te_content.php:76
781
  msgid "Title"
782
  msgstr "Заголовок"
783
 
784
+ #: ../util/tag-editor/crayon_te_content.php:78
785
  msgid "A short description"
786
  msgstr "Краткое описание"
787
 
788
  # @ crayon-syntax-highlighter
789
+ #: ../util/tag-editor/crayon_te_content.php:81
790
  msgid "Inline"
791
  msgstr "Внутристроковый"
792
 
793
  # @ crayon-syntax-highlighter
794
+ #: ../util/tag-editor/crayon_te_content.php:85
795
+ msgid "Don't Highlight"
796
+ msgstr "Запретить подсветку"
797
+
798
+ # @ crayon-syntax-highlighter
799
+ #: ../util/tag-editor/crayon_te_content.php:90
800
  msgid "Language"
801
  msgstr "Язык"
802
 
803
+ #: ../util/tag-editor/crayon_te_content.php:93
804
+ msgid "Line Range"
805
+ msgstr "Диапазон строк"
806
+
807
+ #: ../util/tag-editor/crayon_te_content.php:94
808
+ msgid "(e.g. 3-5 or 3)"
809
+ msgstr "(пример: 3-5 или 3)"
810
+
811
+ #: ../util/tag-editor/crayon_te_content.php:95
812
  msgid "Marked Lines"
813
  msgstr "Помеченные строки"
814
 
815
+ #: ../util/tag-editor/crayon_te_content.php:96
816
  msgid "(e.g. 1,2,3-5)"
817
  msgstr "(пример: 1,2,3-5)"
818
 
819
  # @ crayon-syntax-highlighter
820
+ #: ../util/tag-editor/crayon_te_content.php:100
 
 
 
 
 
821
  msgid "Clear"
822
  msgstr "Очистить"
823
 
824
+ #: ../util/tag-editor/crayon_te_content.php:101
825
  msgid "Paste your code here, or type it in manually."
826
  msgstr "Вставьте код сюда или введите вручную."
827
 
828
+ #: ../util/tag-editor/crayon_te_content.php:104
829
  msgid "URL"
830
  msgstr "URL"
831
 
832
+ #: ../util/tag-editor/crayon_te_content.php:106
833
  msgid "Relative local path or absolute URL"
834
  msgstr "Относительный локальный путь или абсолютный URL"
835
 
836
+ #: ../util/tag-editor/crayon_te_content.php:109
837
+ msgid ""
838
+ "If the URL fails to load, the code above will be shown instead. If no code "
839
+ "exists, an error is shown."
840
+ msgstr ""
841
+ "Если файл по указанному URL не загружается, приведенный выше код будет "
842
+ "показано вместо него. Если код не введён, будет выдано сообщение об ошибке."
843
 
844
+ #: ../util/tag-editor/crayon_te_content.php:111
845
  #, php-format
846
+ msgid ""
847
+ "If a relative local path is given it will be appended to %s - which is "
848
+ "defined in %sCrayon &gt; Settings &gt; Files%s."
849
+ msgstr ""
850
+ "Если относительный локальный путь задан, он будет добавлен к пути %s - "
851
+ "который определён в %sCrayon &gt; Настройки &gt; Файлы%s."
852
 
853
+ #: ../util/tag-editor/crayon_te_content.php:135
854
  msgid "Change the following settings to override their global values."
855
+ msgstr ""
856
+ "Измените следующие настройки, чтобы переопределить их глобальные значения."
857
 
858
+ #: ../util/tag-editor/crayon_te_content.php:137
859
  msgid "Only changes (shown yellow) are applied."
860
  msgstr "Только изменённые значения (показанные желтым) будут переопределены."
861
 
862
+ #: ../util/tag-editor/crayon_te_content.php:139
863
  #, php-format
864
+ msgid ""
865
+ "Future changes to the global settings under %sCrayon &gt; Settings%s won't "
866
+ "affect overridden settings."
867
+ msgstr ""
868
+ "Будущие изменения глобальных параметров в %sCrayon &gt; Параметры%s не "
869
+ "повлияют на параметры переопределеные ниже."
870
 
871
  # @ crayon-syntax-highlighter
872
  #: ../util/theme-editor/editor.php:16
873
+ #: ../util/theme-editor/theme_editor_content.php:39
874
  msgid "Back To Settings"
875
  msgstr "Вернуться к настройкам"
876
 
877
+ #: ../util/theme-editor/theme_editor_content.php:32
878
+ #, php-format
879
+ msgid "Editing \"%s\" Theme"
880
+ msgstr "Редактирование темы \"%s\""
881
+
882
+ #: ../util/theme-editor/theme_editor_content.php:34
883
+ #, php-format
884
+ msgid "Creating Theme From \"%s\""
885
+ msgstr "Создание темы на основе \"%s\""
trans/crayon-syntax-highlighter-tr_TR.mo CHANGED
Binary file
trans/crayon-syntax-highlighter-tr_TR.po CHANGED
@@ -2,826 +2,926 @@ msgid ""
2
  msgstr ""
3
  "Project-Id-Version: crayon-syntax-highlighter\n"
4
  "Report-Msgid-Bugs-To: \n"
5
- "POT-Creation-Date: 2012-05-06 15:12+1000\n"
6
  "PO-Revision-Date: \n"
7
- "Last-Translator: \n"
8
- "Language-Team: kazancexpert <kazancexpert@gmail.com>\n"
 
9
  "MIME-Version: 1.0\n"
10
  "Content-Type: text/plain; charset=UTF-8\n"
11
  "Content-Transfer-Encoding: 8bit\n"
12
  "Plural-Forms: nplurals=2; plural=n != 1;\n"
13
- "X-Poedit-Language: Turkish\n"
14
- "X-Poedit-Country: TURKEY\n"
15
- "X-Poedit-SourceCharset: utf-8\n"
16
- "X-Poedit-KeywordsList: __;_e;__ngettext:1,2;_n:1,2;__ngettext_noop:1,2;_n_noop:1,2;_c,_nc:4c,1,2;_x:1,2c;_ex:1,2c;_nx:4c,1,2;_nx_noop:4c,1,2;crayon__;crayon_e;crayon_n\n"
17
  "X-Poedit-Basepath: .\n"
18
  "X-Textdomain-Support: yes\n"
 
19
  "X-Poedit-SearchPath-0: .\n"
20
  "X-Poedit-SearchPath-1: ..\n"
21
 
22
  # @ crayon-syntax-highlighter
23
- #: ../crayon_formatter.class.php:266
24
  msgid "Toggle Plain Code"
25
  msgstr "Düz Koda Geç"
26
 
27
  # @ crayon-syntax-highlighter
28
- #: ../crayon_formatter.class.php:268
 
 
 
 
 
29
  #, php-format
30
  msgid "Press %s to Copy, %s to Paste"
31
  msgstr "%s ile Kopyala, %s ile Yapıştır"
32
 
33
  # @ crayon-syntax-highlighter
34
- #: ../crayon_formatter.class.php:268
35
  msgid "Copy Plain Code"
36
  msgstr "Düz Kodu Kopyala"
37
 
38
  # @ crayon-syntax-highlighter
39
- #: ../crayon_formatter.class.php:270
40
  msgid "Open Code In New Window"
41
  msgstr "Kodu Yeni Pencerede Aç"
42
 
43
  # @ crayon-syntax-highlighter
44
- #: ../crayon_formatter.class.php:273
45
  msgid "Toggle Line Numbers"
46
  msgstr "Satır Numaralarına Geç"
47
 
48
  # @ crayon-syntax-highlighter
49
- #: ../crayon_formatter.class.php:279
50
  msgid "Contains Mixed Languages"
51
  msgstr "Karışık Diller içerir"
52
 
53
  # @ crayon-syntax-highlighter
54
- #: ../crayon_settings.class.php:138
55
  msgid "Hourly"
56
  msgstr "Saatlik"
57
 
58
  # @ crayon-syntax-highlighter
59
- #: ../crayon_settings.class.php:138
60
  msgid "Daily"
61
  msgstr "Günlük"
62
 
63
  # @ crayon-syntax-highlighter
64
- #: ../crayon_settings.class.php:139
65
  msgid "Weekly"
66
  msgstr "Haftalık"
67
 
68
  # @ crayon-syntax-highlighter
69
- #: ../crayon_settings.class.php:139
70
  msgid "Monthly"
71
  msgstr "Aylık"
72
 
73
  # @ crayon-syntax-highlighter
74
- #: ../crayon_settings.class.php:140
75
  msgid "Immediately"
76
  msgstr "Hemen"
77
 
78
  # @ crayon-syntax-highlighter
79
- #: ../crayon_settings.class.php:150
80
- #: ../crayon_settings.class.php:154
81
  msgid "Max"
82
  msgstr "Max"
83
 
84
  # @ crayon-syntax-highlighter
85
- #: ../crayon_settings.class.php:150
86
- #: ../crayon_settings.class.php:154
87
  msgid "Min"
88
  msgstr "Min"
89
 
90
  # @ crayon-syntax-highlighter
91
- #: ../crayon_settings.class.php:150
92
- #: ../crayon_settings.class.php:154
93
  msgid "Static"
94
  msgstr "Sabit"
95
 
96
  # @ crayon-syntax-highlighter
97
- #: ../crayon_settings.class.php:152
98
- #: ../crayon_settings.class.php:156
99
- #: ../crayon_settings_wp.class.php:541
100
- #: ../crayon_settings_wp.class.php:550
101
- #: ../crayon_settings_wp.class.php:649
102
  msgid "Pixels"
103
  msgstr "Piksel"
104
 
105
  # @ crayon-syntax-highlighter
106
- #: ../crayon_settings.class.php:152
107
- #: ../crayon_settings.class.php:156
108
  msgid "Percent"
109
  msgstr "Yüzde"
110
 
111
  # @ crayon-syntax-highlighter
112
- #: ../crayon_settings.class.php:165
113
  msgid "None"
114
  msgstr "Yok"
115
 
116
  # @ crayon-syntax-highlighter
117
- #: ../crayon_settings.class.php:165
118
  msgid "Left"
119
  msgstr "Sol"
120
 
121
  # @ crayon-syntax-highlighter
122
- #: ../crayon_settings.class.php:165
123
  msgid "Center"
124
  msgstr "Merkez"
125
 
126
  # @ crayon-syntax-highlighter
127
- #: ../crayon_settings.class.php:165
128
  msgid "Right"
129
  msgstr "Sağ"
130
 
131
  # @ crayon-syntax-highlighter
132
- #: ../crayon_settings.class.php:167
133
- #: ../crayon_settings.class.php:189
134
  msgid "On MouseOver"
135
  msgstr "Fare Üstündeyken"
136
 
137
  # @ crayon-syntax-highlighter
138
- #: ../crayon_settings.class.php:167
139
- #: ../crayon_settings.class.php:173
140
  msgid "Always"
141
  msgstr "Herzaman"
142
 
143
  # @ crayon-syntax-highlighter
144
- #: ../crayon_settings.class.php:167
145
- #: ../crayon_settings.class.php:173
146
  msgid "Never"
147
  msgstr "Asla"
148
 
149
  # @ crayon-syntax-highlighter
150
- #: ../crayon_settings.class.php:173
151
  msgid "When Found"
152
  msgstr "Bulunduğunda"
153
 
154
  # @ crayon-syntax-highlighter
155
- #: ../crayon_settings.class.php:189
156
  msgid "On Double Click"
157
  msgstr "Çift Tık ile aç"
158
 
159
  # @ crayon-syntax-highlighter
160
- #: ../crayon_settings.class.php:189
161
  msgid "On Single Click"
162
  msgstr "Tek Tık ile aç"
163
 
164
  # @ crayon-syntax-highlighter
165
- #: ../crayon_settings.class.php:189
166
  msgid "Disable Mouse Events"
167
  msgstr "Fare Etkinliği Devre Dışı"
168
 
169
  # @ crayon-syntax-highlighter
170
- #: ../crayon_settings.class.php:196
171
  msgid "An error has occurred. Please try again later."
172
  msgstr "Bir hata meydana geldi. Daha sonra tekrar deneyin."
173
 
174
  # @ crayon-syntax-highlighter
175
- #: ../crayon_settings_wp.class.php:44
176
- #: ../crayon_settings_wp.class.php:118
177
- #: ../crayon_settings_wp.class.php:802
178
  msgid "Settings"
179
  msgstr "Ayarlar"
180
 
181
  # @ crayon-syntax-highlighter
182
- #: ../crayon_settings_wp.class.php:99
183
  msgid "You do not have sufficient permissions to access this page."
184
  msgstr "Bu sayfaya erişmek için yeterli izinlere sahip değilsiniz."
185
 
186
  # @ crayon-syntax-highlighter
187
- #: ../crayon_settings_wp.class.php:130
188
  msgid "Save Changes"
189
  msgstr "Kaydet"
190
 
191
  # @ crayon-syntax-highlighter
192
- #: ../crayon_settings_wp.class.php:136
193
  msgid "Reset Settings"
194
  msgstr "Ayarları Sıfırla"
195
 
196
  # @ crayon-syntax-highlighter
197
- #: ../crayon_settings_wp.class.php:301
198
  msgid "General"
199
  msgstr "Genel"
200
 
201
  # @ crayon-syntax-highlighter
202
- #: ../crayon_settings_wp.class.php:302
203
  msgid "Theme"
204
  msgstr "Tema"
205
 
206
  # @ crayon-syntax-highlighter
207
- #: ../crayon_settings_wp.class.php:303
208
  msgid "Font"
209
  msgstr "Font"
210
 
211
  # @ crayon-syntax-highlighter
212
- #: ../crayon_settings_wp.class.php:304
213
  msgid "Metrics"
214
  msgstr "Ölçüler"
215
 
216
  # @ crayon-syntax-highlighter
217
- #: ../crayon_settings_wp.class.php:305
218
  msgid "Toolbar"
219
  msgstr "Araç Çubuğu"
220
 
221
  # @ crayon-syntax-highlighter
222
- #: ../crayon_settings_wp.class.php:306
223
  msgid "Lines"
224
  msgstr "Satırlar"
225
 
226
  # @ crayon-syntax-highlighter
227
- #: ../crayon_settings_wp.class.php:307
 
228
  msgid "Code"
229
  msgstr "Kod"
230
 
231
  # @ crayon-syntax-highlighter
232
- #: ../crayon_settings_wp.class.php:308
233
  msgid "Tags"
234
  msgstr "Etiketler"
235
 
236
  # @ crayon-syntax-highlighter
237
- #: ../crayon_settings_wp.class.php:309
238
  msgid "Languages"
239
  msgstr "Diller"
240
 
241
  # @ crayon-syntax-highlighter
242
- #: ../crayon_settings_wp.class.php:310
243
  msgid "Files"
244
  msgstr "Dosyalar"
245
 
 
 
 
 
246
  # @ crayon-syntax-highlighter
247
- #: ../crayon_settings_wp.class.php:311
248
  msgid "Tag Editor"
249
  msgstr "Etiket Düzenleyici"
250
 
251
  # @ crayon-syntax-highlighter
252
- #: ../crayon_settings_wp.class.php:312
253
  msgid "Misc"
254
  msgstr "Çeşitli"
255
 
256
  # @ crayon-syntax-highlighter
257
- #: ../crayon_settings_wp.class.php:315
258
  msgid "Debug"
259
  msgstr "Hata Ayıklama"
260
 
261
  # @ crayon-syntax-highlighter
262
- #: ../crayon_settings_wp.class.php:316
263
  msgid "Errors"
264
  msgstr "Hatalar"
265
 
266
  # @ crayon-syntax-highlighter
267
- #: ../crayon_settings_wp.class.php:317
268
  msgid "Log"
269
  msgstr "Günlük"
270
 
271
  # @ crayon-syntax-highlighter
272
- #: ../crayon_settings_wp.class.php:320
273
  msgid "About"
274
  msgstr "Hakkında"
275
 
276
  # @ crayon-syntax-highlighter
277
- #: ../crayon_settings_wp.class.php:503
278
  msgid "Crayon Help"
279
  msgstr "Crayon Yardım"
280
 
281
  # @ crayon-syntax-highlighter
282
- #: ../crayon_settings_wp.class.php:518
283
  msgid "Height"
284
  msgstr "Yükseklik"
285
 
286
  # @ crayon-syntax-highlighter
287
- #: ../crayon_settings_wp.class.php:524
288
  msgid "Width"
289
  msgstr "Genişlik"
290
 
291
  # @ crayon-syntax-highlighter
292
- #: ../crayon_settings_wp.class.php:530
293
  msgid "Top Margin"
294
  msgstr "Üst Boşluk"
295
 
296
  # @ crayon-syntax-highlighter
297
- #: ../crayon_settings_wp.class.php:531
298
  msgid "Bottom Margin"
299
  msgstr "Alt Boşluk"
300
 
301
  # @ crayon-syntax-highlighter
302
- #: ../crayon_settings_wp.class.php:532
303
- #: ../crayon_settings_wp.class.php:537
304
  msgid "Left Margin"
305
  msgstr "Sol Boşluk"
306
 
307
  # @ crayon-syntax-highlighter
308
- #: ../crayon_settings_wp.class.php:533
309
- #: ../crayon_settings_wp.class.php:537
310
  msgid "Right Margin"
311
  msgstr "Sağ Boşluk"
312
 
313
  # @ crayon-syntax-highlighter
314
- #: ../crayon_settings_wp.class.php:543
315
  msgid "Horizontal Alignment"
316
  msgstr "Yatay Hizalama"
317
 
318
  # @ crayon-syntax-highlighter
319
- #: ../crayon_settings_wp.class.php:546
320
  msgid "Allow floating elements to surround Crayon"
321
  msgstr "Geçişli elementleri Crayon çevrelemeye izin ver"
322
 
323
  # @ crayon-syntax-highlighter
324
- #: ../crayon_settings_wp.class.php:548
325
  msgid "Inline Margin"
326
  msgstr "Satıriçi Boşluk"
327
 
328
  # @ crayon-syntax-highlighter
329
- #: ../crayon_settings_wp.class.php:556
330
  msgid "Display the Toolbar"
331
  msgstr "Araç çubuğunu göster"
332
 
333
  # @ crayon-syntax-highlighter
334
- #: ../crayon_settings_wp.class.php:559
335
  msgid "Overlay the toolbar on code rather than push it down when possible"
336
  msgstr "Araç çubuğunu mümkünse kodları aşağı itmek yerine üstte göster"
337
 
338
  # @ crayon-syntax-highlighter
339
- #: ../crayon_settings_wp.class.php:560
340
  msgid "Toggle the toolbar on single click when it is overlayed"
341
  msgstr "Araç çubuğu üste çıktığında tek tıkla gizle"
342
 
343
  # @ crayon-syntax-highlighter
344
- #: ../crayon_settings_wp.class.php:561
345
  msgid "Delay hiding the toolbar on MouseOut"
346
  msgstr "Fare dışa çıktığında araç çubuğunu gizlemek için bekle"
347
 
348
  # @ crayon-syntax-highlighter
349
- #: ../crayon_settings_wp.class.php:563
350
  msgid "Display the title when provided"
351
  msgstr "Varsa başlığı görüntüle"
352
 
353
  # @ crayon-syntax-highlighter
354
- #: ../crayon_settings_wp.class.php:564
355
  msgid "Display the language"
356
  msgstr "Dilleri göster"
357
 
358
  # @ crayon-syntax-highlighter
359
- #: ../crayon_settings_wp.class.php:571
360
  msgid "Display striped code lines"
361
  msgstr "Şeritli kod satırını göster"
362
 
363
  # @ crayon-syntax-highlighter
364
- #: ../crayon_settings_wp.class.php:572
365
  msgid "Enable line marking for important lines"
366
  msgstr "Önemli satırlar için satır işaretleme etkin"
367
 
 
 
 
 
368
  # @ crayon-syntax-highlighter
369
- #: ../crayon_settings_wp.class.php:573
370
  msgid "Display line numbers by default"
371
  msgstr "Varsayılan olarak satır numaralarını göster"
372
 
373
  # @ crayon-syntax-highlighter
374
- #: ../crayon_settings_wp.class.php:574
375
  msgid "Enable line number toggling"
376
  msgstr "Satır numaraları geçişi etkin"
377
 
378
  # @ crayon-syntax-highlighter
379
- #: ../crayon_settings_wp.class.php:575
 
 
 
 
 
 
 
 
 
 
380
  msgid "Start line numbers from"
381
  msgstr "Satır numarasını buradan başlat"
382
 
383
  # @ crayon-syntax-highlighter
384
- #: ../crayon_settings_wp.class.php:585
385
  msgid "When no language is provided, use the fallback"
386
  msgstr "Belirlenmiş bir dil olmadığında son çareyi kullan"
387
 
388
  # @ crayon-syntax-highlighter
389
- #: ../crayon_settings_wp.class.php:591
390
  #, fuzzy, php-format
391
  msgid "%d language has been detected."
392
  msgstr "%d dil tespit edildi."
393
 
394
  # @ crayon-syntax-highlighter
395
- #: ../crayon_settings_wp.class.php:592
396
  msgid "Parsing was successful"
397
  msgstr "Ayrıştırma başarılı"
398
 
399
  # @ crayon-syntax-highlighter
400
- #: ../crayon_settings_wp.class.php:592
401
  msgid "Parsing was unsuccessful"
402
  msgstr "Ayrıştırma başarılı değil"
403
 
404
  # @ crayon-syntax-highlighter
405
- #: ../crayon_settings_wp.class.php:598
406
  #, php-format
407
  msgid "The selected language with id %s could not be loaded"
408
  msgstr "ID %s ile seçilen dil yüklenemedi"
409
 
410
  # @ crayon-syntax-highlighter
411
- #: ../crayon_settings_wp.class.php:602
412
  msgid "Show Languages"
413
  msgstr "Dilleri Göster"
414
 
 
 
 
 
415
  # @ crayon-syntax-highlighter
416
- #: ../crayon_settings_wp.class.php:621
 
 
 
 
 
 
 
 
 
 
 
417
  msgid "Loading..."
418
  msgstr "Yükleniyor..."
419
 
420
- # @ crayon-syntax-highlighter
421
- #: ../crayon_settings_wp.class.php:621
422
- #: ../crayon_settings_wp.class.php:804
423
- msgid "Theme Editor"
424
- msgstr "Tema Düzenleyici"
 
 
425
 
426
  # @ crayon-syntax-highlighter
427
- #: ../crayon_settings_wp.class.php:626
428
  #, php-format
429
- msgid "Change the %1$sfallback language%2$s to change the sample code. Lines 5-7 are marked."
430
- msgstr "Örnek kodu değiştirmek için %1$sSon çare dili%2$s değiştirin. 5-7 satırlar işaretli."
 
 
 
 
431
 
432
  # @ crayon-syntax-highlighter
433
- #: ../crayon_settings_wp.class.php:630
434
  msgid "Enable Live Preview"
435
  msgstr "Ön izleme etkin"
436
 
437
  # @ crayon-syntax-highlighter
438
- #: ../crayon_settings_wp.class.php:632
439
  msgid "Enqueue themes in the header (more efficient)."
440
  msgstr "Temaları header içinde kuyrukla (daha etkin)."
441
 
442
  # @ crayon-syntax-highlighter
443
- #: ../crayon_settings_wp.class.php:632
444
- #: ../crayon_settings_wp.class.php:658
445
- #: ../crayon_settings_wp.class.php:683
446
- #: ../crayon_settings_wp.class.php:690
447
- #: ../crayon_settings_wp.class.php:691
448
- #: ../crayon_settings_wp.class.php:692
449
- #: ../crayon_settings_wp.class.php:693
450
- #: ../crayon_settings_wp.class.php:694
451
- #: ../crayon_settings_wp.class.php:695
452
- #: ../crayon_settings_wp.class.php:709
453
- #: ../crayon_settings_wp.class.php:716
454
- #: ../crayon_settings_wp.class.php:717
455
- msgid "?"
456
- msgstr ""
457
-
458
- # @ crayon-syntax-highlighter
459
- #: ../crayon_settings_wp.class.php:635
460
  #, php-format
461
  msgid "The selected theme with id %s could not be loaded"
462
  msgstr "ID %s ile seçilen tema yüklenemedi"
463
 
464
  # @ crayon-syntax-highlighter
465
- #: ../crayon_settings_wp.class.php:647
466
  msgid "Custom Font Size"
467
  msgstr "Kişisel Font Boyutu"
468
 
469
  # @ crayon-syntax-highlighter
470
- #: ../crayon_settings_wp.class.php:652
471
  #, php-format
472
  msgid "The selected font with id %s could not be loaded"
473
  msgstr "ID %s ile seçilen font yüklenemedi"
474
 
475
  # @ crayon-syntax-highlighter
476
- #: ../crayon_settings_wp.class.php:658
477
  msgid "Enqueue fonts in the header (more efficient)."
478
  msgstr "Fontları header içinde kuyrukla (daha etkin)."
479
 
480
  # @ crayon-syntax-highlighter
481
- #: ../crayon_settings_wp.class.php:663
482
  msgid "Enable plain code view and display"
483
  msgstr "Düz kod görünümü ve görüntüleme etkin"
484
 
485
  # @ crayon-syntax-highlighter
486
- #: ../crayon_settings_wp.class.php:666
487
  msgid "Enable plain code toggling"
488
  msgstr "Düz kod geçişi etkin"
489
 
490
  # @ crayon-syntax-highlighter
491
- #: ../crayon_settings_wp.class.php:667
492
  msgid "Show the plain code by default"
493
  msgstr "Düz kodu varsayılan olarak göster"
494
 
495
  # @ crayon-syntax-highlighter
496
- #: ../crayon_settings_wp.class.php:668
497
  msgid "Enable code copy/paste"
498
  msgstr "Kod kopyala/yapıştır etkin"
499
 
500
  # @ crayon-syntax-highlighter
501
- #: ../crayon_settings_wp.class.php:670
502
  msgid "Enable opening code in a window"
503
  msgstr "Kodları bir pencerede açma etkin"
504
 
505
  # @ crayon-syntax-highlighter
506
- #: ../crayon_settings_wp.class.php:671
507
  msgid "Always display scrollbars"
508
  msgstr "Kaydırma çubuğu her zaman göster"
509
 
510
  # @ crayon-syntax-highlighter
511
- #: ../crayon_settings_wp.class.php:672
512
- msgid "Tab size in spaces"
513
- msgstr "Boşluk sekme boyutu"
514
-
515
- # @ crayon-syntax-highlighter
516
- #: ../crayon_settings_wp.class.php:677
517
  msgid "Decode HTML entities in code"
518
  msgstr "HTML varlıkları kod içinde çöz"
519
 
520
  # @ crayon-syntax-highlighter
521
- #: ../crayon_settings_wp.class.php:679
522
  msgid "Decode HTML entities in attributes"
523
  msgstr "HTML varlıkları nitelikler içinde çöz"
524
 
525
  # @ crayon-syntax-highlighter
526
- #: ../crayon_settings_wp.class.php:681
527
  msgid "Remove whitespace surrounding the shortcode content"
528
  msgstr "Kısakod içeriğini çevreleyen beyaz alanları kaldır"
529
 
530
  # @ crayon-syntax-highlighter
531
- #: ../crayon_settings_wp.class.php:683
532
  msgid "Allow Mixed Language Highlighting with delimiters and tags."
533
  msgstr "Sınırlayıcılar ve etiketler ile Karışık Dil Vurgulamaya izin ver."
534
 
535
  # @ crayon-syntax-highlighter
536
- #: ../crayon_settings_wp.class.php:685
537
  msgid "Show Mixed Language Icon (+)"
538
  msgstr "Karışık Dil Simgesini Göster (+)"
539
 
540
  # @ crayon-syntax-highlighter
541
- #: ../crayon_settings_wp.class.php:690
 
 
 
 
 
 
 
 
 
 
 
 
 
542
  msgid "Capture Mini Tags like [php][/php] as Crayons."
543
  msgstr "Crayons olarak [php][/php] gibi küçük etiketleri yakala."
544
 
545
  # @ crayon-syntax-highlighter
546
- #: ../crayon_settings_wp.class.php:691
547
  msgid "Capture Inline Tags like {php}{/php} inside sentences."
548
  msgstr "Cümle içinde {php}{/php} gibi satıriçi etiketleri yakalayın."
549
 
550
  # @ crayon-syntax-highlighter
551
- #: ../crayon_settings_wp.class.php:692
552
  msgid "Wrap Inline Tags"
553
  msgstr "Satıriçi Etiketleri Sar"
554
 
555
  # @ crayon-syntax-highlighter
556
- #: ../crayon_settings_wp.class.php:693
557
  msgid "Capture `backquotes` as &lt;code&gt;"
558
  msgstr "&lt;code&gt; olarak `backquotes` yakalayın"
559
 
560
  # @ crayon-syntax-highlighter
561
- #: ../crayon_settings_wp.class.php:694
562
  msgid "Capture &lt;pre&gt; tags as Crayons"
563
  msgstr "&lt;pre&gt; etiketleri Crayons olarak yakala"
564
 
565
  # @ crayon-syntax-highlighter
566
- #: ../crayon_settings_wp.class.php:695
567
  msgid "Enable [plain][/plain] tag."
568
  msgstr "[plain][/plain] etiketi etkin."
569
 
570
  # @ crayon-syntax-highlighter
571
- #: ../crayon_settings_wp.class.php:700
572
- msgid "When loading local files and a relative path is given for the URL, use the absolute path"
573
- msgstr "Yerel dosyalar yüklendiği ve URL için bağlantılı yol verildiğinde, kesin yolu kullan"
 
 
 
 
574
 
575
  # @ crayon-syntax-highlighter
576
- #: ../crayon_settings_wp.class.php:703
577
  msgid "Followed by your relative URL."
578
  msgstr "Bağlantılı URL tarafından izlendi."
579
 
 
 
 
 
 
 
 
 
 
 
 
 
 
580
  # @ crayon-syntax-highlighter
581
- #: ../crayon_settings_wp.class.php:707
582
  #, php-format
583
- msgid "Use %s to separate setting names from values in the &lt;pre&gt; class attribute"
584
- msgstr "%s kullanarak &lt;pre&gt; sınıf niteliği içinde ayar adlarını değerlerden ayır"
 
 
 
 
 
 
 
 
 
 
 
 
585
 
586
  # @ crayon-syntax-highlighter
587
- #: ../crayon_settings_wp.class.php:713
588
  msgid "Clear the cache used to store remote code requests"
589
  msgstr "Uzak kod isteklerini depolamak için ön belleği temizle"
590
 
591
  # @ crayon-syntax-highlighter
592
- #: ../crayon_settings_wp.class.php:715
593
  msgid "Clear Now"
594
  msgstr "Şimdi Temizle"
595
 
596
  # @ crayon-syntax-highlighter
597
- #: ../crayon_settings_wp.class.php:716
598
  msgid "Attempt to load Crayon's CSS and JavaScript only when needed"
599
  msgstr "Sadece ihtiyaç olduğunda Crayon CSS ve JavaScript yüklemeyi dene"
600
 
601
  # @ crayon-syntax-highlighter
602
- #: ../crayon_settings_wp.class.php:717
603
  msgid "Disable enqueuing for page templates that may contain The Loop."
604
  msgstr "Döngü içeren sayfa şablonları için kuyruklama devre dışı."
605
 
606
  # @ crayon-syntax-highlighter
607
- #: ../crayon_settings_wp.class.php:718
608
  msgid "Allow Crayons inside comments"
609
  msgstr "Yorum içinde Crayons izini verin"
610
 
611
  # @ crayon-syntax-highlighter
612
- #: ../crayon_settings_wp.class.php:719
613
  msgid "Remove Crayons from excerpts"
614
  msgstr "Crayon'ı alıntılardan çıkar"
615
 
616
  # @ crayon-syntax-highlighter
617
- #: ../crayon_settings_wp.class.php:720
618
  msgid "Load Crayons only from the main Wordpress query"
619
  msgstr "Sadece ana Wordpress sorgusundan Crayons yükle"
620
 
621
  # @ crayon-syntax-highlighter
622
- #: ../crayon_settings_wp.class.php:721
623
  msgid "Disable mouse gestures for touchscreen devices (eg. MouseOver)"
624
- msgstr "Dokunmatik cihazlar için fare hareketlerini devre dışı bırak (örn. Fare Üzerinde)"
 
 
625
 
626
  # @ crayon-syntax-highlighter
627
- #: ../crayon_settings_wp.class.php:722
628
  msgid "Disable animations"
629
  msgstr "Animasyonlar devre dışı"
630
 
631
  # @ crayon-syntax-highlighter
632
- #: ../crayon_settings_wp.class.php:723
633
  msgid "Disable runtime stats"
634
  msgstr "İşlem istatistikleri devre dışı"
635
 
636
  # @ crayon-syntax-highlighter
637
- #: ../crayon_settings_wp.class.php:729
638
  msgid "Log errors for individual Crayons"
639
  msgstr "Özgün Crayons hataları günlükle"
640
 
641
  # @ crayon-syntax-highlighter
642
- #: ../crayon_settings_wp.class.php:730
643
  msgid "Log system-wide errors"
644
  msgstr "Sistem-geneli hataları günlükle"
645
 
646
  # @ crayon-syntax-highlighter
647
- #: ../crayon_settings_wp.class.php:731
648
  msgid "Display custom message for errors"
649
  msgstr "Hatalar için kişisel mesaj göster"
650
 
651
  # @ crayon-syntax-highlighter
652
- #: ../crayon_settings_wp.class.php:743
653
  msgid "Show Log"
654
  msgstr "Günlüğü Göster"
655
 
656
  # @ crayon-syntax-highlighter
657
- #: ../crayon_settings_wp.class.php:743
658
  msgid "Hide Log"
659
  msgstr "Günlüğü Gizle"
660
 
661
  # @ crayon-syntax-highlighter
662
- #: ../crayon_settings_wp.class.php:745
663
  msgid "Clear Log"
664
  msgstr "Günlüğü Temizle"
665
 
666
  # @ crayon-syntax-highlighter
667
- #: ../crayon_settings_wp.class.php:746
668
  msgid "Email Admin"
669
  msgstr "Yönetici E-Posta"
670
 
671
  # @ crayon-syntax-highlighter
672
- #: ../crayon_settings_wp.class.php:748
673
  msgid "Email Developer"
674
  msgstr "Geliştirici E-Posta"
675
 
676
  # @ crayon-syntax-highlighter
677
- #: ../crayon_settings_wp.class.php:750
678
  msgid "The log is currently empty."
679
  msgstr "Günlük şu anda boş."
680
 
681
  # @ crayon-syntax-highlighter
682
- #: ../crayon_settings_wp.class.php:752
683
  msgid "The log file exists and is writable."
684
  msgstr "Günlük dosyası var ve yazılabilir."
685
 
686
  # @ crayon-syntax-highlighter
687
- #: ../crayon_settings_wp.class.php:752
688
  msgid "The log file exists and is not writable."
689
  msgstr "Günlük dosyası var ve yazılabilir değil."
690
 
691
  # @ crayon-syntax-highlighter
692
- #: ../crayon_settings_wp.class.php:754
693
  msgid "The log file does not exist and is not writable."
694
  msgstr "Günlük dosyası yok ve yazılabilir değil."
695
 
696
  # @ crayon-syntax-highlighter
697
- #: ../crayon_settings_wp.class.php:764
698
  msgid "Version"
699
  msgstr "Sürüm"
700
 
701
  # @ crayon-syntax-highlighter
702
- #: ../crayon_settings_wp.class.php:766
703
  msgid "Developer"
704
  msgstr "Geliştirici"
705
 
706
  # @ crayon-syntax-highlighter
707
- #: ../crayon_settings_wp.class.php:767
708
  msgid "Translators"
709
  msgstr "Çevirmenler"
710
 
711
  # @ crayon-syntax-highlighter
712
- #: ../crayon_settings_wp.class.php:790
713
- msgid "The result of innumerable hours of hard work over many months. It's an ongoing project, keep me motivated!"
714
- msgstr "Aylar boyu sıkı çalışma ve sayısız saatlerin sonucudur. Bu devam eden bir projedir, motivasyonumu arttırın!"
 
 
 
 
 
 
 
 
 
 
715
 
716
  # @ crayon-syntax-highlighter
717
- #: ../crayon_settings_wp.class.php:806
718
  msgid "Donate"
719
  msgstr "Bağış"
720
 
721
  # @ crayon-syntax-highlighter
722
- #: ../util/tag-editor/crayon_tag_editor_wp.class.php:57
723
  msgid "Add Crayon Code"
724
  msgstr "Crayon Kod Ekle"
725
 
726
  # @ crayon-syntax-highlighter
727
- #: ../util/tag-editor/crayon_tag_editor_wp.class.php:58
728
  msgid "Edit Crayon Code"
729
  msgstr "Crayon Kodu Düzenle"
730
 
731
  # @ crayon-syntax-highlighter
732
- #: ../util/tag-editor/crayon_tag_editor_wp.class.php:59
733
  msgid "Add"
734
  msgstr "Ekle"
735
 
736
  # @ crayon-syntax-highlighter
737
- #: ../util/tag-editor/crayon_tag_editor_wp.class.php:60
738
  msgid "Save"
739
  msgstr "Kaydet"
740
 
741
  # @ crayon-syntax-highlighter
742
- #: ../util/tag-editor/crayon_te_content.php:65
743
  msgid "Title"
744
  msgstr "Başlık"
745
 
746
  # @ crayon-syntax-highlighter
747
- #: ../util/tag-editor/crayon_te_content.php:67
748
  msgid "A short description"
749
- msgstr ""
750
 
751
  # @ crayon-syntax-highlighter
752
- #: ../util/tag-editor/crayon_te_content.php:70
753
  msgid "Inline"
754
  msgstr "Satıriçi"
755
 
756
  # @ crayon-syntax-highlighter
757
- #: ../util/tag-editor/crayon_te_content.php:75
 
 
 
 
 
758
  msgid "Language"
759
  msgstr "Dil"
760
 
 
 
 
 
761
  # @ crayon-syntax-highlighter
762
- #: ../util/tag-editor/crayon_te_content.php:78
 
 
 
 
 
 
763
  msgid "Marked Lines"
764
  msgstr "İşaretli Satırlar"
765
 
766
  # @ crayon-syntax-highlighter
767
- #: ../util/tag-editor/crayon_te_content.php:79
768
  msgid "(e.g. 1,2,3-5)"
769
- msgstr ""
770
-
771
- # @ crayon-syntax-highlighter
772
- #: ../util/tag-editor/crayon_te_content.php:82
773
- msgid "Disable Highlighting"
774
- msgstr "Vurgulamayı İptal et"
775
 
776
  # @ crayon-syntax-highlighter
777
- #: ../util/tag-editor/crayon_te_content.php:87
778
  msgid "Clear"
779
  msgstr "Temizle"
780
 
781
  # @ crayon-syntax-highlighter
782
- #: ../util/tag-editor/crayon_te_content.php:88
783
  msgid "Paste your code here, or type it in manually."
784
  msgstr "Kodu buraya yapıştır, ya da onu el ile yaz."
785
 
786
  # @ crayon-syntax-highlighter
787
- #: ../util/tag-editor/crayon_te_content.php:91
788
  msgid "URL"
789
- msgstr ""
790
 
791
  # @ crayon-syntax-highlighter
792
- #: ../util/tag-editor/crayon_te_content.php:93
793
  msgid "Relative local path or absolute URL"
794
- msgstr ""
795
 
796
  # @ crayon-syntax-highlighter
797
- #: ../util/tag-editor/crayon_te_content.php:96
798
- msgid "If the URL fails to load, the code above will be shown instead. If no code exists, an error is shown."
 
 
799
  msgstr ""
 
 
800
 
801
  # @ crayon-syntax-highlighter
802
- #: ../util/tag-editor/crayon_te_content.php:98
803
  #, php-format
804
- msgid "If a relative local path is given it will be appended to %s - which is defined in %sCrayon &gt; Settings &gt; Files%s."
 
 
805
  msgstr ""
 
 
806
 
807
  # @ crayon-syntax-highlighter
808
- #: ../util/tag-editor/crayon_te_content.php:117
809
  msgid "Change the following settings to override their global values."
810
  msgstr "Genel değerleri geçersiz kılmak için aşağıdaki ayarları değiştirin."
811
 
812
  # @ crayon-syntax-highlighter
813
- #: ../util/tag-editor/crayon_te_content.php:119
814
  msgid "Only changes (shown yellow) are applied."
815
  msgstr "Sadece değişiklikler (sarı ile gösterilir) uygulanır."
816
 
817
  # @ crayon-syntax-highlighter
818
- #: ../util/tag-editor/crayon_te_content.php:121
819
  #, php-format
820
- msgid "Future changes to the global settings under %sCrayon &gt; Settings%s won't affect overridden settings."
 
 
821
  msgstr ""
 
 
 
 
 
 
 
 
 
 
 
 
822
 
823
  # @ crayon-syntax-highlighter
824
- #: ../util/theme-editor/editor.php:16
825
  msgid "Back To Settings"
826
  msgstr "Ayarlara Geri Dön"
827
-
2
  msgstr ""
3
  "Project-Id-Version: crayon-syntax-highlighter\n"
4
  "Report-Msgid-Bugs-To: \n"
5
+ "POT-Creation-Date: 2012-10-16 04:19+0200\n"
6
  "PO-Revision-Date: \n"
7
+ "Last-Translator: HakanEr <hakanerwptr@gmail.com>\n"
8
+ "Language-Team: hakaner <hakanerwptr@gmail.com>\n"
9
+ "Language: tr_TR\n"
10
  "MIME-Version: 1.0\n"
11
  "Content-Type: text/plain; charset=UTF-8\n"
12
  "Content-Transfer-Encoding: 8bit\n"
13
  "Plural-Forms: nplurals=2; plural=n != 1;\n"
14
+ "X-Poedit-SourceCharset: UTF-8\n"
15
+ "X-Poedit-KeywordsList: __;_e;__ngettext:1,2;_n:1,2;__ngettext_noop:1,2;"
16
+ "_n_noop:1,2;_c,_nc:4c,1,2;_x:1,2c;_ex:1,2c;_nx:4c,1,2;_nx_noop:4c,1,2;"
17
+ "crayon__;crayon_e;crayon_n\n"
18
  "X-Poedit-Basepath: .\n"
19
  "X-Textdomain-Support: yes\n"
20
+ "X-Generator: Poedit 1.5.4\n"
21
  "X-Poedit-SearchPath-0: .\n"
22
  "X-Poedit-SearchPath-1: ..\n"
23
 
24
  # @ crayon-syntax-highlighter
25
+ #: ../crayon_formatter.class.php:275
26
  msgid "Toggle Plain Code"
27
  msgstr "Düz Koda Geç"
28
 
29
  # @ crayon-syntax-highlighter
30
+ #: ../crayon_formatter.class.php:276
31
+ msgid "Toggle Line Wrap"
32
+ msgstr "Satır Sarımına Geç"
33
+
34
+ # @ crayon-syntax-highlighter
35
+ #: ../crayon_formatter.class.php:278
36
  #, php-format
37
  msgid "Press %s to Copy, %s to Paste"
38
  msgstr "%s ile Kopyala, %s ile Yapıştır"
39
 
40
  # @ crayon-syntax-highlighter
41
+ #: ../crayon_formatter.class.php:278
42
  msgid "Copy Plain Code"
43
  msgstr "Düz Kodu Kopyala"
44
 
45
  # @ crayon-syntax-highlighter
46
+ #: ../crayon_formatter.class.php:280
47
  msgid "Open Code In New Window"
48
  msgstr "Kodu Yeni Pencerede Aç"
49
 
50
  # @ crayon-syntax-highlighter
51
+ #: ../crayon_formatter.class.php:282
52
  msgid "Toggle Line Numbers"
53
  msgstr "Satır Numaralarına Geç"
54
 
55
  # @ crayon-syntax-highlighter
56
+ #: ../crayon_formatter.class.php:285
57
  msgid "Contains Mixed Languages"
58
  msgstr "Karışık Diller içerir"
59
 
60
  # @ crayon-syntax-highlighter
61
+ #: ../crayon_settings.class.php:143
62
  msgid "Hourly"
63
  msgstr "Saatlik"
64
 
65
  # @ crayon-syntax-highlighter
66
+ #: ../crayon_settings.class.php:143
67
  msgid "Daily"
68
  msgstr "Günlük"
69
 
70
  # @ crayon-syntax-highlighter
71
+ #: ../crayon_settings.class.php:144
72
  msgid "Weekly"
73
  msgstr "Haftalık"
74
 
75
  # @ crayon-syntax-highlighter
76
+ #: ../crayon_settings.class.php:144
77
  msgid "Monthly"
78
  msgstr "Aylık"
79
 
80
  # @ crayon-syntax-highlighter
81
+ #: ../crayon_settings.class.php:145
82
  msgid "Immediately"
83
  msgstr "Hemen"
84
 
85
  # @ crayon-syntax-highlighter
86
+ #: ../crayon_settings.class.php:155 ../crayon_settings.class.php:159
 
87
  msgid "Max"
88
  msgstr "Max"
89
 
90
  # @ crayon-syntax-highlighter
91
+ #: ../crayon_settings.class.php:155 ../crayon_settings.class.php:159
 
92
  msgid "Min"
93
  msgstr "Min"
94
 
95
  # @ crayon-syntax-highlighter
96
+ #: ../crayon_settings.class.php:155 ../crayon_settings.class.php:159
 
97
  msgid "Static"
98
  msgstr "Sabit"
99
 
100
  # @ crayon-syntax-highlighter
101
+ #: ../crayon_settings.class.php:157 ../crayon_settings.class.php:161
102
+ #: ../crayon_settings_wp.class.php:580 ../crayon_settings_wp.class.php:589
103
+ #: ../crayon_settings_wp.class.php:698
 
 
104
  msgid "Pixels"
105
  msgstr "Piksel"
106
 
107
  # @ crayon-syntax-highlighter
108
+ #: ../crayon_settings.class.php:157 ../crayon_settings.class.php:161
 
109
  msgid "Percent"
110
  msgstr "Yüzde"
111
 
112
  # @ crayon-syntax-highlighter
113
+ #: ../crayon_settings.class.php:170
114
  msgid "None"
115
  msgstr "Yok"
116
 
117
  # @ crayon-syntax-highlighter
118
+ #: ../crayon_settings.class.php:170
119
  msgid "Left"
120
  msgstr "Sol"
121
 
122
  # @ crayon-syntax-highlighter
123
+ #: ../crayon_settings.class.php:170
124
  msgid "Center"
125
  msgstr "Merkez"
126
 
127
  # @ crayon-syntax-highlighter
128
+ #: ../crayon_settings.class.php:170
129
  msgid "Right"
130
  msgstr "Sağ"
131
 
132
  # @ crayon-syntax-highlighter
133
+ #: ../crayon_settings.class.php:172 ../crayon_settings.class.php:196
 
134
  msgid "On MouseOver"
135
  msgstr "Fare Üstündeyken"
136
 
137
  # @ crayon-syntax-highlighter
138
+ #: ../crayon_settings.class.php:172 ../crayon_settings.class.php:178
 
139
  msgid "Always"
140
  msgstr "Herzaman"
141
 
142
  # @ crayon-syntax-highlighter
143
+ #: ../crayon_settings.class.php:172 ../crayon_settings.class.php:178
 
144
  msgid "Never"
145
  msgstr "Asla"
146
 
147
  # @ crayon-syntax-highlighter
148
+ #: ../crayon_settings.class.php:178
149
  msgid "When Found"
150
  msgstr "Bulunduğunda"
151
 
152
  # @ crayon-syntax-highlighter
153
+ #: ../crayon_settings.class.php:196
154
  msgid "On Double Click"
155
  msgstr "Çift Tık ile aç"
156
 
157
  # @ crayon-syntax-highlighter
158
+ #: ../crayon_settings.class.php:196
159
  msgid "On Single Click"
160
  msgstr "Tek Tık ile aç"
161
 
162
  # @ crayon-syntax-highlighter
163
+ #: ../crayon_settings.class.php:196
164
  msgid "Disable Mouse Events"
165
  msgstr "Fare Etkinliği Devre Dışı"
166
 
167
  # @ crayon-syntax-highlighter
168
+ #: ../crayon_settings.class.php:203
169
  msgid "An error has occurred. Please try again later."
170
  msgstr "Bir hata meydana geldi. Daha sonra tekrar deneyin."
171
 
172
  # @ crayon-syntax-highlighter
173
+ #: ../crayon_settings_wp.class.php:44 ../crayon_settings_wp.class.php:132
174
+ #: ../crayon_settings_wp.class.php:870
175
+ #: ../util/tag-editor/crayon_te_content.php:132
176
  msgid "Settings"
177
  msgstr "Ayarlar"
178
 
179
  # @ crayon-syntax-highlighter
180
+ #: ../crayon_settings_wp.class.php:113
181
  msgid "You do not have sufficient permissions to access this page."
182
  msgstr "Bu sayfaya erişmek için yeterli izinlere sahip değilsiniz."
183
 
184
  # @ crayon-syntax-highlighter
185
+ #: ../crayon_settings_wp.class.php:144
186
  msgid "Save Changes"
187
  msgstr "Kaydet"
188
 
189
  # @ crayon-syntax-highlighter
190
+ #: ../crayon_settings_wp.class.php:150
191
  msgid "Reset Settings"
192
  msgstr "Ayarları Sıfırla"
193
 
194
  # @ crayon-syntax-highlighter
195
+ #: ../crayon_settings_wp.class.php:326
196
  msgid "General"
197
  msgstr "Genel"
198
 
199
  # @ crayon-syntax-highlighter
200
+ #: ../crayon_settings_wp.class.php:327
201
  msgid "Theme"
202
  msgstr "Tema"
203
 
204
  # @ crayon-syntax-highlighter
205
+ #: ../crayon_settings_wp.class.php:328
206
  msgid "Font"
207
  msgstr "Font"
208
 
209
  # @ crayon-syntax-highlighter
210
+ #: ../crayon_settings_wp.class.php:329
211
  msgid "Metrics"
212
  msgstr "Ölçüler"
213
 
214
  # @ crayon-syntax-highlighter
215
+ #: ../crayon_settings_wp.class.php:330
216
  msgid "Toolbar"
217
  msgstr "Araç Çubuğu"
218
 
219
  # @ crayon-syntax-highlighter
220
+ #: ../crayon_settings_wp.class.php:331
221
  msgid "Lines"
222
  msgstr "Satırlar"
223
 
224
  # @ crayon-syntax-highlighter
225
+ #: ../crayon_settings_wp.class.php:332
226
+ #: ../util/tag-editor/crayon_te_content.php:100
227
  msgid "Code"
228
  msgstr "Kod"
229
 
230
  # @ crayon-syntax-highlighter
231
+ #: ../crayon_settings_wp.class.php:333
232
  msgid "Tags"
233
  msgstr "Etiketler"
234
 
235
  # @ crayon-syntax-highlighter
236
+ #: ../crayon_settings_wp.class.php:334
237
  msgid "Languages"
238
  msgstr "Diller"
239
 
240
  # @ crayon-syntax-highlighter
241
+ #: ../crayon_settings_wp.class.php:335
242
  msgid "Files"
243
  msgstr "Dosyalar"
244
 
245
+ #: ../crayon_settings_wp.class.php:336
246
+ msgid "Posts"
247
+ msgstr "Yazılar"
248
+
249
  # @ crayon-syntax-highlighter
250
+ #: ../crayon_settings_wp.class.php:337
251
  msgid "Tag Editor"
252
  msgstr "Etiket Düzenleyici"
253
 
254
  # @ crayon-syntax-highlighter
255
+ #: ../crayon_settings_wp.class.php:338
256
  msgid "Misc"
257
  msgstr "Çeşitli"
258
 
259
  # @ crayon-syntax-highlighter
260
+ #: ../crayon_settings_wp.class.php:341
261
  msgid "Debug"
262
  msgstr "Hata Ayıklama"
263
 
264
  # @ crayon-syntax-highlighter
265
+ #: ../crayon_settings_wp.class.php:342
266
  msgid "Errors"
267
  msgstr "Hatalar"
268
 
269
  # @ crayon-syntax-highlighter
270
+ #: ../crayon_settings_wp.class.php:343
271
  msgid "Log"
272
  msgstr "Günlük"
273
 
274
  # @ crayon-syntax-highlighter
275
+ #: ../crayon_settings_wp.class.php:346
276
  msgid "About"
277
  msgstr "Hakkında"
278
 
279
  # @ crayon-syntax-highlighter
280
+ #: ../crayon_settings_wp.class.php:542
281
  msgid "Crayon Help"
282
  msgstr "Crayon Yardım"
283
 
284
  # @ crayon-syntax-highlighter
285
+ #: ../crayon_settings_wp.class.php:557
286
  msgid "Height"
287
  msgstr "Yükseklik"
288
 
289
  # @ crayon-syntax-highlighter
290
+ #: ../crayon_settings_wp.class.php:563
291
  msgid "Width"
292
  msgstr "Genişlik"
293
 
294
  # @ crayon-syntax-highlighter
295
+ #: ../crayon_settings_wp.class.php:569
296
  msgid "Top Margin"
297
  msgstr "Üst Boşluk"
298
 
299
  # @ crayon-syntax-highlighter
300
+ #: ../crayon_settings_wp.class.php:570
301
  msgid "Bottom Margin"
302
  msgstr "Alt Boşluk"
303
 
304
  # @ crayon-syntax-highlighter
305
+ #: ../crayon_settings_wp.class.php:571 ../crayon_settings_wp.class.php:576
 
306
  msgid "Left Margin"
307
  msgstr "Sol Boşluk"
308
 
309
  # @ crayon-syntax-highlighter
310
+ #: ../crayon_settings_wp.class.php:572 ../crayon_settings_wp.class.php:576
 
311
  msgid "Right Margin"
312
  msgstr "Sağ Boşluk"
313
 
314
  # @ crayon-syntax-highlighter
315
+ #: ../crayon_settings_wp.class.php:582
316
  msgid "Horizontal Alignment"
317
  msgstr "Yatay Hizalama"
318
 
319
  # @ crayon-syntax-highlighter
320
+ #: ../crayon_settings_wp.class.php:585
321
  msgid "Allow floating elements to surround Crayon"
322
  msgstr "Geçişli elementleri Crayon çevrelemeye izin ver"
323
 
324
  # @ crayon-syntax-highlighter
325
+ #: ../crayon_settings_wp.class.php:587
326
  msgid "Inline Margin"
327
  msgstr "Satıriçi Boşluk"
328
 
329
  # @ crayon-syntax-highlighter
330
+ #: ../crayon_settings_wp.class.php:595
331
  msgid "Display the Toolbar"
332
  msgstr "Araç çubuğunu göster"
333
 
334
  # @ crayon-syntax-highlighter
335
+ #: ../crayon_settings_wp.class.php:598
336
  msgid "Overlay the toolbar on code rather than push it down when possible"
337
  msgstr "Araç çubuğunu mümkünse kodları aşağı itmek yerine üstte göster"
338
 
339
  # @ crayon-syntax-highlighter
340
+ #: ../crayon_settings_wp.class.php:599
341
  msgid "Toggle the toolbar on single click when it is overlayed"
342
  msgstr "Araç çubuğu üste çıktığında tek tıkla gizle"
343
 
344
  # @ crayon-syntax-highlighter
345
+ #: ../crayon_settings_wp.class.php:600
346
  msgid "Delay hiding the toolbar on MouseOut"
347
  msgstr "Fare dışa çıktığında araç çubuğunu gizlemek için bekle"
348
 
349
  # @ crayon-syntax-highlighter
350
+ #: ../crayon_settings_wp.class.php:602
351
  msgid "Display the title when provided"
352
  msgstr "Varsa başlığı görüntüle"
353
 
354
  # @ crayon-syntax-highlighter
355
+ #: ../crayon_settings_wp.class.php:603
356
  msgid "Display the language"
357
  msgstr "Dilleri göster"
358
 
359
  # @ crayon-syntax-highlighter
360
+ #: ../crayon_settings_wp.class.php:610
361
  msgid "Display striped code lines"
362
  msgstr "Şeritli kod satırını göster"
363
 
364
  # @ crayon-syntax-highlighter
365
+ #: ../crayon_settings_wp.class.php:611
366
  msgid "Enable line marking for important lines"
367
  msgstr "Önemli satırlar için satır işaretleme etkin"
368
 
369
+ #: ../crayon_settings_wp.class.php:612
370
+ msgid "Enable line ranges for showing only parts of code"
371
+ msgstr "Kodun sadece bir parçasını gösteren satır aralıklarını etkinleştir"
372
+
373
  # @ crayon-syntax-highlighter
374
+ #: ../crayon_settings_wp.class.php:613
375
  msgid "Display line numbers by default"
376
  msgstr "Varsayılan olarak satır numaralarını göster"
377
 
378
  # @ crayon-syntax-highlighter
379
+ #: ../crayon_settings_wp.class.php:614
380
  msgid "Enable line number toggling"
381
  msgstr "Satır numaraları geçişi etkin"
382
 
383
  # @ crayon-syntax-highlighter
384
+ #: ../crayon_settings_wp.class.php:615
385
+ msgid "Wrap lines by default"
386
+ msgstr "Varsayılan olarak satırları sar"
387
+
388
+ # @ crayon-syntax-highlighter
389
+ #: ../crayon_settings_wp.class.php:616
390
+ msgid "Enable line wrap toggling"
391
+ msgstr "Satır sarıma geçişi etkin"
392
+
393
+ # @ crayon-syntax-highlighter
394
+ #: ../crayon_settings_wp.class.php:617
395
  msgid "Start line numbers from"
396
  msgstr "Satır numarasını buradan başlat"
397
 
398
  # @ crayon-syntax-highlighter
399
+ #: ../crayon_settings_wp.class.php:627
400
  msgid "When no language is provided, use the fallback"
401
  msgstr "Belirlenmiş bir dil olmadığında son çareyi kullan"
402
 
403
  # @ crayon-syntax-highlighter
404
+ #: ../crayon_settings_wp.class.php:633
405
  #, fuzzy, php-format
406
  msgid "%d language has been detected."
407
  msgstr "%d dil tespit edildi."
408
 
409
  # @ crayon-syntax-highlighter
410
+ #: ../crayon_settings_wp.class.php:634
411
  msgid "Parsing was successful"
412
  msgstr "Ayrıştırma başarılı"
413
 
414
  # @ crayon-syntax-highlighter
415
+ #: ../crayon_settings_wp.class.php:634
416
  msgid "Parsing was unsuccessful"
417
  msgstr "Ayrıştırma başarılı değil"
418
 
419
  # @ crayon-syntax-highlighter
420
+ #: ../crayon_settings_wp.class.php:640
421
  #, php-format
422
  msgid "The selected language with id %s could not be loaded"
423
  msgstr "ID %s ile seçilen dil yüklenemedi"
424
 
425
  # @ crayon-syntax-highlighter
426
+ #: ../crayon_settings_wp.class.php:643
427
  msgid "Show Languages"
428
  msgstr "Dilleri Göster"
429
 
430
+ #: ../crayon_settings_wp.class.php:652
431
+ msgid "Show Crayon Posts"
432
+ msgstr "Crayon Yazıları Göster"
433
+
434
  # @ crayon-syntax-highlighter
435
+ #: ../crayon_settings_wp.class.php:652 ../crayon_settings_wp.class.php:681
436
+ #: ../crayon_settings_wp.class.php:707 ../crayon_settings_wp.class.php:729
437
+ #: ../crayon_settings_wp.class.php:742 ../crayon_settings_wp.class.php:743
438
+ #: ../crayon_settings_wp.class.php:744 ../crayon_settings_wp.class.php:745
439
+ #: ../crayon_settings_wp.class.php:746 ../crayon_settings_wp.class.php:747
440
+ #: ../crayon_settings_wp.class.php:769 ../crayon_settings_wp.class.php:772
441
+ #: ../crayon_settings_wp.class.php:781 ../crayon_settings_wp.class.php:782
442
+ msgid "?"
443
+ msgstr "?"
444
+
445
+ # @ crayon-syntax-highlighter
446
+ #: ../crayon_settings_wp.class.php:669 ../crayon_settings_wp.class.php:670
447
  msgid "Loading..."
448
  msgstr "Yükleniyor..."
449
 
450
+ #: ../crayon_settings_wp.class.php:669
451
+ msgid "Edit"
452
+ msgstr "Düzenle"
453
+
454
+ #: ../crayon_settings_wp.class.php:670
455
+ msgid "Create"
456
+ msgstr "Oluştur"
457
 
458
  # @ crayon-syntax-highlighter
459
+ #: ../crayon_settings_wp.class.php:675
460
  #, php-format
461
+ msgid ""
462
+ "Change the %1$sfallback language%2$s to change the sample code. Lines 5-7 "
463
+ "are marked."
464
+ msgstr ""
465
+ "Örnek kodu değiştirmek için %1$sSon çare dili%2$s değiştirin. 5-7 satırlar "
466
+ "işaretli."
467
 
468
  # @ crayon-syntax-highlighter
469
+ #: ../crayon_settings_wp.class.php:679
470
  msgid "Enable Live Preview"
471
  msgstr "Ön izleme etkin"
472
 
473
  # @ crayon-syntax-highlighter
474
+ #: ../crayon_settings_wp.class.php:681
475
  msgid "Enqueue themes in the header (more efficient)."
476
  msgstr "Temaları header içinde kuyrukla (daha etkin)."
477
 
478
  # @ crayon-syntax-highlighter
479
+ #: ../crayon_settings_wp.class.php:684
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
480
  #, php-format
481
  msgid "The selected theme with id %s could not be loaded"
482
  msgstr "ID %s ile seçilen tema yüklenemedi"
483
 
484
  # @ crayon-syntax-highlighter
485
+ #: ../crayon_settings_wp.class.php:696
486
  msgid "Custom Font Size"
487
  msgstr "Kişisel Font Boyutu"
488
 
489
  # @ crayon-syntax-highlighter
490
+ #: ../crayon_settings_wp.class.php:701
491
  #, php-format
492
  msgid "The selected font with id %s could not be loaded"
493
  msgstr "ID %s ile seçilen font yüklenemedi"
494
 
495
  # @ crayon-syntax-highlighter
496
+ #: ../crayon_settings_wp.class.php:707
497
  msgid "Enqueue fonts in the header (more efficient)."
498
  msgstr "Fontları header içinde kuyrukla (daha etkin)."
499
 
500
  # @ crayon-syntax-highlighter
501
+ #: ../crayon_settings_wp.class.php:712
502
  msgid "Enable plain code view and display"
503
  msgstr "Düz kod görünümü ve görüntüleme etkin"
504
 
505
  # @ crayon-syntax-highlighter
506
+ #: ../crayon_settings_wp.class.php:715
507
  msgid "Enable plain code toggling"
508
  msgstr "Düz kod geçişi etkin"
509
 
510
  # @ crayon-syntax-highlighter
511
+ #: ../crayon_settings_wp.class.php:716
512
  msgid "Show the plain code by default"
513
  msgstr "Düz kodu varsayılan olarak göster"
514
 
515
  # @ crayon-syntax-highlighter
516
+ #: ../crayon_settings_wp.class.php:717
517
  msgid "Enable code copy/paste"
518
  msgstr "Kod kopyala/yapıştır etkin"
519
 
520
  # @ crayon-syntax-highlighter
521
+ #: ../crayon_settings_wp.class.php:719
522
  msgid "Enable opening code in a window"
523
  msgstr "Kodları bir pencerede açma etkin"
524
 
525
  # @ crayon-syntax-highlighter
526
+ #: ../crayon_settings_wp.class.php:720
527
  msgid "Always display scrollbars"
528
  msgstr "Kaydırma çubuğu her zaman göster"
529
 
530
  # @ crayon-syntax-highlighter
531
+ #: ../crayon_settings_wp.class.php:723
 
 
 
 
 
532
  msgid "Decode HTML entities in code"
533
  msgstr "HTML varlıkları kod içinde çöz"
534
 
535
  # @ crayon-syntax-highlighter
536
+ #: ../crayon_settings_wp.class.php:725
537
  msgid "Decode HTML entities in attributes"
538
  msgstr "HTML varlıkları nitelikler içinde çöz"
539
 
540
  # @ crayon-syntax-highlighter
541
+ #: ../crayon_settings_wp.class.php:727
542
  msgid "Remove whitespace surrounding the shortcode content"
543
  msgstr "Kısakod içeriğini çevreleyen beyaz alanları kaldır"
544
 
545
  # @ crayon-syntax-highlighter
546
+ #: ../crayon_settings_wp.class.php:729
547
  msgid "Allow Mixed Language Highlighting with delimiters and tags."
548
  msgstr "Sınırlayıcılar ve etiketler ile Karışık Dil Vurgulamaya izin ver."
549
 
550
  # @ crayon-syntax-highlighter
551
+ #: ../crayon_settings_wp.class.php:731
552
  msgid "Show Mixed Language Icon (+)"
553
  msgstr "Karışık Dil Simgesini Göster (+)"
554
 
555
  # @ crayon-syntax-highlighter
556
+ #: ../crayon_settings_wp.class.php:733
557
+ msgid "Tab size in spaces"
558
+ msgstr "Boşluk sekme boyutu"
559
+
560
+ #: ../crayon_settings_wp.class.php:735
561
+ msgid "Blank lines before code:"
562
+ msgstr "Kod öncesi boş satırlar:"
563
+
564
+ #: ../crayon_settings_wp.class.php:737
565
+ msgid "Blank lines after code:"
566
+ msgstr "Kod sonrası boş satırlar:"
567
+
568
+ # @ crayon-syntax-highlighter
569
+ #: ../crayon_settings_wp.class.php:742
570
  msgid "Capture Mini Tags like [php][/php] as Crayons."
571
  msgstr "Crayons olarak [php][/php] gibi küçük etiketleri yakala."
572
 
573
  # @ crayon-syntax-highlighter
574
+ #: ../crayon_settings_wp.class.php:743
575
  msgid "Capture Inline Tags like {php}{/php} inside sentences."
576
  msgstr "Cümle içinde {php}{/php} gibi satıriçi etiketleri yakalayın."
577
 
578
  # @ crayon-syntax-highlighter
579
+ #: ../crayon_settings_wp.class.php:744
580
  msgid "Wrap Inline Tags"
581
  msgstr "Satıriçi Etiketleri Sar"
582
 
583
  # @ crayon-syntax-highlighter
584
+ #: ../crayon_settings_wp.class.php:745
585
  msgid "Capture `backquotes` as &lt;code&gt;"
586
  msgstr "&lt;code&gt; olarak `backquotes` yakalayın"
587
 
588
  # @ crayon-syntax-highlighter
589
+ #: ../crayon_settings_wp.class.php:746
590
  msgid "Capture &lt;pre&gt; tags as Crayons"
591
  msgstr "&lt;pre&gt; etiketleri Crayons olarak yakala"
592
 
593
  # @ crayon-syntax-highlighter
594
+ #: ../crayon_settings_wp.class.php:747
595
  msgid "Enable [plain][/plain] tag."
596
  msgstr "[plain][/plain] etiketi etkin."
597
 
598
  # @ crayon-syntax-highlighter
599
+ #: ../crayon_settings_wp.class.php:752
600
+ msgid ""
601
+ "When loading local files and a relative path is given for the URL, use the "
602
+ "absolute path"
603
+ msgstr ""
604
+ "Yerel dosyalar yüklendiği ve URL için bağlantılı yol verildiğinde, kesin "
605
+ "yolu kullan"
606
 
607
  # @ crayon-syntax-highlighter
608
+ #: ../crayon_settings_wp.class.php:755
609
  msgid "Followed by your relative URL."
610
  msgstr "Bağlantılı URL tarafından izlendi."
611
 
612
+ #: ../crayon_settings_wp.class.php:762
613
+ msgid "Convert Legacy Tags"
614
+ msgstr "Eski Etiketleri Dönüştür"
615
+
616
+ #: ../crayon_settings_wp.class.php:765
617
+ msgid "No Legacy Tags Found"
618
+ msgstr "Eski Etiketler Bulunamadı"
619
+
620
+ #: ../crayon_settings_wp.class.php:769
621
+ msgid "Convert existing Crayon tags to Tag Editor format (&lt;pre&gt;)"
622
+ msgstr ""
623
+ "Mevcut Crayon etiketleri Etiket Düzenleyici biçimine dönüştür (&lt;pre&gt;)"
624
+
625
  # @ crayon-syntax-highlighter
626
+ #: ../crayon_settings_wp.class.php:770
627
  #, php-format
628
+ msgid ""
629
+ "Use %s to separate setting names from values in the &lt;pre&gt; class "
630
+ "attribute"
631
+ msgstr ""
632
+ "%s kullanarak &lt;pre&gt; sınıf niteliği içinde ayar adlarını değerlerden "
633
+ "ayır"
634
+
635
+ #: ../crayon_settings_wp.class.php:773
636
+ msgid "Display the Tag Editor in any TinyMCE instances on the frontend"
637
+ msgstr "Önyüzdeki herhangi bir TinyMCE örneğinde Etiket Düzenleyicisini göster"
638
+
639
+ #: ../crayon_settings_wp.class.php:774
640
+ msgid "Display Tag Editor settings on the frontend"
641
+ msgstr "Önyüzde Etiket Düzenleyici ayarlarını göster"
642
 
643
  # @ crayon-syntax-highlighter
644
+ #: ../crayon_settings_wp.class.php:778
645
  msgid "Clear the cache used to store remote code requests"
646
  msgstr "Uzak kod isteklerini depolamak için ön belleği temizle"
647
 
648
  # @ crayon-syntax-highlighter
649
+ #: ../crayon_settings_wp.class.php:780
650
  msgid "Clear Now"
651
  msgstr "Şimdi Temizle"
652
 
653
  # @ crayon-syntax-highlighter
654
+ #: ../crayon_settings_wp.class.php:781
655
  msgid "Attempt to load Crayon's CSS and JavaScript only when needed"
656
  msgstr "Sadece ihtiyaç olduğunda Crayon CSS ve JavaScript yüklemeyi dene"
657
 
658
  # @ crayon-syntax-highlighter
659
+ #: ../crayon_settings_wp.class.php:782
660
  msgid "Disable enqueuing for page templates that may contain The Loop."
661
  msgstr "Döngü içeren sayfa şablonları için kuyruklama devre dışı."
662
 
663
  # @ crayon-syntax-highlighter
664
+ #: ../crayon_settings_wp.class.php:783
665
  msgid "Allow Crayons inside comments"
666
  msgstr "Yorum içinde Crayons izini verin"
667
 
668
  # @ crayon-syntax-highlighter
669
+ #: ../crayon_settings_wp.class.php:784
670
  msgid "Remove Crayons from excerpts"
671
  msgstr "Crayon'ı alıntılardan çıkar"
672
 
673
  # @ crayon-syntax-highlighter
674
+ #: ../crayon_settings_wp.class.php:785
675
  msgid "Load Crayons only from the main Wordpress query"
676
  msgstr "Sadece ana Wordpress sorgusundan Crayons yükle"
677
 
678
  # @ crayon-syntax-highlighter
679
+ #: ../crayon_settings_wp.class.php:786
680
  msgid "Disable mouse gestures for touchscreen devices (eg. MouseOver)"
681
+ msgstr ""
682
+ "Dokunmatik cihazlar için fare hareketlerini devre dışı bırak (örn. Fare "
683
+ "Üzerinde)"
684
 
685
  # @ crayon-syntax-highlighter
686
+ #: ../crayon_settings_wp.class.php:787
687
  msgid "Disable animations"
688
  msgstr "Animasyonlar devre dışı"
689
 
690
  # @ crayon-syntax-highlighter
691
+ #: ../crayon_settings_wp.class.php:788
692
  msgid "Disable runtime stats"
693
  msgstr "İşlem istatistikleri devre dışı"
694
 
695
  # @ crayon-syntax-highlighter
696
+ #: ../crayon_settings_wp.class.php:794
697
  msgid "Log errors for individual Crayons"
698
  msgstr "Özgün Crayons hataları günlükle"
699
 
700
  # @ crayon-syntax-highlighter
701
+ #: ../crayon_settings_wp.class.php:795
702
  msgid "Log system-wide errors"
703
  msgstr "Sistem-geneli hataları günlükle"
704
 
705
  # @ crayon-syntax-highlighter
706
+ #: ../crayon_settings_wp.class.php:796
707
  msgid "Display custom message for errors"
708
  msgstr "Hatalar için kişisel mesaj göster"
709
 
710
  # @ crayon-syntax-highlighter
711
+ #: ../crayon_settings_wp.class.php:808
712
  msgid "Show Log"
713
  msgstr "Günlüğü Göster"
714
 
715
  # @ crayon-syntax-highlighter
716
+ #: ../crayon_settings_wp.class.php:808
717
  msgid "Hide Log"
718
  msgstr "Günlüğü Gizle"
719
 
720
  # @ crayon-syntax-highlighter
721
+ #: ../crayon_settings_wp.class.php:810
722
  msgid "Clear Log"
723
  msgstr "Günlüğü Temizle"
724
 
725
  # @ crayon-syntax-highlighter
726
+ #: ../crayon_settings_wp.class.php:811
727
  msgid "Email Admin"
728
  msgstr "Yönetici E-Posta"
729
 
730
  # @ crayon-syntax-highlighter
731
+ #: ../crayon_settings_wp.class.php:813
732
  msgid "Email Developer"
733
  msgstr "Geliştirici E-Posta"
734
 
735
  # @ crayon-syntax-highlighter
736
+ #: ../crayon_settings_wp.class.php:815
737
  msgid "The log is currently empty."
738
  msgstr "Günlük şu anda boş."
739
 
740
  # @ crayon-syntax-highlighter
741
+ #: ../crayon_settings_wp.class.php:817
742
  msgid "The log file exists and is writable."
743
  msgstr "Günlük dosyası var ve yazılabilir."
744
 
745
  # @ crayon-syntax-highlighter
746
+ #: ../crayon_settings_wp.class.php:817
747
  msgid "The log file exists and is not writable."
748
  msgstr "Günlük dosyası var ve yazılabilir değil."
749
 
750
  # @ crayon-syntax-highlighter
751
+ #: ../crayon_settings_wp.class.php:819
752
  msgid "The log file does not exist and is not writable."
753
  msgstr "Günlük dosyası yok ve yazılabilir değil."
754
 
755
  # @ crayon-syntax-highlighter
756
+ #: ../crayon_settings_wp.class.php:829
757
  msgid "Version"
758
  msgstr "Sürüm"
759
 
760
  # @ crayon-syntax-highlighter
761
+ #: ../crayon_settings_wp.class.php:831
762
  msgid "Developer"
763
  msgstr "Geliştirici"
764
 
765
  # @ crayon-syntax-highlighter
766
+ #: ../crayon_settings_wp.class.php:832
767
  msgid "Translators"
768
  msgstr "Çevirmenler"
769
 
770
  # @ crayon-syntax-highlighter
771
+ #: ../crayon_settings_wp.class.php:858
772
+ msgid ""
773
+ "The result of innumerable hours of hard work over many months. It's an "
774
+ "ongoing project, keep me motivated!"
775
+ msgstr ""
776
+ "Aylar boyu sıkı çalışma ve sayısız saatlerin sonucudur. Bu devam eden bir "
777
+ "projedir, motivasyonumu arttırın!"
778
+
779
+ # @ crayon-syntax-highlighter
780
+ #: ../crayon_settings_wp.class.php:872
781
+ #: ../util/theme-editor/theme_editor_content.php:27
782
+ msgid "Theme Editor"
783
+ msgstr "Tema Düzenleyici"
784
 
785
  # @ crayon-syntax-highlighter
786
+ #: ../crayon_settings_wp.class.php:874
787
  msgid "Donate"
788
  msgstr "Bağış"
789
 
790
  # @ crayon-syntax-highlighter
791
+ #: ../util/tag-editor/crayon_tag_editor_wp.class.php:67
792
  msgid "Add Crayon Code"
793
  msgstr "Crayon Kod Ekle"
794
 
795
  # @ crayon-syntax-highlighter
796
+ #: ../util/tag-editor/crayon_tag_editor_wp.class.php:68
797
  msgid "Edit Crayon Code"
798
  msgstr "Crayon Kodu Düzenle"
799
 
800
  # @ crayon-syntax-highlighter
801
+ #: ../util/tag-editor/crayon_tag_editor_wp.class.php:69
802
  msgid "Add"
803
  msgstr "Ekle"
804
 
805
  # @ crayon-syntax-highlighter
806
+ #: ../util/tag-editor/crayon_tag_editor_wp.class.php:70
807
  msgid "Save"
808
  msgstr "Kaydet"
809
 
810
  # @ crayon-syntax-highlighter
811
+ #: ../util/tag-editor/crayon_te_content.php:76
812
  msgid "Title"
813
  msgstr "Başlık"
814
 
815
  # @ crayon-syntax-highlighter
816
+ #: ../util/tag-editor/crayon_te_content.php:78
817
  msgid "A short description"
818
+ msgstr "Kısa açıklama"
819
 
820
  # @ crayon-syntax-highlighter
821
+ #: ../util/tag-editor/crayon_te_content.php:81
822
  msgid "Inline"
823
  msgstr "Satıriçi"
824
 
825
  # @ crayon-syntax-highlighter
826
+ #: ../util/tag-editor/crayon_te_content.php:85
827
+ msgid "Don't Highlight"
828
+ msgstr "Vurgulama"
829
+
830
+ # @ crayon-syntax-highlighter
831
+ #: ../util/tag-editor/crayon_te_content.php:90
832
  msgid "Language"
833
  msgstr "Dil"
834
 
835
+ #: ../util/tag-editor/crayon_te_content.php:93
836
+ msgid "Line Range"
837
+ msgstr "Satır Aralığı"
838
+
839
  # @ crayon-syntax-highlighter
840
+ #: ../util/tag-editor/crayon_te_content.php:94
841
+ #, fuzzy
842
+ msgid "(e.g. 3-5 or 3)"
843
+ msgstr "(örn. 1,2,3-5)"
844
+
845
+ # @ crayon-syntax-highlighter
846
+ #: ../util/tag-editor/crayon_te_content.php:95
847
  msgid "Marked Lines"
848
  msgstr "İşaretli Satırlar"
849
 
850
  # @ crayon-syntax-highlighter
851
+ #: ../util/tag-editor/crayon_te_content.php:96
852
  msgid "(e.g. 1,2,3-5)"
853
+ msgstr "(örn. 1,2,3-5)"
 
 
 
 
 
854
 
855
  # @ crayon-syntax-highlighter
856
+ #: ../util/tag-editor/crayon_te_content.php:100
857
  msgid "Clear"
858
  msgstr "Temizle"
859
 
860
  # @ crayon-syntax-highlighter
861
+ #: ../util/tag-editor/crayon_te_content.php:101
862
  msgid "Paste your code here, or type it in manually."
863
  msgstr "Kodu buraya yapıştır, ya da onu el ile yaz."
864
 
865
  # @ crayon-syntax-highlighter
866
+ #: ../util/tag-editor/crayon_te_content.php:104
867
  msgid "URL"
868
+ msgstr "URL"
869
 
870
  # @ crayon-syntax-highlighter
871
+ #: ../util/tag-editor/crayon_te_content.php:106
872
  msgid "Relative local path or absolute URL"
873
+ msgstr "İlgili yerel yol veya tam URL"
874
 
875
  # @ crayon-syntax-highlighter
876
+ #: ../util/tag-editor/crayon_te_content.php:109
877
+ msgid ""
878
+ "If the URL fails to load, the code above will be shown instead. If no code "
879
+ "exists, an error is shown."
880
  msgstr ""
881
+ "Eğer URL yükleme başarısız olursa, üstteki kod onun yerine gösterilir. Eğer "
882
+ "herhangi bir kod yoksa, bir hata görünür."
883
 
884
  # @ crayon-syntax-highlighter
885
+ #: ../util/tag-editor/crayon_te_content.php:111
886
  #, php-format
887
+ msgid ""
888
+ "If a relative local path is given it will be appended to %s - which is "
889
+ "defined in %sCrayon &gt; Settings &gt; Files%s."
890
  msgstr ""
891
+ "Eğer bir yerel yol verilirse, o %s içine eklenecektir - %sCrayon &gt; "
892
+ "Ayarlar &gt; Dosyalar%s içinde belirtildiği gibi."
893
 
894
  # @ crayon-syntax-highlighter
895
+ #: ../util/tag-editor/crayon_te_content.php:135
896
  msgid "Change the following settings to override their global values."
897
  msgstr "Genel değerleri geçersiz kılmak için aşağıdaki ayarları değiştirin."
898
 
899
  # @ crayon-syntax-highlighter
900
+ #: ../util/tag-editor/crayon_te_content.php:137
901
  msgid "Only changes (shown yellow) are applied."
902
  msgstr "Sadece değişiklikler (sarı ile gösterilir) uygulanır."
903
 
904
  # @ crayon-syntax-highlighter
905
+ #: ../util/tag-editor/crayon_te_content.php:139
906
  #, php-format
907
+ msgid ""
908
+ "Future changes to the global settings under %sCrayon &gt; Settings%s won't "
909
+ "affect overridden settings."
910
  msgstr ""
911
+ "%sCrayon &gt; Ayarlar%s altındaki genel ayarların gelecek değişiklikleri, "
912
+ "geçersiz ayarları etkilemez."
913
+
914
+ #: ../util/theme-editor/theme_editor_content.php:32
915
+ #, php-format
916
+ msgid "Editing \"%s\" Theme"
917
+ msgstr "\"%s\" Teması Düzenleme"
918
+
919
+ #: ../util/theme-editor/theme_editor_content.php:34
920
+ #, php-format
921
+ msgid "Creating Theme From \"%s\""
922
+ msgstr "\"%s\" İçinden Tema Oluştur"
923
 
924
  # @ crayon-syntax-highlighter
925
+ #: ../util/theme-editor/theme_editor_content.php:39
926
  msgid "Back To Settings"
927
  msgstr "Ayarlara Geri Dön"
 
util/ajax.php CHANGED
@@ -1,22 +1,20 @@
1
  <?php
2
 
 
 
3
  // Used to send requests to db from jQuery
4
 
5
- require_once(dirname(dirname(__FILE__)) . '/crayon_wp.class.php');
6
- require_once(CrayonSettingsWP::wp_load_path());
7
 
8
  CrayonSettingsWP::load_settings(true);
9
- //echo json_encode(CrayonGlobalSettings::get());
10
-
11
- $allowed = array(CrayonSettings::HIDE_HELP, CrayonSettings::TINYMCE_USED);
12
 
13
- //var_dump($_GET);
14
 
15
  foreach ($allowed as $allow) {
16
  if ( array_key_exists($allow, $_GET) ) {
17
  CrayonGlobalSettings::set($allow, $_GET[$allow]);
18
  CrayonSettingsWP::save_settings();
19
- }
20
  }
21
 
22
- ?>
1
  <?php
2
 
3
+ // Depreciated since 1.14
4
+
5
  // Used to send requests to db from jQuery
6
 
7
+ require_once('../crayon_wp.class.php');
 
8
 
9
  CrayonSettingsWP::load_settings(true);
 
 
 
10
 
11
+ $allowed = array(CrayonSettings::HIDE_HELP);
12
 
13
  foreach ($allowed as $allow) {
14
  if ( array_key_exists($allow, $_GET) ) {
15
  CrayonGlobalSettings::set($allow, $_GET[$allow]);
16
  CrayonSettingsWP::save_settings();
17
+ }
18
  }
19
 
20
+ ?>
util/crayon_log.class.php CHANGED
@@ -64,7 +64,7 @@ class CrayonLog {
64
 
65
  public static function syslog($var = NULL, $title = '', $trim_url = TRUE) {
66
  if (CrayonGlobalSettings::val(CrayonSettings::ERROR_LOG_SYS)) {
67
- $title = (empty($title)) ? 'SYSTEM ERROR' : $title;
68
  self::log($var, $title, $trim_url);
69
  }
70
  }
64
 
65
  public static function syslog($var = NULL, $title = '', $trim_url = TRUE) {
66
  if (CrayonGlobalSettings::val(CrayonSettings::ERROR_LOG_SYS)) {
67
+ $title = (empty($title)) ? 'SYSTEM LOG' : $title;
68
  self::log($var, $title, $trim_url);
69
  }
70
  }
util/crayon_util.class.php CHANGED
@@ -2,6 +2,7 @@
2
 
3
  /* Common utility functions mainly for formatting, parsing etc. */
4
  class CrayonUtil {
 
5
  // Used to detect touchscreen devices
6
  private static $touchscreen = NULL;
7
 
@@ -138,6 +139,20 @@ class CrayonUtil {
138
  }
139
  return FALSE;
140
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
141
 
142
  // Sets a variable to a string if valid
143
  public static function str(&$var, $str, $escape = TRUE) {
@@ -148,6 +163,7 @@ class CrayonUtil {
148
  return FALSE;
149
  }
150
 
 
151
  public static function htmlentities($str) {
152
  return htmlentities($str, ENT_COMPAT, 'UTF-8');
153
  }
@@ -156,6 +172,7 @@ class CrayonUtil {
156
  return html_entity_decode($str, ENT_NOQUOTES, 'UTF-8');
157
  }
158
 
 
159
  public static function htmlspecialchars($str) {
160
  return htmlspecialchars($str, ENT_NOQUOTES, 'UTF-8');
161
  }
@@ -178,6 +195,16 @@ class CrayonUtil {
178
  return FALSE;
179
  }
180
 
 
 
 
 
 
 
 
 
 
 
181
  // Thanks, http://www.php.net/manual/en/function.str-replace.php#102186
182
  function str_replace_once($str_pattern, $str_replacement, $string){
183
  if (strpos($string, $str_pattern) !== FALSE){
@@ -241,6 +268,11 @@ class CrayonUtil {
241
  public static function esc_atomic($regex) {
242
  return preg_replace('#(?<!\\\\)\((?!\?)#', '(?:', $regex);
243
  }
 
 
 
 
 
244
 
245
  // Removes crayon plugin path from absolute path
246
  public static function path_rel($url) {
@@ -462,5 +494,23 @@ class CrayonUtil {
462
  $str = str_replace($wp_entities, $wp_replace, $str);
463
  return $str;
464
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
465
  }
466
  ?>
2
 
3
  /* Common utility functions mainly for formatting, parsing etc. */
4
  class CrayonUtil {
5
+
6
  // Used to detect touchscreen devices
7
  private static $touchscreen = NULL;
8
 
139
  }
140
  return FALSE;
141
  }
142
+
143
+ // Creates an array out of a single range string (e.i "x-y")
144
+ public static function range_str_single($str) {
145
+ $match = preg_match('#(\d+)(?:\s*-\s*(\d+))?#', $str, $matches);
146
+ if ($match > 0) {
147
+ if (empty($matches[2])) {
148
+ $matches[2] = $matches[1];
149
+ }
150
+ if ($matches[1] <= $matches[2]) {
151
+ return array($matches[1], $matches[2]);
152
+ }
153
+ }
154
+ return FALSE;
155
+ }
156
 
157
  // Sets a variable to a string if valid
158
  public static function str(&$var, $str, $escape = TRUE) {
163
  return FALSE;
164
  }
165
 
166
+ // Converts all special charactres to entities
167
  public static function htmlentities($str) {
168
  return htmlentities($str, ENT_COMPAT, 'UTF-8');
169
  }
172
  return html_entity_decode($str, ENT_NOQUOTES, 'UTF-8');
173
  }
174
 
175
+ // Converts <, >, & into entities
176
  public static function htmlspecialchars($str) {
177
  return htmlspecialchars($str, ENT_NOQUOTES, 'UTF-8');
178
  }
195
  return FALSE;
196
  }
197
 
198
+ // Sets a variable to an array if valid
199
+ public static function set_array($var, $array, $false = FALSE) {
200
+ return isset($array[$var]) ? $array[$var] : $false;
201
+ }
202
+
203
+ // Sets a variable to null if not set
204
+ public static function set_var(&$var, $false = NULL) {
205
+ $var = isset($var) ? $var : $false;
206
+ }
207
+
208
  // Thanks, http://www.php.net/manual/en/function.str-replace.php#102186
209
  function str_replace_once($str_pattern, $str_replacement, $string){
210
  if (strpos($string, $str_pattern) !== FALSE){
268
  public static function esc_atomic($regex) {
269
  return preg_replace('#(?<!\\\\)\((?!\?)#', '(?:', $regex);
270
  }
271
+
272
+ // Returns the current HTTP URL
273
+ public static function current_url() {
274
+ return "http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
275
+ }
276
 
277
  // Removes crayon plugin path from absolute path
278
  public static function path_rel($url) {
494
  $str = str_replace($wp_entities, $wp_replace, $str);
495
  return $str;
496
  }
497
+
498
+ // Constructs an html element
499
+ // If $content = FALSE, then element is closed
500
+ public static function html_element($name, $content = NULL, $attributes = array()) {
501
+ $atts = self::html_attributes($attributes);
502
+ $tag = "<$name $atts";
503
+ $tag .= $content === FALSE ? '/>' : ">$content</$name>";
504
+ return $tag;
505
+ }
506
+
507
+ public static function html_attributes($attributes, $assign = '=', $quote = '"', $glue = ' ') {
508
+ $atts = '';
509
+ foreach ($attributes as $k=>$v) {
510
+ $atts .= $k.$assign.$quote.$v.$quote.$glue;
511
+ }
512
+ return $atts;
513
+ }
514
+
515
  }
516
  ?>
util/help.htm CHANGED
@@ -13,7 +13,7 @@
13
  </tr>
14
  <tr>
15
  <td width="20">url</td>
16
- <td width="60%">Load a file from the web or a local path. You give a relative local path instead of absolute (see <a href="#files">Files</a>). You can use a closed tag when giving a url: <code>[crayon url="java/code.java" /]</code>. For languages with defined extensions (see <a href="#langs" onclick="show_langs('http://localhost/crayon/wp-content/plugins/crayon/util/list_langs.php');">Languages</a>) you don't even need to provide the <code>lang</code> attribute, as this will be detected if your file ends with it, as in the example.</td>
17
  <td width="30%">
18
  <code>url="http://example.com/code.java&quot;</code><br />
19
  <code>url="java/code.java&quot;</code></td>
13
  </tr>
14
  <tr>
15
  <td width="20">url</td>
16
+ <td width="60%">Load a file from the web or a local path. You give a relative local path instead of absolute (see <a href="#files">Files</a>). You can use a closed tag when giving a url: <code>[crayon url="java/code.java" /]</code>. For languages with defined extensions (see <a href="#langs">Languages</a>) you don't even need to provide the <code>lang</code> attribute, as this will be detected if your file ends with it, as in the example.</td>
17
  <td width="30%">
18
  <code>url="http://example.com/code.java&quot;</code><br />
19
  <code>url="java/code.java&quot;</code></td>
util/list_langs.php CHANGED
@@ -1,4 +1,7 @@
1
  <?php
 
 
 
2
  require_once (dirname(dirname(__FILE__)) . '/global.php');
3
  require_once (CRAYON_PARSER_PHP);
4
  if (($langs = CrayonParser::parse_all()) != FALSE) {
1
  <?php
2
+
3
+ // Depreciated since 1.14
4
+
5
  require_once (dirname(dirname(__FILE__)) . '/global.php');
6
  require_once (CRAYON_PARSER_PHP);
7
  if (($langs = CrayonParser::parse_all()) != FALSE) {
util/list_posts.php ADDED
@@ -0,0 +1,27 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ // Depreciated since 1.14
4
+
5
+ require_once('../crayon_wp.class.php');
6
+
7
+ $posts = CrayonSettingsWP::load_posts();
8
+ arsort($posts);
9
+
10
+ echo '<table class="crayon-table" cellspacing="0" cellpadding="0"><tr class="crayon-table-header">',
11
+ '<td>ID</td><td>Title</td><td>Posted</td><td>Modified</td></tr>';
12
+
13
+ for ($i = 0; $i < count($posts); $i++) {
14
+ $postID = $posts[$i];
15
+ $post = get_post($postID);
16
+ $tr = ($i == count($posts) - 1) ? 'crayon-table-last' : '';
17
+ echo '<tr class="', $tr, '">',
18
+ '<td>', $postID, '</td>',
19
+ '<td><a href="', $post->guid ,'" target="_blank">', $post->post_title, '</a></td>',
20
+ '<td>', $post->post_date, '</td>',
21
+ '<td>', $post->post_modified, '</td>',
22
+ '</tr>';
23
+ }
24
+
25
+ echo '</table>';
26
+
27
+ ?>
util/preview.php CHANGED
@@ -1,7 +1,8 @@
1
  <?php
2
 
3
- require_once (dirname(dirname(__FILE__)) . '/crayon_wp.class.php');
4
- require_once (CrayonWP::wp_load_path());
 
5
 
6
  echo '<link rel="stylesheet" href="', plugins_url(CRAYON_STYLE, dirname(__FILE__)),
7
  '?ver=', $CRAYON_VERSION, '" type="text/css" media="all" />';
1
  <?php
2
 
3
+ // Depreciated since 1.14
4
+
5
+ require_once('../crayon_wp.class.php');
6
 
7
  echo '<link rel="stylesheet" href="', plugins_url(CRAYON_STYLE, dirname(__FILE__)),
8
  '?ver=', $CRAYON_VERSION, '" type="text/css" media="all" />';
util/sample/diff.txt ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
1
+ *** testing ***
2
+ It is important to spell
3
+ --- testing ---
4
+ -check this dokument. On
5
+ +check this document. On
6
+ the other hand, a
7
+ ! misspelled word isn't
8
+ the end of the world.
9
+ @@ -22,3 +22,7 @@
util/sample/erlang.txt ADDED
@@ -0,0 +1,12 @@
 
 
 
 
 
 
 
 
 
 
 
 
1
+ %% qsort:qsort(List)
2
+ %% Sort a list of items
3
+ -module(qsort). % This is the file 'qsort.erl'
4
+ -export([qsort/1]). % A function 'qsort' with 1 parameter is exported (no type, no name)
5
+
6
+ qsort([]) -> []; % If the list [] is empty, return an empty list (nothing to sort)
7
+ qsort([Pivot|Rest]) ->
8
+ % Compose recursively a list with 'Front' for all elements that should be before 'Pivot'
9
+ % then 'Pivot' then 'Back' for all elements that should be after 'Pivot'
10
+ qsort([Front || Front <- Rest, Front < Pivot])
11
+ ++ [Pivot] ++
12
+ qsort([Back || Back <- Rest, Back >= Pivot]).
util/sample/go.txt ADDED
@@ -0,0 +1,11 @@
 
 
 
 
 
 
 
 
 
 
 
1
+ package geometry
2
+ import "math"
3
+ // Test functions
4
+ func add(a, b int) int { return a + b }
5
+ func (self *Point) Scale(factor float64) {
6
+ self.setX(self.x * factor)
7
+ self.setY(self.y * factor)
8
+ }
9
+ type Writer interface {
10
+ Write(p []byte) (n int, err os.Error)
11
+ }
util/sample/reg.txt ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
1
+ Windows Registry Editor Version 5.00
2
+ [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft]
3
+ "Value A"="<String value data>"
4
+ "Value B"=hex:<Binary data (as comma-delimited list of hexadecimal values)>
5
+ "Value C"=dword:<DWORD value integer>
6
+ "Value D"=hex(7):<Multi-string value data (as comma-delimited list of hexadecimal values)>
7
+ "Value E"=hex(2):<Expandable string value data (as comma-delimited list of hexadecimal values)>
util/sample/tsql.txt ADDED
@@ -0,0 +1,4 @@
 
 
 
 
1
+ IF DATEPART(dw, GETDATE()) = 7 OR DATEPART(dw, GETDATE()) = 1
2
+ PRINT 'It is the weekend.'
3
+ ELSE
4
+ PRINT 'It is a weekday.'
util/scraper/file_concat.py ADDED
@@ -0,0 +1,21 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import sys
2
+
3
+ '''
4
+ Concatenates all arguments together, assuming they are files, into the last argument file.
5
+ '''
6
+
7
+ if len(sys.argv) < 4:
8
+ print "Usage: file_concat.py <inputfile1>, <inputfile2>, ... <outputfile>"
9
+ exit()
10
+ else:
11
+ ins = sys.argv[1:-1]
12
+ out = sys.argv[-1]
13
+ outfile = open(out, 'w')
14
+
15
+ all_lines = []
16
+ for i in ins:
17
+ f = open(i, 'r')
18
+ lines = [x.strip() for x in f.readlines()]
19
+ all_lines += lines
20
+
21
+ outfile.write('\n'.join(all_lines))
util/scraper/keyword_join.py ADDED
@@ -0,0 +1,26 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import sys
2
+ import keyword_scraper
3
+
4
+ '''
5
+ Invokes keyword_scraper to sort a file of keywords
6
+
7
+ Example:
8
+
9
+ $ python keyword_scraper_tool.py geshi_lang_file.php somedir
10
+ '''
11
+
12
+ if len(sys.argv) < 2:
13
+ print "Usage: keyword_scraper_tool <inputfile> <outputfile>"
14
+ exit()
15
+ else:
16
+ infile_ = sys.argv[1]
17
+ outfile_ = sys.argv[2] if len(sys.argv) >= 3 else None
18
+
19
+ infile = open(infile_, 'r')
20
+ keywords = [x.strip() for x in infile.readlines()]
21
+ keywords.sort(keyword_scraper.cmp_keywords)
22
+
23
+ if outfile_:
24
+ outfile = open(outfile_, 'w')
25
+ outfile.write('\n'.join(keywords))
26
+
util/scraper/keyword_scraper.py ADDED
@@ -0,0 +1,73 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import re
2
+ import os
3
+
4
+ def cmp_keywords(x,y):
5
+ '''
6
+ Sorts keywords by length, and then alphabetically
7
+ '''
8
+ if len(x) < len(y):
9
+ return 1
10
+ elif len(x) == len(y):
11
+ # Sort alphabetically
12
+ if x == y:
13
+ return 0
14
+ elif x < y:
15
+ return -1
16
+ else:
17
+ return 1
18
+ else:
19
+ return -1
20
+
21
+ def keywords(infile, outdir):
22
+ '''
23
+ Scrapes comma separated keywords out of a file and sorts them in descending order of length.
24
+ It is assumed a keyword is surrounded in quotes ('' or ""), are grouped by commas and separated by line breaks.
25
+ The output is then printed and each group is written in text files in the given directory
26
+
27
+ An example use case for this is scraping keywords out of GeSHi language files:
28
+
29
+ >>> keywords('geshi_lang_file.php', 'somedir')
30
+
31
+ '''
32
+ if outdir and not os.path.exists(outdir):
33
+ os.makedirs(outdir)
34
+
35
+ f = open(infile, 'r')
36
+ fs = f.read()
37
+ fs = re.sub(r"(//.*?[\r\n])|(/\*.*?\*/)", '', fs)
38
+
39
+ matches = re.findall(r"(?:(?:'[^']+'|\"[^\"]+\")(?:[ \t]*[\r\n]?[ \t]*,[ \t]*[\r\n]?[ \t]*)?(?!\s*=>)){2,}", fs, flags=re.I | re.M | re.S)
40
+ output = ''
41
+ group = 0
42
+ for i in matches:
43
+ match = re.findall(r"'([^']+)'", i, flags=re.I | re.M | re.S)
44
+ match.sort(cmp=cmp_keywords)
45
+ suboutput = ''
46
+ for m in match:
47
+ m = m.strip()
48
+ if len(m) > 0:
49
+ suboutput += m + '\n'
50
+ suboutput += '\n'
51
+ if outdir:
52
+ w = open(outdir + '/' + str(group) + '.txt' , 'w')
53
+ w.write(suboutput)
54
+ output += suboutput
55
+ group += 1;
56
+
57
+ print output
58
+
59
+ exit()
60
+ matches = re.findall(r"(['\"])(.*?)\1", fs, re.I | re.M | re.S)
61
+ output = ''
62
+ if len(matches):
63
+ for m in matches:
64
+ s = m[1].strip()
65
+ if len(s) > 0:
66
+ output += s + '\n'
67
+ f.close()
68
+ print output
69
+ if w:
70
+ w.write(output)
71
+ w.close()
72
+
73
+
util/scraper/keyword_scraper_tool.py ADDED
@@ -0,0 +1,18 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import sys
2
+ import keyword_scraper
3
+
4
+ '''
5
+ Invokes keyword_scraper over command line
6
+
7
+ Example:
8
+
9
+ $ python keyword_scraper_tool.py geshi_lang_file.php somedir
10
+ '''
11
+
12
+ if len(sys.argv) < 2:
13
+ print "Usage: keyword_scraper_tool <inputfile> [directory]"
14
+ exit()
15
+ else:
16
+ infile = sys.argv[1]
17
+ outdir = sys.argv[2] if len(sys.argv) >= 3 else None
18
+ keyword_scraper.keywords(infile, outdir)
util/tag-editor/crayon_qt.js CHANGED
@@ -1,27 +1,33 @@
1
- var CrayonQuickTags = function() {
2
-
3
- jQuery(function() {CrayonTagEditor.loadDialog(); });
4
-
5
- QTags.addButton( 'crayon_quicktag', 'crayon', function() {
6
- CrayonTagEditor.showDialog(
7
- function(shortcode) {
8
- QTags.insertContent(shortcode);
9
- },
10
- function(shortcode) {/* Can't edit */}, 'html', null, null, null, 'encode');
11
- jQuery('#qt_content_crayon_quicktag').removeClass('qt_crayon_highlight');
12
- });
13
 
14
- var qt_crayon;
15
- var find_qt_crayon = setInterval(function() {
16
- qt_crayon = jQuery('#qt_content_crayon_quicktag');
17
- if (typeof qt_crayon != 'undefined') {
18
- if (!CrayonTagEditorSettings.used) {
19
- qt_crayon.addClass('qt_crayon_highlight');
 
 
 
 
 
 
 
 
 
 
 
 
 
20
  }
21
- clearInterval(find_qt_crayon);
22
- }
23
- }, 100);
24
-
25
- };
 
 
26
 
27
- CrayonQuickTags();
1
+ (function($) {
2
+
3
+ window.CrayonQuickTags = function() {
 
 
 
 
 
 
 
 
 
4
 
5
+ var base = this;
6
+
7
+ base.sel = '*[id*="crayon_quicktag"],*[class*="crayon_quicktag"]';
8
+ CrayonTagEditor.init(base.sel);
9
+
10
+ QTags.addButton( 'crayon_quicktag', 'crayon', function() {
11
+ CrayonTagEditor.showDialog(
12
+ function(shortcode) {
13
+ QTags.insertContent(shortcode);
14
+ },
15
+ function(shortcode) {/* Can't edit */}, null, CrayonTagEditor.hide, 'html', null, null, null, 'encode');
16
+ jQuery(base.sel).removeClass('qt_crayon_highlight');
17
+ });
18
+
19
+ var qt_crayon;
20
+ var find_qt_crayon = setInterval(function() {
21
+ qt_crayon = jQuery(base.sel).first();
22
+ if (typeof qt_crayon != 'undefined') {
23
+ clearInterval(find_qt_crayon);
24
  }
25
+ }, 100);
26
+
27
+ };
28
+
29
+ $(document).ready(function() {
30
+ CrayonQuickTags();
31
+ });
32
 
33
+ })(jQueryCrayon);
util/tag-editor/crayon_tag_editor_wp.class.php CHANGED
@@ -1,55 +1,61 @@
1
  <?php
2
 
3
  require_once (CRAYON_ROOT_PATH . 'crayon_settings_wp.class.php');
4
- //require_once (CRAYON_UTIL_PHP);
5
 
6
  class CrayonTagEditorWP {
7
 
8
  public static $settings = null;
9
-
10
  public static function init() {
11
  // Hooks
12
  if (CRAYON_TAG_EDITOR) {
13
- self::addbuttons();
14
- // TODO this fails!
15
- add_action('admin_print_scripts-post-new.php', 'CrayonTagEditorWP::admin_scripts');
16
- add_action('admin_print_scripts-post.php', 'CrayonTagEditorWP::admin_scripts');
17
- add_filter('tiny_mce_before_init', 'CrayonTagEditorWP::init_tinymce');
18
- // Must come after
19
- add_action("admin_print_scripts-post-new.php", 'CrayonSettingsWP::init_js_settings');
20
- add_action("admin_print_scripts-post.php", 'CrayonSettingsWP::init_js_settings');
 
 
 
 
 
 
 
 
 
 
21
  }
22
  }
23
-
24
  public static function init_settings() {
25
-
26
  if (!self::$settings) {
27
  // Add settings
28
- CrayonSettingsWP::load_settings(TRUE);
29
  self::$settings = array(
30
- 'url' => plugins_url(CRAYON_TE_CONTENT_PHP, __FILE__),
31
  'home_url' => home_url(),
32
  'css' => 'crayon-te',
33
- 'used' => CrayonGlobalSettings::val(CrayonSettings::TINYMCE_USED),
34
- 'used_setting' => CrayonSettings::TINYMCE_USED,
35
- 'ajax_url' => plugins_url(CRAYON_AJAX_PHP, dirname(dirname(__FILE__))),
36
  'css_selected' => 'crayon-selected',
37
  'code_css' => '#crayon-code',
38
  'url_css' => '#crayon-url',
39
- 'url_info_css' => '#crayon-te-url-info',
40
- // 'abs_home_path' => get_home_url(),
41
- // 'local_path' => CrayonGlobalSettings::val(CrayonSettings::LOCAL_PATH),
42
  'lang_css' => '#crayon-lang',
43
  'title_css' => '#crayon-title',
44
  'mark_css' => '#crayon-mark',
 
45
  'inline_css' => 'crayon-inline',
46
  'inline_hide_css' => 'crayon-hide-inline',
47
  'inline_hide_only_css' => 'crayon-hide-inline-only',
48
  'hl_css' => '#crayon-highlight',
49
  'switch_html' => '#content-html',
50
  'switch_tmce' => '#content-tmce',
51
- 'tinymce_button' => '#content_crayon_tinymce',
52
- 'submit_css' => 'crayon-te-submit',
 
 
 
53
  'submit_wrapper_css' => '#crayon-te-submit-wrapper',
54
  'data_value' => 'data-value',
55
  'attr_sep' => CrayonGlobalSettings::val_str(CrayonSettings::ATTR_SEP),
@@ -59,53 +65,211 @@ class CrayonTagEditorWP {
59
  'dialog_title_edit' => crayon__('Edit Crayon Code'),
60
  'submit_add' => crayon__('Add'),
61
  'submit_edit' => crayon__('Save'),
 
 
62
  'extensions' => CrayonResources::langs()->extensions_inverted()
63
  );
64
  }
65
  }
66
-
67
  public static function init_tinymce($init) {
68
  $init['extended_valid_elements'] .= ',pre[*],code[*],iframe[*]';
69
  return $init;
70
  }
71
-
72
  public static function addbuttons() {
73
- // Don't bother doing this stuff if the current user lacks permissions
74
- if ( ! current_user_can('edit_posts') && ! current_user_can('edit_pages') ) {
75
- return;
76
- }
77
-
78
  // Add only in Rich Editor mode
79
- if ( get_user_option('rich_editing') == 'true') {
80
- add_filter('mce_external_plugins', 'CrayonTagEditorWP::add_plugin');
81
- add_filter('mce_buttons', 'CrayonTagEditorWP::register_buttons');
82
- }
83
  }
84
-
85
- public static function admin_scripts() {
86
  global $CRAYON_VERSION;
87
  self::init_settings();
88
- wp_enqueue_script('crayon_util_js', plugins_url(CRAYON_JS_UTIL, dirname(dirname(__FILE__))), NULL, $CRAYON_VERSION);
 
 
 
 
 
 
89
  wp_enqueue_script('crayon_admin_js', plugins_url(CRAYON_JS_ADMIN, dirname(dirname(__FILE__))), array('jquery', 'crayon_util_js'), $CRAYON_VERSION);
90
- wp_enqueue_script('crayon_te_js', plugins_url(CRAYON_TE_JS, __FILE__), array('crayon_admin_js'), $CRAYON_VERSION);
91
  wp_enqueue_script('crayon_qt_js', plugins_url(CRAYON_QUICKTAGS_JS, __FILE__), array('quicktags','crayon_te_js'), $CRAYON_VERSION, TRUE);
92
  wp_localize_script('crayon_te_js', 'CrayonTagEditorSettings', self::$settings);
93
  }
94
-
95
  public static function register_buttons($buttons) {
96
  array_push($buttons, 'separator', 'crayon_tinymce');
97
  return $buttons;
98
  }
99
-
100
  // Load the TinyMCE plugin : editor_plugin.js (wp2.5)
101
  public static function add_plugin($plugin_array) {
102
  $plugin_array['crayon_tinymce'] = plugins_url(CRAYON_TINYMCE_JS, __FILE__);
103
  return $plugin_array;
104
  }
105
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
106
  }
107
 
108
- if (defined('ABSPATH') && is_admin()) {
109
  add_action('init', 'CrayonTagEditorWP::init');
110
  }
111
 
1
  <?php
2
 
3
  require_once (CRAYON_ROOT_PATH . 'crayon_settings_wp.class.php');
 
4
 
5
  class CrayonTagEditorWP {
6
 
7
  public static $settings = null;
8
+
9
  public static function init() {
10
  // Hooks
11
  if (CRAYON_TAG_EDITOR) {
12
+ CrayonSettingsWP::load_settings(TRUE);
13
+ if (is_admin()) {
14
+ // XXX Only runs in wp-admin
15
+ add_action('admin_print_scripts-post-new.php', 'CrayonTagEditorWP::enqueue_resources');
16
+ add_action('admin_print_scripts-post.php', 'CrayonTagEditorWP::enqueue_resources');
17
+ add_filter('tiny_mce_before_init', 'CrayonTagEditorWP::init_tinymce');
18
+ // Must come after
19
+ add_action("admin_print_scripts-post-new.php", 'CrayonSettingsWP::init_js_settings');
20
+ add_action("admin_print_scripts-post.php", 'CrayonSettingsWP::init_js_settings');
21
+ self::addbuttons();
22
+ } else if ( CrayonGlobalSettings::val(CrayonSettings::TAG_EDITOR_FRONT) ) {
23
+ // XXX This will always need to enqueue, but only runs on front end
24
+ add_action('wp', 'CrayonTagEditorWP::enqueue_resources');
25
+ add_filter('tiny_mce_before_init', 'CrayonTagEditorWP::init_tinymce');
26
+ // Must come after
27
+ add_action("wp", 'CrayonSettingsWP::init_js_settings');
28
+ self::addbuttons();
29
+ }
30
  }
31
  }
32
+
33
  public static function init_settings() {
34
+
35
  if (!self::$settings) {
36
  // Add settings
 
37
  self::$settings = array(
 
38
  'home_url' => home_url(),
39
  'css' => 'crayon-te',
 
 
 
40
  'css_selected' => 'crayon-selected',
41
  'code_css' => '#crayon-code',
42
  'url_css' => '#crayon-url',
43
+ 'url_info_css' => '#crayon-te-url-info',
 
 
44
  'lang_css' => '#crayon-lang',
45
  'title_css' => '#crayon-title',
46
  'mark_css' => '#crayon-mark',
47
+ 'range_css' => '#crayon-range',
48
  'inline_css' => 'crayon-inline',
49
  'inline_hide_css' => 'crayon-hide-inline',
50
  'inline_hide_only_css' => 'crayon-hide-inline-only',
51
  'hl_css' => '#crayon-highlight',
52
  'switch_html' => '#content-html',
53
  'switch_tmce' => '#content-tmce',
54
+ 'tinymce_button' => 'a.mce_crayon_tinymce',
55
+ 'submit_css' => '#crayon-te-ok',
56
+ 'cancel_css' => '#crayon-te-cancel',
57
+ 'content_css' => '#crayon-te-content',
58
+ 'dialog_title_css' => '#crayon-te-title',
59
  'submit_wrapper_css' => '#crayon-te-submit-wrapper',
60
  'data_value' => 'data-value',
61
  'attr_sep' => CrayonGlobalSettings::val_str(CrayonSettings::ATTR_SEP),
65
  'dialog_title_edit' => crayon__('Edit Crayon Code'),
66
  'submit_add' => crayon__('Add'),
67
  'submit_edit' => crayon__('Save'),
68
+ 'bar' => '#crayon-te-bar',
69
+ 'bar_content' => '#crayon-te-bar-content',
70
  'extensions' => CrayonResources::langs()->extensions_inverted()
71
  );
72
  }
73
  }
74
+
75
  public static function init_tinymce($init) {
76
  $init['extended_valid_elements'] .= ',pre[*],code[*],iframe[*]';
77
  return $init;
78
  }
79
+
80
  public static function addbuttons() {
 
 
 
 
 
81
  // Add only in Rich Editor mode
82
+ //if ( get_user_option('rich_editing') == 'true') {
83
+ add_filter('mce_external_plugins', 'CrayonTagEditorWP::add_plugin');
84
+ add_filter('mce_buttons', 'CrayonTagEditorWP::register_buttons');
 
85
  }
86
+
87
+ public static function enqueue_resources() {
88
  global $CRAYON_VERSION;
89
  self::init_settings();
90
+
91
+ if (!wp_script_is('fancybox', 'queue')) {
92
+ wp_enqueue_style('fancybox', plugins_url(CRAYON_CSS_FANCYBOX, dirname(dirname(__FILE__))), array(), $CRAYON_VERSION);
93
+ wp_enqueue_script('fancybox', plugins_url(CRAYON_JS_FANCYBOX, dirname(dirname(__FILE__))), array('jquery'), $CRAYON_VERSION);
94
+ }
95
+
96
+ wp_enqueue_script('crayon_util_js', plugins_url(CRAYON_JS_UTIL, dirname(dirname(__FILE__))), array('jquery'), $CRAYON_VERSION);
97
  wp_enqueue_script('crayon_admin_js', plugins_url(CRAYON_JS_ADMIN, dirname(dirname(__FILE__))), array('jquery', 'crayon_util_js'), $CRAYON_VERSION);
98
+ wp_enqueue_script('crayon_te_js', plugins_url(CRAYON_TE_JS, __FILE__), array('crayon_admin_js', 'fancybox'), $CRAYON_VERSION);
99
  wp_enqueue_script('crayon_qt_js', plugins_url(CRAYON_QUICKTAGS_JS, __FILE__), array('quicktags','crayon_te_js'), $CRAYON_VERSION, TRUE);
100
  wp_localize_script('crayon_te_js', 'CrayonTagEditorSettings', self::$settings);
101
  }
102
+
103
  public static function register_buttons($buttons) {
104
  array_push($buttons, 'separator', 'crayon_tinymce');
105
  return $buttons;
106
  }
107
+
108
  // Load the TinyMCE plugin : editor_plugin.js (wp2.5)
109
  public static function add_plugin($plugin_array) {
110
  $plugin_array['crayon_tinymce'] = plugins_url(CRAYON_TINYMCE_JS, __FILE__);
111
  return $plugin_array;
112
  }
113
+
114
+ // The remaining functions are for priting
115
+
116
+ public static function select_resource($id, $resources, $current, $set_class = TRUE) {
117
+ $id = CrayonSettings::PREFIX . $id;
118
+ if (count($resources) > 0) {
119
+ $class = $set_class ? 'class="'.CrayonSettings::SETTING.' '.CrayonSettings::SETTING_SPECIAL.'"' : '';
120
+ echo '<select id="'.$id.'" name="'.$id.'" '.$class.' '.CrayonSettings::SETTING_ORIG_VALUE.'="'.$current.'">';
121
+ foreach ($resources as $resource) {
122
+ $asterisk = $current == $resource->id() ? ' *' : '';
123
+ echo '<option value="'.$resource->id().'" '.selected($current, $resource->id()).' >'.$resource->name().$asterisk.'</option>';
124
+ }
125
+ echo '</select>';
126
+ } else {
127
+ // None found, default to text box
128
+ echo '<input type="text" id="'.$id.'" name="'.$id.'" class="'.CrayonSettings::SETTING.' '.CrayonSettings::SETTING_SPECIAL.'" />';
129
+ }
130
+ }
131
+
132
+ public static function checkbox($id) {
133
+ $id = CrayonSettings::PREFIX . $id;
134
+ echo '<input type="checkbox" id="'.$id.'" name="'.$id.'" class="'.CrayonSettings::SETTING.' '.CrayonSettings::SETTING_SPECIAL.'" />';
135
+ }
136
+
137
+ public static function textbox($id, $atts = array(), $set_class = TRUE) {
138
+ $id = CrayonSettings::PREFIX . $id;
139
+ $atts_str = '';
140
+ $class = $set_class ? 'class="'.CrayonSettings::SETTING.' '.CrayonSettings::SETTING_SPECIAL.'"' : '';
141
+ foreach ($atts as $k=>$v) {
142
+ $atts_str = $k.'="'.$v.'" ';
143
+ }
144
+ echo '<input type="text" id="'.$id.'" name="'.$id.'" '.$class.' '.$atts_str.' />';
145
+ }
146
+
147
+ public static function submit() {
148
+ ?>
149
+ <input type="button"
150
+ class="button-primary <?php echo CrayonTagEditorWP::$settings['submit_css']; ?>"
151
+ value="<?php echo CrayonTagEditorWP::$settings['submit_add']; ?>"
152
+ name="submit" />
153
+ <?php
154
+ }
155
+
156
+ public static function content() {
157
+
158
+ CrayonSettingsWP::load_settings();
159
+ $langs = CrayonParser::parse_all();
160
+ $curr_lang = CrayonGlobalSettings::val(CrayonSettings::FALLBACK_LANG);
161
+ $themes = CrayonResources::themes()->get();
162
+ $curr_theme = CrayonGlobalSettings::val(CrayonSettings::THEME);
163
+ $fonts = CrayonResources::fonts()->get();
164
+ $curr_font = CrayonGlobalSettings::val(CrayonSettings::FONT);
165
+ CrayonTagEditorWP::init_settings();
166
+
167
+ ?>
168
+
169
+ <div id="crayon-te-content" class="crayon-te">
170
+ <div id="crayon-te-bar">
171
+ <div id="crayon-te-bar-content">
172
+ <div id="crayon-te-title">Title</div>
173
+ <div id="crayon-te-controls">
174
+ <a id="crayon-te-ok" href="#">Ok</a> <span
175
+ class="crayon-te-seperator">|</span> <a id="crayon-te-cancel"
176
+ href="#">Cancel</a>
177
+ </div>
178
+ </div>
179
+ </div>
180
+
181
+ <table id="crayon-te-table" class="describe">
182
+ <tr class="crayon-tr-center">
183
+ <th><?php crayon_e('Title'); ?>
184
+ </th>
185
+ <td class="crayon-nowrap"><?php self::textbox('title', array('placeholder'=>crayon__('A short description'))); ?>
186
+ <span id="crayon-te-sub-section"> <?php self::checkbox('inline'); ?>
187
+ <span class="crayon-te-section"><?php crayon_e('Inline'); ?> </span>
188
+ </span> <span id="crayon-te-sub-section"> <?php self::checkbox('highlight'); ?>
189
+ <span class="crayon-te-section"><?php crayon_e("Don't Highlight"); ?>
190
+ </span>
191
+ </span></td>
192
+ </tr>
193
+ <tr class="crayon-tr-center">
194
+ <th><?php crayon_e('Language'); ?>
195
+ </th>
196
+ <td class="crayon-nowrap"><?php self::select_resource('lang', $langs, $curr_lang); ?>
197
+ <span class="crayon-te-section"><?php crayon_e('Line Range'); ?> </span>
198
+ <?php self::textbox('range', array('placeholder'=>crayon__('(e.g. 3-5 or 3)'))); ?>
199
+ <span class="crayon-te-section"><?php crayon_e('Marked Lines'); ?> </span>
200
+ <?php self::textbox('mark', array('placeholder'=>crayon__('(e.g. 1,2,3-5)'))); ?>
201
+ </td>
202
+ </tr>
203
+ <tr class="crayon-tr-center" style="text-align: center;">
204
+ <th><div>
205
+ <?php crayon_e('Code'); ?>
206
+ </div> <input type="button" id="crayon-te-clear"
207
+ class="secondary-primary" value="<?php crayon_e('Clear'); ?>"
208
+ name="clear" />
209
+ </th>
210
+ <td><textarea id="crayon-code" name="code"
211
+ placeholder="<?php crayon_e('Paste your code here, or type it in manually.'); ?>"></textarea>
212
+ </td>
213
+ </tr>
214
+ <tr class="crayon-tr-center">
215
+ <th id="crayon-url-th"><?php crayon_e('URL'); ?>
216
+ </th>
217
+ <td><?php self::textbox('url', array('placeholder'=>crayon__('Relative local path or absolute URL'))); ?>
218
+ <div id="crayon-te-url-info" class="crayon-te-info">
219
+ <?php
220
+ crayon_e("If the URL fails to load, the code above will be shown instead. If no code exists, an error is shown.");
221
+ echo ' ';
222
+ printf(crayon__('If a relative local path is given it will be appended to %s - which is defined in %sCrayon &gt; Settings &gt; Files%s.'), '<span class="crayon-te-quote">'. get_home_url() . '/' . CrayonGlobalSettings::val(CrayonSettings::LOCAL_PATH) . '</span>', '<a href="options-general.php?page=crayon_settings" target="_blank">', '</a>');
223
+ ?>
224
+ </div></td>
225
+ </tr>
226
+ <tr>
227
+ <td id="crayon-te-submit-wrapper" colspan="2"
228
+ style="text-align: center;"><?php self::submit(); ?></td>
229
+ </tr>
230
+ <!-- <tr>-->
231
+ <!-- <td colspan="2"><div id="crayon-te-warning" class="updated crayon-te-info"></div></td>-->
232
+ <!-- </tr>-->
233
+ <tr>
234
+ <td colspan="2"><?php
235
+ if (!is_admin() && !$_GET['is_admin'] && !CrayonGlobalSettings::val(CrayonSettings::TAG_EDITOR_SETTINGS)) {
236
+ exit;
237
+ }
238
+ ?>
239
+ <hr />
240
+ <div>
241
+ <h2 class="crayon-te-heading">
242
+ <?php crayon_e('Settings'); ?>
243
+ </h2>
244
+ </div>
245
+ <div id="crayon-te-settings-info" class="crayon-te-info">
246
+ <?php
247
+ crayon_e('Change the following settings to override their global values.');
248
+ echo ' <span class="', CrayonSettings::SETTING_CHANGED, '">';
249
+ crayon_e('Only changes (shown yellow) are applied.');
250
+ echo '</span><br/>';
251
+ echo sprintf(crayon__('Future changes to the global settings under %sCrayon &gt; Settings%s won\'t affect overridden settings.'), '<a href="options-general.php?page=crayon_settings" target="_blank">', '</a>');
252
+ ?>
253
+ </div>
254
+ </td>
255
+ </tr>
256
+ <?php
257
+ $sections = array('Theme', 'Font', 'Metrics', 'Toolbar', 'Lines', 'Code');
258
+ foreach ($sections as $section) {
259
+ echo '<tr><th>', crayon__($section), '</th><td>';
260
+ call_user_func('CrayonSettingsWP::'.strtolower($section), TRUE);
261
+ echo '</td></tr>';
262
+ }
263
+ ?>
264
+ </table>
265
+ </div>
266
+
267
+ <?php
268
+ }
269
+
270
  }
271
 
272
+ if (defined('ABSPATH') /*&& is_admin()*/) {
273
  add_action('init', 'CrayonTagEditorWP::init');
274
  }
275
 
util/tag-editor/crayon_te.js CHANGED
@@ -1,597 +1,623 @@
1
- // Sets the TINYMCE_USED setting
2
- CrayonTagEditorSettings.setUsed = function(is_used) {
3
- if (typeof this.ajax_url != 'undefined') {
4
- if (this.ajax_url && !this.used) {
5
- is_used = is_used ? '1' : '0';
6
- this.used = is_used; // Save the setting
7
- var used_url = this.ajax_url + '?' + this.used_setting + '=' + is_used;
8
- jQuery.get(used_url);
9
- }
10
- }
11
- };
12
 
13
- var CrayonTagEditor = new function() {
14
-
15
- var loaded = false;
16
- var editing = false;
17
- var insertCallback = null;
18
- var editCallback = null;
19
- // Used for encoding, decoding
20
- var inputHTML = null;
21
- var outputHTML = null;
22
- var editor_name = null;
23
- var ajax_class_timer = null;
24
- var ajax_class_timer_count = 0;
25
-
26
- var code_refresh = url_refresh = null;
27
-
28
- // Current jQuery obj of pre node
29
- var currCrayon = null;
30
- // Classes from pre node, excl. settings
31
- var currClasses = '';
32
- // Whether to make span or pre
33
- var is_inline = false;
34
-
35
- // Generated in WP and contains the settings
36
- var s = CrayonTagEditorSettings;
37
- var gs = CrayonSyntaxSettings;
38
- var admin = CrayonSyntaxAdmin;
39
- // For use in async functions
40
- var me = this;
41
-
42
- // CSS
43
- var dialog = code = clear = submit = null;
44
-
45
- // XXX Loads dialog contents
46
- this.loadDialog = function() {
47
- // Loaded once url is given
48
- if (!loaded) {
49
- loaded = true;
50
- } else {
51
- return;
52
- }
53
-
54
- // Load the editor content
55
- jQuery.get(s.url, function(data) {
56
- dialog = jQuery('<div id="'+s.css+'"></div>');
57
- dialog.appendTo('body').hide();
58
- dialog.html(data);
59
-
60
- dialog.ready(function() {
61
- // Some settings have dependencies, need to load js for that
62
- admin.init();
63
- });
64
-
65
- me.setOrigValues();
66
-
67
- submit = dialog.find('.'+s.submit_css);
68
-
69
- // Save default global settings
70
- // defaults = [];
71
- // jQuery('.'+gs.setting+'[id]').each(function() {
72
- // var id = jQuery(this).attr('id');
73
- // var value = jQuery(this).attr(s.data_value);
74
- // // Remove prefix
75
- //// id = admin.removePrefixFromID(id);
76
- // atts[id] = value;
77
- //// console_log(id + ' ' + value);
78
- // });
79
-
80
- code = jQuery(s.code_css);
81
- clear = jQuery('#crayon-te-clear');
82
- code_refresh = function () {
83
- var clear_visible = clear.is(":visible");
84
- if (code.val().length > 0 && !clear_visible) {
85
- clear.show();
86
- code.removeClass(gs.selected);
87
- } else if (code.val().length <= 0) {
88
- clear.hide();
89
- }
90
- };
91
 
92
- code.keyup(code_refresh);
93
- code.change(code_refresh);
94
- clear.click(function() {
95
- code.val('');
96
- code.removeClass(gs.selected);
97
- code.focus();
98
- });
99
-
100
- var url = jQuery(s.url_css);
101
- var url_info = jQuery(s.url_info_css);
102
- var exts = CrayonTagEditorSettings.extensions;
103
- url_refresh = function () {
104
- if (url.val().length > 0 && !url_info.is(":visible")) {
105
- url_info.show();
106
- url.removeClass(gs.selected);
107
- } else if (url.val().length <= 0) {
108
- url_info.hide();
109
- }
110
-
111
- // Check for extensions and select language automatically
112
- var ext = CrayonSyntaxUtil.getExt(url.val());
113
- if (ext) {
114
- var lang = exts[ext];
115
- // Otherwise use the extention as the lang
116
- var lang_id = lang ? lang : ext;
117
- var final_lang = CrayonTagEditorSettings.fallback_lang;
118
- jQuery(s.lang_css + ' option').each(function() {
119
- if (jQuery(this).val() == lang_id) {
120
- final_lang = lang_id;
121
- }
122
- });
123
- jQuery(s.lang_css).val(final_lang);
124
- }
125
- };
126
- url.keyup(url_refresh);
127
- url.change(url_refresh);
128
-
129
- var setting_change = function() {
130
- var setting = jQuery(this);
131
- var orig_value = jQuery(this).attr(gs.orig_value);
132
- if (typeof orig_value == 'undefined') {
133
- orig_value = '';
134
- }
135
- // Depends on type
136
- var value = me.settingValue(setting);
137
- console_log(setting.attr('id') + ' value: ' + value);
138
- var highlight = null;
139
- if (setting.is('input[type=checkbox]')) {
140
- highlight = setting.next('span');
141
- }
142
-
143
- console_log(' >>> ' + setting.attr('id') + ' is ' + orig_value + ' = ' + value);
144
- if (orig_value == value) {
145
- // No change
146
- setting.removeClass(gs.changed);
147
- if (highlight) {
148
- highlight.removeClass(gs.changed);
149
- }
150
- } else {
151
- // Changed
152
- setting.addClass(gs.changed);
153
- if (highlight) {
154
- highlight.addClass(gs.changed);
155
- }
156
- }
157
- // Save standardized value for later
158
- me.settingValue(setting, value);
159
- };
160
- jQuery('.'+gs.setting+'[id]:not(.'+gs.special+')').each(function() {
161
- jQuery(this).change(setting_change);
162
- jQuery(this).keyup(setting_change);
163
  });
164
- });
165
- };
166
-
167
- // XXX Displays the dialog.
168
- this.showDialog = function(insert, edit, editor_str, ed, node, input, output) {
169
- // Need to reset all settings back to original, clear yellow highlighting
170
- me.resetSettings();
171
- // Save these for when we add a Crayon
172
- insertCallback = insert;
173
- editCallback = edit;
174
- inputHTML = input;
175
- outputHTML = output;
176
- editor_name = editor_str;
177
- // If we have selected a Crayon, load in the contents
178
- // TODO put this in a separate function
179
- var currNode = null;
180
- is_inline = false;
181
- if (typeof node != 'undefined' && node != null) {
182
- currNode = node;
183
- } else {
184
- // Get it from editor selection, not as precise
185
- currNode = ed != null ? ed.selection.getNode() : null;
186
- }
187
 
188
- // Unbind submit
189
- submit.unbind();
190
- submit.click(function() {
191
- me.submitButton();
192
- });
193
- me.setSubmitText(s.submit_add);
194
 
195
- if (me.isCrayon(currNode)) {
196
- currCrayon = jQuery(currNode);
197
- if (currCrayon.length != 0) {
198
- // Read back settings for editing
199
- currClasses = currCrayon.attr('class');
200
- var re = new RegExp('\\b([A-Za-z-]+)'+s.attr_sep+'(\\S+)', 'gim');
201
- var matches = re.execAll(currClasses);
202
- // Retain all other classes, remove settings
203
- currClasses = jQuery.trim(currClasses.replace(re, ''));
204
- // console_log('classes:');
205
- // console_log(currClasses);
206
- // console_log('load match:');
207
- // console_log(matches);
208
- var atts = {};
209
- for (var i in matches) {
210
- var id = matches[i][1];
211
- var value = matches[i][2];
212
- atts[id] = value;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
213
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
214
 
215
- // Title
216
- var title = currCrayon.attr('title');
217
- if (title) {
218
- atts['title'] = title;
219
  }
220
 
221
- // URL
222
- var url = currCrayon.attr('data-url');
223
- if (url) {
224
- atts['url'] = url;
 
 
 
 
 
 
 
 
 
 
 
 
225
  }
226
-
227
- // Inverted settings
228
- if (typeof atts['highlight'] != 'undefined') {
229
- atts['highlight'] = '0' ? '1' : '0';
 
 
 
 
 
 
 
230
  }
231
-
232
- // Inline
233
- is_inline = currCrayon.hasClass(s.inline_css);
234
- atts['inline'] = is_inline ? '1' : '0';
235
-
236
- // Ensure language goes to fallback if invalid
237
- var avail_langs = [];
238
- jQuery(s.lang_css + ' option').each(function(){
239
- var value = jQuery(this).val();
240
- if (value) {
241
- avail_langs.push(value);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
242
  }
243
- });
244
- if (jQuery.inArray(atts['lang'], avail_langs) == -1) {
245
- atts['lang'] = s.fallback_lang;
246
- }
247
-
248
- // Validate the attributes
249
- atts = me.validate(atts);
250
-
251
- // Load in attributes, add prefix
252
- for (var att in atts) {
253
- var setting = jQuery('#' + gs.prefix + att + '.' + gs.setting);
254
- var value = atts[att];
255
- me.settingValue(setting, value);
256
- // Update highlights
257
- setting.change();
258
- // If global setting changes and we access settings, it should declare loaded settings as changed even if they equal the global value, just so they aren't lost on save
259
- if (!setting.hasClass(gs.special)) {
260
- setting.addClass(gs.changed);
261
- if (setting.is('input[type=checkbox]')) {
262
- highlight = setting.next('span');
263
- highlight.addClass(gs.changed);
264
- }
265
  }
266
- console_log('loaded: ' + att + ':' + atts[att]);
267
- }
268
-
269
- editing = true;
270
- me.setSubmitText(s.submit_edit);
271
-
272
- // Code
273
- var content = currCrayon.html();
274
- if (inputHTML == 'encode') {
275
- content = crayon_encode_html(content);
276
- } else if (inputHTML == 'decode') {
277
- content = crayon_decode_html(content);
278
  }
279
- code.val(content);
280
-
281
- } else {
282
- console_log('cannot load currNode of type pre');
283
  }
284
- } else {
285
- // We are creating a new Crayon, not editing
286
- editing = false;
287
- me.setSubmitText(s.submit_add);
288
- currCrayon = null;
289
- currClasses = '';
290
- }
291
-
292
- // Inline
293
- var inline = jQuery('#' + s.inline_css);
294
- inline.change(function() {
295
- is_inline = jQuery(this).is(':checked');
296
- var inline_hide = jQuery('.' + s.inline_hide_css);
297
- var inline_single = jQuery('.' + s.inline_hide_only_css);
298
- var disabled = [s.mark_css, s.title_css, s.url_css];
299
- // var mark = jQuery(s.mark_css);
300
- // var title = jQuery(s.title_css);
301
- // var url = jQuery(s.url_css);
302
 
303
- for (var i in disabled) {
304
- var obj = jQuery(disabled[i]);
305
- obj.attr('disabled', is_inline);
306
- }
307
 
308
- // mark.attr('disabled', is_inline);
309
- // title.attr('disabled', is_inline);
310
- // url.attr('disabled', is_inline);
 
311
  if (is_inline) {
312
- inline_hide.hide();
313
- inline_single.hide();
314
- inline_hide.closest('tr').hide();
315
- for (var i in disabled) {
316
- var obj = jQuery(disabled[i]);
317
- obj.addClass('crayon-disabled');
318
  }
319
- // mark.addClass('crayon-disabled');
320
- // title.addClass('crayon-disabled');
321
- // url.addClass('crayon-disabled');
322
  } else {
323
- inline_hide.show();
324
- inline_single.show();
325
- inline_hide.closest('tr').show();
326
- for (var i in disabled) {
327
- var obj = jQuery(disabled[i]);
328
- obj.removeClass('crayon-disabled');
329
- }
330
- // mark.removeClass('crayon-disabled');
331
- // title.removeClass('crayon-disabled');
332
- // title.removeClass('crayon-disabled');
333
  }
334
- });
335
- inline.change();
336
-
337
- // Show the dialog
338
- var dialog_title = editing ? s.dialog_title_edit : s.dialog_title_add;
339
- tb_show(dialog_title, '#TB_inline?inlineId=' + s.css);
340
- code.focus();
341
- code_refresh();
342
- url_refresh();
343
- if (ajax_class_timer) {
344
- clearInterval(ajax_class_timer);
345
- ajax_class_timer_count = 0;
346
- }
347
-
348
- // Position submit button
349
- jQuery('#TB_title').append(submit);
350
-
351
- var ajax_window = jQuery('#TB_window');
352
- ajax_window.hide();
353
- var fallback = function () {
354
- ajax_window.show();
355
- // Prevent draw artifacts
356
- var oldScroll = jQuery(window).scrollTop();
357
- jQuery(window).scrollTop(oldScroll+10);
358
- jQuery(window).scrollTop(oldScroll-10);
359
- };
360
-
361
- ajax_class_timer = setInterval(function () {
362
- if ( typeof ajax_window != 'undefined' && !ajax_window.hasClass('crayon-te-ajax') ) {
363
- ajax_window.addClass('crayon-te-ajax');
364
- clearInterval(ajax_class_timer);
365
- fallback();
366
- }
367
- if (ajax_class_timer_count >= 100) {
368
- // In case it never loads, terminate
369
- clearInterval(ajax_class_timer);
370
- fallback();
371
- }
372
- ajax_class_timer_count++;
373
- }, 40);
374
-
375
- s.setUsed(true);
376
- };
377
-
378
- // XXX Add Crayon to editor
379
- this.addCrayon = function() {
380
- var url = jQuery(s.url_css);
381
- if (url.val().length == 0 && code.val().length == 0) {
382
- code.addClass(gs.selected);
383
- code.focus();
384
- return false;
385
- }
386
- code.removeClass(gs.selected);
387
-
388
- // Add inline for matching with CSS
389
- var inline = jQuery('#' + s.inline_css);
390
- is_inline = inline.length != 0 && inline.is(':checked');
391
-
392
- // Spacing only for <pre>
393
- var br_before = br_after = '';
394
- if (!editing) {
395
- // Don't add spaces if editting
396
  if (!is_inline) {
397
- if (editor_name == 'html') {
398
- br_after = br_before = ' \n';
399
- } else {
400
- br_after = '<p>&nbsp;</p>';
401
  }
402
- } else {
403
- // Add a space after
404
- if (editor_name == 'html') {
405
- br_after = br_before = ' ';
406
- } else {
407
- br_after = '&nbsp;';
408
  }
409
  }
410
- }
411
-
412
- var tag = (is_inline ? 'span' : 'pre');
413
- var shortcode = br_before + '<' + tag + ' ';
414
-
415
- var atts = {};
416
- shortcode += 'class="';
417
-
418
- var inline_re = new RegExp('\\b' + s.inline_css + '\\b', 'gim');
419
- if (is_inline) {
420
- // If don't have inline class, add it
421
- if (inline_re.exec(currClasses) == null) {
422
- currClasses += ' ' + s.inline_css + ' ';
423
  }
424
- } else {
425
- // Remove inline css if it exists
426
- currClasses = currClasses.replace(inline_re,'');
427
- }
 
 
 
 
 
 
 
 
 
428
 
429
- // Grab settings as attributes
430
- jQuery('.'+gs.changed+'[id],.'+gs.changed+'['+s.data_value+']').each(function() {
431
- var id = jQuery(this).attr('id');
432
- var value = jQuery(this).attr(s.data_value);
433
- // Remove prefix
434
- id = admin.removePrefixFromID(id);
435
- atts[id] = value;
436
- // console_log(id + ' ' + value);
437
- });
438
 
439
- // Settings
440
- atts['lang'] = jQuery(s.lang_css).val();
441
- var mark = jQuery(s.mark_css).val();
442
- if (mark.length != 0 && !is_inline) {
443
- atts['mark'] = mark;
444
- }
 
 
 
 
 
 
 
 
445
 
446
- // XXX Code highlighting, checked means 0!
447
- if (jQuery(s.hl_css).is(':checked')) {
448
- atts['highlight'] = '0';
449
- }
450
 
451
- // XXX Very important when working with editor
452
- atts['decode'] = 'true';
453
-
454
- // Validate the attributes
455
- atts = me.validate(atts);
456
-
457
- for (var id in atts) {
458
- // Remove prefix, if exists
459
- // var id = admin.removePrefixFromID(att);
460
- var value = atts[id];
461
- console_log('add '+id+':'+value);
462
- shortcode += id + s.attr_sep + value + ' ';
463
- }
464
 
465
- // Add classes
466
- shortcode += currClasses;
467
- // Don't forget to close quote for class
468
- shortcode += '" ';
 
 
 
 
 
 
469
 
470
- if (!is_inline) {
471
- // Title
472
- var title = jQuery(s.title_css).val();
473
- if (title.length != 0) {
474
- shortcode += 'title="' + title + '" ';
475
- }
476
- // URL
477
- var url = jQuery(s.url_css).val();
478
- if (url.length != 0) {
479
- shortcode += 'data-url="' + url + '" ';
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
480
  }
481
- }
482
 
483
- var content = jQuery(s.code_css).val();
484
- if (outputHTML == 'encode') {
485
- content = crayon_encode_html(content);
486
- } else if (outputHTML == 'decode') {
487
- content = crayon_decode_html(content);
488
- }
489
- content = typeof content != 'undefined' ? content : '';
490
- shortcode += '>' + content + '</' + tag + '>' + br_after;
 
 
491
 
492
- if (editing) {
493
- // Edit the current selected node, update refere
494
- /*currPre =*/ editCallback(shortcode);
495
- } else {
496
- // Insert the tag and hide dialog
497
- insertCallback(shortcode);
498
- }
499
 
500
- return true;
501
- };
502
-
503
- this.submitButton = function() {
504
- console_log('submit');
505
- if (me.addCrayon() != false) {
506
- me.hideDialog();
507
- }
508
- };
509
-
510
- this.hideDialog = function() {
511
- console_log('hide');
512
- // Hide dialog
513
- tb_remove();
514
- var ajax = jQuery('#TB_ajaxContent');
515
- if ( typeof ajax == 'undefined' ) {
516
- ajax.removeClass('crayon-te-ajax');
517
- }
518
- // Title is destroyed, so move the submit out
519
- jQuery(s.submit_wrapper_css).append(submit);
520
- };
521
-
522
- // XXX Auxiliary methods
523
-
524
- this.setOrigValues = function() {
525
- jQuery('.'+gs.setting+'[id]').each(function() {
526
- var setting = jQuery(this);
527
- setting.attr(gs.orig_value, me.settingValue(setting));
528
- });
529
- };
530
-
531
- this.resetSettings = function() {
532
- console_log('reset');
533
- jQuery('.'+gs.setting).each(function() {
534
- var setting = jQuery(this);
535
- me.settingValue(setting, setting.attr(gs.orig_value));
536
- // Update highlights
537
- setting.change();
538
- });
539
- code.val('');
540
- };
541
-
542
- this.settingValue = function(setting, value) {
543
- if (typeof value == 'undefined') {
544
- // getter
545
- value = '';
546
- if (setting.is('input[type=checkbox]')) {
547
- // Boolean is stored as string
548
- value = setting.is(':checked') ? 'true' : 'false';
549
  } else {
550
- value = setting.val();
551
  }
552
  return value;
553
- } else {
554
- // setter
555
- if (setting.is('input[type=checkbox]')) {
556
- if (typeof value == 'string') {
557
- if (value == 'true' || value == '1') {
558
- value = true;
559
- } else if (value == 'false' || value == '0') {
560
- value = false;
561
- }
562
- }
563
- setting.prop('checked', value);
564
- } else {
565
- setting.val(value);
566
- }
567
- setting.attr(s.data_value, value);
568
- }
569
- };
570
-
571
- this.validate = function(atts) {
572
- if (typeof atts['mark'] != 'undefined') {
573
- atts['mark'] = atts['mark'].replace(/\s/g, '');
574
- }
575
- return atts;
576
- };
577
-
578
- this.isCrayon = function(node) {
579
- return node != null &&
580
- (node.nodeName == 'PRE' || (node.nodeName == 'SPAN' && jQuery(node).hasClass(s.inline_css)));
581
- };
582
-
583
- this.elemValue = function(obj) {
584
- var value = null;
585
- if (obj.is('input[type=checkbox]')) {
586
- value = obj.is(':checked');
587
- } else {
588
- value = obj.val();
589
- }
590
- return value;
591
  };
592
-
593
- this.setSubmitText = function(text) {
594
- submit.val(text);
595
- };
596
-
597
- };
1
+ (function($) {
 
 
 
 
 
 
 
 
 
 
2
 
3
+ window.CrayonTagEditor = new function() {
4
+ var base = this;
5
+
6
+ var loaded = false;
7
+ var editing = false;
8
+ var insertCallback = null;
9
+ var editCallback = null;
10
+ var showCallback = null;
11
+ var hideCallback = null;
12
+ // Used for encoding, decoding
13
+ var inputHTML = null;
14
+ var outputHTML = null;
15
+ var editor_name = null;
16
+ var ajax_class_timer = null;
17
+ var ajax_class_timer_count = 0;
18
+
19
+ var code_refresh = url_refresh = null;
20
+
21
+ // Current $ obj of pre node
22
+ var currCrayon = null;
23
+ // Classes from pre node, excl. settings
24
+ var currClasses = '';
25
+ // Whether to make span or pre
26
+ var is_inline = false;
27
+
28
+ // Generated in WP and contains the settings
29
+ var s, gs, admin = null;
30
+ // For use in async functions
31
+ var me = this;
32
+
33
+ // CSS
34
+ var dialog = code = clear = submit = null;
35
+
36
+ base.init = function(button) {
37
+ s = CrayonTagEditorSettings;
38
+ gs = CrayonSyntaxSettings;
39
+ admin = CrayonSyntaxAdmin;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
40
 
41
+ base.loadDialog();
42
+ $(button).fancybox({
43
+ href : s.content_css,
44
+ margin : [40,10,40,10],
45
+ padding : 0,
46
+ width : 690,
47
+ //height : '100%',
48
+ //autoSize : false,
49
+ title : '',
50
+ beforeShow : function () {
51
+ $(this.outer).prepend($(s.bar_content));
52
+ },
53
+ afterShow : function () {
54
+ $(s.code_css).focus();
55
+ },
56
+ beforeClose : function () {
57
+ $(s.bar).prepend($(s.bar_content));
58
+ },
59
+ closeBtn : false
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
60
  });
61
+
62
+ $(s.cancel_css).live('click', function () {
63
+ $.fancybox.close();
64
+ return false;
65
+ });
66
+ };
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
67
 
68
+ base.hide = function() {
69
+ $.fancybox.close();
70
+ return false;
71
+ };
 
 
72
 
73
+ // XXX Loads dialog contents
74
+ base.loadDialog = function() {
75
+ // Loaded once url is given
76
+ if (!loaded) {
77
+ loaded = true;
78
+ } else {
79
+ return;
80
+ }
81
+
82
+ // Load the editor content
83
+ $.get(gs.ajaxurl, {action : 'crayon-tag-editor'}, function(data) {
84
+ dialog = $('<div id="'+s.css+'"></div>');
85
+ dialog.appendTo('body').hide();
86
+ dialog.html(data);
87
+
88
+ dialog.ready(function() {
89
+ // Some settings have dependencies, need to load js for that
90
+ admin.init();
91
+ });
92
+
93
+ me.setOrigValues();
94
+
95
+ submit = dialog.find(s.submit_css);
96
+
97
+ code = $(s.code_css);
98
+ clear = $('#crayon-te-clear');
99
+ code_refresh = function () {
100
+ var clear_visible = clear.is(":visible");
101
+ if (code.val().length > 0 && !clear_visible) {
102
+ clear.show();
103
+ code.removeClass(gs.selected);
104
+ } else if (code.val().length <= 0) {
105
+ clear.hide();
106
+ }
107
+ };
108
+
109
+ code.keyup(code_refresh);
110
+ code.change(code_refresh);
111
+ clear.click(function() {
112
+ code.val('');
113
+ code.removeClass(gs.selected);
114
+ code.focus();
115
+ });
116
+
117
+ var url = $(s.url_css);
118
+ var url_info = $(s.url_info_css);
119
+ var exts = CrayonTagEditorSettings.extensions;
120
+ url_refresh = function () {
121
+ if (url.val().length > 0 && !url_info.is(":visible")) {
122
+ url_info.show();
123
+ url.removeClass(gs.selected);
124
+ } else if (url.val().length <= 0) {
125
+ url_info.hide();
126
+ }
127
+
128
+ // Check for extensions and select language automatically
129
+ var ext = CrayonSyntaxUtil.getExt(url.val());
130
+ if (ext) {
131
+ var lang = exts[ext];
132
+ // Otherwise use the extention as the lang
133
+ var lang_id = lang ? lang : ext;
134
+ var final_lang = CrayonTagEditorSettings.fallback_lang;
135
+ $(s.lang_css + ' option').each(function() {
136
+ if ($(this).val() == lang_id) {
137
+ final_lang = lang_id;
138
+ }
139
+ });
140
+ $(s.lang_css).val(final_lang);
141
+ }
142
+ };
143
+ url.keyup(url_refresh);
144
+ url.change(url_refresh);
145
+
146
+ var setting_change = function() {
147
+ var setting = $(this);
148
+ var orig_value = $(this).attr(gs.orig_value);
149
+ if (typeof orig_value == 'undefined') {
150
+ orig_value = '';
151
+ }
152
+ // Depends on type
153
+ var value = me.settingValue(setting);
154
+ console_log(setting.attr('id') + ' value: ' + value);
155
+ var highlight = null;
156
+ if (setting.is('input[type=checkbox]')) {
157
+ highlight = setting.next('span');
158
+ }
159
+
160
+ console_log(' >>> ' + setting.attr('id') + ' is ' + orig_value + ' = ' + value);
161
+ if (orig_value == value) {
162
+ // No change
163
+ setting.removeClass(gs.changed);
164
+ if (highlight) {
165
+ highlight.removeClass(gs.changed);
166
+ }
167
+ } else {
168
+ // Changed
169
+ setting.addClass(gs.changed);
170
+ if (highlight) {
171
+ highlight.addClass(gs.changed);
172
+ }
173
+ }
174
+ // Save standardized value for later
175
+ me.settingValue(setting, value);
176
+ };
177
+ $('.'+gs.setting+'[id]:not(.'+gs.special+')').each(function() {
178
+ $(this).change(setting_change);
179
+ $(this).keyup(setting_change);
180
+ });
181
+ });
182
+ };
183
+
184
+ // XXX Displays the dialog.
185
+ base.showDialog = function(insert, edit, show, hide, editor_str, ed, node, input, output) {
186
+ // Need to reset all settings back to original, clear yellow highlighting
187
+ me.resetSettings();
188
+ // Save these for when we add a Crayon
189
+ insertCallback = insert;
190
+ editCallback = edit;
191
+ showCallback = show;
192
+ hideCallback = hide;
193
+ inputHTML = input;
194
+ outputHTML = output;
195
+ editor_name = editor_str;
196
+ // If we have selected a Crayon, load in the contents
197
+ // TODO put this in a separate function
198
+ var currNode = null;
199
+ is_inline = false;
200
+ if (typeof node != 'undefined' && node != null) {
201
+ currNode = node;
202
+ } else {
203
+ // Get it from editor selection, not as precise
204
+ currNode = ed != null ? ed.selection.getNode() : null;
205
+ }
206
+
207
+ // Unbind submit
208
+ submit.unbind();
209
+ submit.click(function() {
210
+ me.submitButton();
211
+ return false;
212
+ });
213
+ me.setSubmitText(s.submit_add);
214
+
215
+ if (me.isCrayon(currNode)) {
216
+ currCrayon = $(currNode);
217
+ if (currCrayon.length != 0) {
218
+ // Read back settings for editing
219
+ currClasses = currCrayon.attr('class');
220
+ var re = new RegExp('\\b([A-Za-z-]+)'+s.attr_sep+'(\\S+)', 'gim');
221
+ var matches = re.execAll(currClasses);
222
+ // Retain all other classes, remove settings
223
+ currClasses = $.trim(currClasses.replace(re, ''));
224
+ var atts = {};
225
+ for (var i in matches) {
226
+ var id = matches[i][1];
227
+ var value = matches[i][2];
228
+ atts[id] = value;
229
+ }
230
+
231
+ // Title
232
+ var title = currCrayon.attr('title');
233
+ if (title) {
234
+ atts['title'] = title;
235
+ }
236
+
237
+ // URL
238
+ var url = currCrayon.attr('data-url');
239
+ if (url) {
240
+ atts['url'] = url;
241
+ }
242
+
243
+ // Inverted settings
244
+ if (typeof atts['highlight'] != 'undefined') {
245
+ atts['highlight'] = '0' ? '1' : '0';
246
+ }
247
+
248
+ // Inline
249
+ is_inline = currCrayon.hasClass(s.inline_css);
250
+ atts['inline'] = is_inline ? '1' : '0';
251
+
252
+ // Ensure language goes to fallback if invalid
253
+ var avail_langs = [];
254
+ $(s.lang_css + ' option').each(function(){
255
+ var value = $(this).val();
256
+ if (value) {
257
+ avail_langs.push(value);
258
+ }
259
+ });
260
+ if ($.inArray(atts['lang'], avail_langs) == -1) {
261
+ atts['lang'] = s.fallback_lang;
262
+ }
263
+
264
+ // Validate the attributes
265
+ atts = me.validate(atts);
266
+
267
+ // Load in attributes, add prefix
268
+ for (var att in atts) {
269
+ var setting = $('#' + gs.prefix + att + '.' + gs.setting);
270
+ var value = atts[att];
271
+ me.settingValue(setting, value);
272
+ // Update highlights
273
+ setting.change();
274
+ // If global setting changes and we access settings, it should declare loaded settings as changed even if they equal the global value, just so they aren't lost on save
275
+ if (!setting.hasClass(gs.special)) {
276
+ setting.addClass(gs.changed);
277
+ if (setting.is('input[type=checkbox]')) {
278
+ highlight = setting.next('span');
279
+ highlight.addClass(gs.changed);
280
+ }
281
+ }
282
+ console_log('loaded: ' + att + ':' + value);
283
+ }
284
+
285
+ editing = true;
286
+ me.setSubmitText(s.submit_edit);
287
+
288
+ // Code
289
+ var content = currCrayon.html();
290
+ if (inputHTML == 'encode') {
291
+ content = crayon_encode_html(content);
292
+ } else if (inputHTML == 'decode') {
293
+ content = crayon_decode_html(content);
294
+ }
295
+ code.val(content);
296
+
297
+ } else {
298
+ console_log('cannot load currNode of type pre');
299
  }
300
+ } else {
301
+ // We are creating a new Crayon, not editing
302
+ editing = false;
303
+ me.setSubmitText(s.submit_add);
304
+ currCrayon = null;
305
+ currClasses = '';
306
+ }
307
+
308
+ // Inline
309
+ var inline = $('#' + s.inline_css);
310
+ inline.change(function() {
311
+ is_inline = $(this).is(':checked');
312
+ var inline_hide = $('.' + s.inline_hide_css);
313
+ var inline_single = $('.' + s.inline_hide_only_css);
314
+ var disabled = [s.mark_css, s.range_css, s.title_css, s.url_css];
315
 
316
+ for (var i in disabled) {
317
+ var obj = $(disabled[i]);
318
+ obj.attr('disabled', is_inline);
 
319
  }
320
 
321
+ if (is_inline) {
322
+ inline_hide.hide();
323
+ inline_single.hide();
324
+ inline_hide.closest('tr').hide();
325
+ for (var i in disabled) {
326
+ var obj = $(disabled[i]);
327
+ obj.addClass('crayon-disabled');
328
+ }
329
+ } else {
330
+ inline_hide.show();
331
+ inline_single.show();
332
+ inline_hide.closest('tr').show();
333
+ for (var i in disabled) {
334
+ var obj = $(disabled[i]);
335
+ obj.removeClass('crayon-disabled');
336
+ }
337
  }
338
+ });
339
+ inline.change();
340
+
341
+ // Show the dialog
342
+ var dialog_title = editing ? s.dialog_title_edit : s.dialog_title_add;
343
+ // if (tb_show) {
344
+ // tb_show(dialog_title, '#TB_inline?inlineId=' + s.css);
345
+ // } else {
346
+ $(s.dialog_title_css).html(dialog_title);
347
+ if (showCallback) {
348
+ showCallback();
349
  }
350
+ // }
351
+
352
+ //tb_show(dialog_title, '#TB_inline?inlineId=' + s.css);
353
+ // console.log($("#crayon-te-table"));
354
+ // $("#bbp_topic_content_crayon_tinymce").fancybox({afterLoad: function() {
355
+ // alert();
356
+ // }, content: '#crayon-te-table'});
357
+
358
+ code.focus();
359
+ code_refresh();
360
+ url_refresh();
361
+ if (ajax_class_timer) {
362
+ clearInterval(ajax_class_timer);
363
+ ajax_class_timer_count = 0;
364
+ }
365
+
366
+ // Position submit button
367
+ // $('#TB_title').append(submit);
368
+
369
+ var ajax_window = $('#TB_window');
370
+ ajax_window.hide();
371
+ var fallback = function () {
372
+ ajax_window.show();
373
+ // Prevent draw artifacts
374
+ var oldScroll = $(window).scrollTop();
375
+ $(window).scrollTop(oldScroll+10);
376
+ $(window).scrollTop(oldScroll-10);
377
+ };
378
+
379
+ ajax_class_timer = setInterval(function () {
380
+ if ( typeof ajax_window != 'undefined' && !ajax_window.hasClass('crayon-te-ajax') ) {
381
+ ajax_window.addClass('crayon-te-ajax');
382
+ clearInterval(ajax_class_timer);
383
+ fallback();
384
+ }
385
+ if (ajax_class_timer_count >= 100) {
386
+ // In case it never loads, terminate
387
+ clearInterval(ajax_class_timer);
388
+ fallback();
389
+ }
390
+ ajax_class_timer_count++;
391
+ }, 40);
392
+ };
393
+
394
+ // XXX Add Crayon to editor
395
+ base.addCrayon = function() {
396
+ var url = $(s.url_css);
397
+ if (url.val().length == 0 && code.val().length == 0) {
398
+ code.addClass(gs.selected);
399
+ code.focus();
400
+ return false;
401
+ }
402
+ code.removeClass(gs.selected);
403
+
404
+ // Add inline for matching with CSS
405
+ var inline = $('#' + s.inline_css);
406
+ is_inline = inline.length != 0 && inline.is(':checked');
407
+
408
+ // Spacing only for <pre>
409
+ var br_before = br_after = '';
410
+ if (!editing) {
411
+ // Don't add spaces if editting
412
+ if (!is_inline) {
413
+ if (editor_name == 'html') {
414
+ br_after = br_before = ' \n';
415
+ } else {
416
+ br_after = '<p>&nbsp;</p>';
417
  }
418
+ } else {
419
+ // Add a space after
420
+ if (editor_name == 'html') {
421
+ br_after = br_before = ' ';
422
+ } else {
423
+ br_after = '&nbsp;';
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
424
  }
 
 
 
 
 
 
 
 
 
 
 
 
425
  }
 
 
 
 
426
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
427
 
428
+ var tag = (is_inline ? 'span' : 'pre');
429
+ var shortcode = br_before + '<' + tag + ' ';
 
 
430
 
431
+ var atts = {};
432
+ shortcode += 'class="';
433
+
434
+ var inline_re = new RegExp('\\b' + s.inline_css + '\\b', 'gim');
435
  if (is_inline) {
436
+ // If don't have inline class, add it
437
+ if (inline_re.exec(currClasses) == null) {
438
+ currClasses += ' ' + s.inline_css + ' ';
 
 
 
439
  }
 
 
 
440
  } else {
441
+ // Remove inline css if it exists
442
+ currClasses = currClasses.replace(inline_re,'');
 
 
 
 
 
 
 
 
443
  }
444
+
445
+ // Grab settings as attributes
446
+ $('.'+gs.changed+'[id],.'+gs.changed+'['+s.data_value+']').each(function() {
447
+ var id = $(this).attr('id');
448
+ var value = $(this).attr(s.data_value);
449
+ // Remove prefix
450
+ id = admin.removePrefixFromID(id);
451
+ atts[id] = value;
452
+ });
453
+
454
+ // Settings
455
+ atts['lang'] = $(s.lang_css).val();
456
+ var mark = $(s.mark_css).val();
457
+ if (mark.length != 0 && !is_inline) {
458
+ atts['mark'] = mark;
459
+ }
460
+ var range = $(s.range_css).val();
461
+ if (range.length != 0 && !is_inline) {
462
+ atts['range'] = range;
463
+ }
464
+
465
+ // XXX Code highlighting, checked means 0!
466
+ if ($(s.hl_css).is(':checked')) {
467
+ atts['highlight'] = '0';
468
+ }
469
+
470
+ // XXX Very important when working with editor
471
+ atts['decode'] = 'true';
472
+
473
+ // Validate the attributes
474
+ atts = me.validate(atts);
475
+
476
+ for (var id in atts) {
477
+ // Remove prefix, if exists
478
+ var value = atts[id];
479
+ console_log('add '+id+':'+value);
480
+ shortcode += id + s.attr_sep + value + ' ';
481
+ }
482
+
483
+ // Add classes
484
+ shortcode += currClasses;
485
+ // Don't forget to close quote for class
486
+ shortcode += '" ';
487
+
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
488
  if (!is_inline) {
489
+ // Title
490
+ var title = $(s.title_css).val();
491
+ if (title.length != 0) {
492
+ shortcode += 'title="' + title + '" ';
493
  }
494
+ // URL
495
+ var url = $(s.url_css).val();
496
+ if (url.length != 0) {
497
+ shortcode += 'data-url="' + url + '" ';
 
 
498
  }
499
  }
500
+
501
+ var content = $(s.code_css).val();
502
+ if (outputHTML == 'encode') {
503
+ content = crayon_encode_html(content);
504
+ } else if (outputHTML == 'decode') {
505
+ content = crayon_decode_html(content);
 
 
 
 
 
 
 
506
  }
507
+ content = typeof content != 'undefined' ? content : '';
508
+ shortcode += '>' + content + '</' + tag + '>' + br_after;
509
+
510
+ if (editing) {
511
+ // Edit the current selected node, update refere
512
+ /*currPre =*/ editCallback(shortcode);
513
+ } else {
514
+ // Insert the tag and hide dialog
515
+ insertCallback(shortcode);
516
+ }
517
+
518
+ return true;
519
+ };
520
 
521
+ base.submitButton = function() {
522
+ console_log('submit');
523
+ if (me.addCrayon() != false) {
524
+ me.hideDialog();
525
+ }
526
+ };
 
 
 
527
 
528
+ base.hideDialog = function() {
529
+ console_log('hide');
530
+ if (hideCallback) {
531
+ hideCallback();
532
+ }
533
+ // Hide dialog
534
+ // tb_remove();
535
+ // var ajax = $('#TB_ajaxContent');
536
+ // if ( typeof ajax == 'undefined' ) {
537
+ // ajax.removeClass('crayon-te-ajax');
538
+ // }
539
+ // Title is destroyed, so move the submit out
540
+ // $(s.submit_wrapper_css).append(submit);
541
+ };
542
 
543
+ // XXX Auxiliary methods
 
 
 
544
 
545
+ base.setOrigValues = function() {
546
+ $('.'+gs.setting+'[id]').each(function() {
547
+ var setting = $(this);
548
+ setting.attr(gs.orig_value, me.settingValue(setting));
549
+ });
550
+ };
 
 
 
 
 
 
 
551
 
552
+ base.resetSettings = function() {
553
+ console_log('reset');
554
+ $('.'+gs.setting).each(function() {
555
+ var setting = $(this);
556
+ me.settingValue(setting, setting.attr(gs.orig_value));
557
+ // Update highlights
558
+ setting.change();
559
+ });
560
+ code.val('');
561
+ };
562
 
563
+ base.settingValue = function(setting, value) {
564
+ if (typeof value == 'undefined') {
565
+ // getter
566
+ value = '';
567
+ if (setting.is('input[type=checkbox]')) {
568
+ // Boolean is stored as string
569
+ value = setting.is(':checked') ? 'true' : 'false';
570
+ } else {
571
+ value = setting.val();
572
+ }
573
+ return value;
574
+ } else {
575
+ // setter
576
+ if (setting.is('input[type=checkbox]')) {
577
+ if (typeof value == 'string') {
578
+ if (value == 'true' || value == '1') {
579
+ value = true;
580
+ } else if (value == 'false' || value == '0') {
581
+ value = false;
582
+ }
583
+ }
584
+ setting.prop('checked', value);
585
+ } else {
586
+ setting.val(value);
587
+ }
588
+ setting.attr(s.data_value, value);
589
  }
590
+ };
591
 
592
+ base.validate = function(atts) {
593
+ var fields = ['range', 'mark'];
594
+ for (var i in fields) {
595
+ var field = fields[i];
596
+ if (typeof atts[field] != 'undefined') {
597
+ atts[field] = atts[field].replace(/\s/g, '');
598
+ }
599
+ }
600
+ return atts;
601
+ };
602
 
603
+ base.isCrayon = function(node) {
604
+ return node != null &&
605
+ (node.nodeName == 'PRE' || (node.nodeName == 'SPAN' && $(node).hasClass(s.inline_css)));
606
+ };
 
 
 
607
 
608
+ base.elemValue = function(obj) {
609
+ var value = null;
610
+ if (obj.is('input[type=checkbox]')) {
611
+ value = obj.is(':checked');
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
612
  } else {
613
+ value = obj.val();
614
  }
615
  return value;
616
+ };
617
+
618
+ base.setSubmitText = function(text) {
619
+ submit.html(text);
620
+ };
621
+
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
622
  };
623
+ })(jQueryCrayon);
 
 
 
 
 
util/tag-editor/crayon_te_content.php DELETED
@@ -1,133 +0,0 @@
1
- <div id="crayon-te-content">
2
-
3
- <?php
4
-
5
- $crayon_root_te = dirname(dirname(dirname(__FILE__)));
6
- require_once ($crayon_root_te . '/crayon_wp.class.php');
7
- require_once (CrayonWP::wp_load_path());
8
- require_once (CRAYON_TE_PHP);
9
- require_once (CRAYON_PARSER_PHP);
10
-
11
- CrayonSettingsWP::load_settings();
12
- $langs = CrayonParser::parse_all();
13
- $curr_lang = CrayonGlobalSettings::val(CrayonSettings::FALLBACK_LANG);
14
- $themes = CrayonResources::themes()->get();
15
- $curr_theme = CrayonGlobalSettings::val(CrayonSettings::THEME);
16
- $fonts = CrayonResources::fonts()->get();
17
- $curr_font = CrayonGlobalSettings::val(CrayonSettings::FONT);
18
- CrayonTagEditorWP::init_settings();
19
-
20
- class CrayonTEContent {
21
-
22
- public static function select_resource($id, $resources, $current, $set_class = TRUE) {
23
- $id = CrayonSettings::PREFIX . $id;
24
- if (count($resources) > 0) {
25
- $class = $set_class ? 'class="'.CrayonSettings::SETTING.' '.CrayonSettings::SETTING_SPECIAL.'"' : '';
26
- echo '<select id="'.$id.'" name="'.$id.'" '.$class.' '.CrayonSettings::SETTING_ORIG_VALUE.'="'.$current.'">';
27
- foreach ($resources as $resource) {
28
- $asterisk = $current == $resource->id() ? ' *' : '';
29
- echo '<option value="'.$resource->id().'" '.selected($current, $resource->id()).' >'.$resource->name().$asterisk.'</option>';
30
- }
31
- echo '</select>';
32
- } else {
33
- // None found, default to text box
34
- echo '<input type="text" id="'.$id.'" name="'.$id.'" class="'.CrayonSettings::SETTING.' '.CrayonSettings::SETTING_SPECIAL.'" />';
35
- }
36
- }
37
-
38
- public static function checkbox($id) {
39
- $id = CrayonSettings::PREFIX . $id;
40
- echo '<input type="checkbox" id="'.$id.'" name="'.$id.'" class="'.CrayonSettings::SETTING.' '.CrayonSettings::SETTING_SPECIAL.'" />';
41
- }
42
-
43
- public static function textbox($id, $atts = array(), $set_class = TRUE) {
44
- $id = CrayonSettings::PREFIX . $id;
45
- $atts_str = '';
46
- $class = $set_class ? 'class="'.CrayonSettings::SETTING.' '.CrayonSettings::SETTING_SPECIAL.'"' : '';
47
- foreach ($atts as $k=>$v) {
48
- $atts_str = $k.'="'.$v.'" ';
49
- }
50
- echo '<input type="text" id="'.$id.'" name="'.$id.'" '.$class.' '.$atts_str.' />';
51
- }
52
-
53
- public static function submit() {
54
- ?>
55
- <input type="button" class="button-primary <?php echo CrayonTagEditorWP::$settings['submit_css']; ?>" value="<?php echo CrayonTagEditorWP::$settings['submit_add']; ?>" name="submit" />
56
- <?php
57
- }
58
- }
59
-
60
- ?>
61
-
62
- <table id="crayon-te-table" class="describe">
63
- <tr class="crayon-tr-center">
64
- <th><?php crayon_e('Title'); ?></th>
65
- <td class="crayon-nowrap">
66
- <?php CrayonTEContent::textbox('title', array('placeholder'=>crayon__('A short description'))); ?>
67
- <span id="crayon-te-sub-section">
68
- <?php CrayonTEContent::checkbox('inline'); ?>
69
- <span class="crayon-te-section"><?php crayon_e('Inline'); ?></span>
70
- </span>
71
- </td>
72
- </tr>
73
- <tr class="crayon-tr-center">
74
- <th><?php crayon_e('Language'); ?></th>
75
- <td class="crayon-nowrap">
76
- <?php CrayonTEContent::select_resource('lang', $langs, $curr_lang); ?>
77
- <span class="crayon-te-section"><?php crayon_e('Marked Lines'); ?></span>
78
- <?php CrayonTEContent::textbox('mark', array('placeholder'=>crayon__('(e.g. 1,2,3-5)'))); ?>
79
- <span id="crayon-te-sub-section">
80
- <?php CrayonTEContent::checkbox('highlight'); ?>
81
- <span class="crayon-te-section"><?php crayon_e('Disable Highlighting'); ?></span>
82
- </span>
83
- </td>
84
- </tr>
85
- <tr class="crayon-tr-center">
86
- <th><?php crayon_e('Code'); ?> <input type="button" id="crayon-te-clear" class="secondary-primary" value="<?php crayon_e('Clear'); ?>" name="clear" /></th>
87
- <td><textarea id="crayon-code" name="code" placeholder="<?php crayon_e('Paste your code here, or type it in manually.'); ?>"></textarea></td>
88
- </tr>
89
- <tr class="crayon-tr-center">
90
- <th id="crayon-url-th"><?php crayon_e('URL'); ?></th>
91
- <td>
92
- <?php CrayonTEContent::textbox('url', array('placeholder'=>crayon__('Relative local path or absolute URL'))); ?>
93
- <div id="crayon-te-url-info" class="crayon-te-info">
94
- <?php
95
- crayon_e("If the URL fails to load, the code above will be shown instead. If no code exists, an error is shown.");
96
- echo ' ';
97
- printf(crayon__('If a relative local path is given it will be appended to %s - which is defined in %sCrayon &gt; Settings &gt; Files%s.'), '<span class="crayon-te-quote">'. get_home_url() . '/' . CrayonGlobalSettings::val(CrayonSettings::LOCAL_PATH) . '</span>', '<a href="options-general.php?page=crayon_settings" target="_blank">', '</a>');
98
- ?>
99
- </div>
100
- </td>
101
- </tr>
102
- <tr>
103
- <td id="crayon-te-submit-wrapper" colspan="2" style="text-align: center;">
104
- <?php CrayonTEContent::submit(); ?>
105
- </td>
106
- </tr>
107
- <!-- <tr>-->
108
- <!-- <td colspan="2"><div id="crayon-te-warning" class="updated crayon-te-info"></div></td>-->
109
- <!-- </tr>-->
110
- <tr>
111
- <td colspan="2">
112
- <hr />
113
- <div><h2 class="crayon-te-heading"><?php crayon_e('Settings'); ?></h2></div>
114
- <div id="crayon-te-settings-info" class="crayon-te-info">
115
- <?php
116
- crayon_e('Change the following settings to override their global values.');
117
- echo ' <span class="', CrayonSettings::SETTING_CHANGED, '">';
118
- crayon_e('Only changes (shown yellow) are applied.');
119
- echo '</span><br/>';
120
- echo sprintf(crayon__('Future changes to the global settings under %sCrayon &gt; Settings%s won\'t affect overridden settings.'), '<a href="options-general.php?page=crayon_settings" target="_blank">', '</a>');
121
- ?>
122
- </div></td>
123
- </tr>
124
- <?php
125
- $sections = array('Theme', 'Font', 'Metrics', 'Toolbar', 'Lines', 'Code');
126
- foreach ($sections as $section) {
127
- echo '<tr><th>', crayon__($section), '</th><td>';
128
- call_user_func('CrayonSettingsWP::'.strtolower($section), TRUE);
129
- echo '</td></tr>';
130
- }
131
- ?>
132
- </table>
133
- </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
util/tag-editor/crayon_tinymce.js CHANGED
@@ -1,176 +1,179 @@
1
- var CrayonTinyMCE = new function() {
2
-
3
- // TinyMCE specific
4
- var name = 'crayon_tinymce';
5
- var s = CrayonTagEditorSettings;
6
- var te = CrayonTagEditor;
7
- var isHighlighted = false;
8
- var currPre = null;
9
- // Switch events
10
- var switch_html_click = switch_tmce_click = null;
11
-
12
- var me = this;
13
- // var wasHighlighted = false;
14
-
15
- this.setHighlight = function(highlight) {
16
- if (highlight) {
17
- jQuery(s.tinymce_button).addClass('mce_crayon_tinymce_highlight');
18
- } else {
19
- jQuery(s.tinymce_button).removeClass('mce_crayon_tinymce_highlight');
20
- }
21
- isHighlighted = highlight;
22
- };
23
-
24
- this.selectPreCSS = function(selected) {
25
- if (currPre) {
26
- if (selected) {
27
- jQuery(currPre).addClass(s.css_selected);
28
  } else {
29
- jQuery(currPre).removeClass(s.css_selected);
30
  }
31
- }
32
- };
33
-
34
- this.isPreSelectedCSS = function() {
35
- if (currPre) {
36
- return jQuery(currPre).hasClass(s.css_selected);
37
- }
38
- return false;
39
- };
40
-
41
- this.loadTinyMCE = function() {
42
- tinymce.PluginManager.requireLangPack(name);
43
-
44
- tinymce.create('tinymce.plugins.Crayon', {
45
- init : function(ed, url) {
46
- jQuery(function() {
47
- te.loadDialog();
48
- });
49
-
50
- ed.onInit.add(function(ed) {
51
- ed.dom.loadCSS(url + '/crayon_te.css');
52
- });
53
-
54
- // Prevent <p> on enter, turn into \n
55
- ed.onKeyDown.add(function( ed, e ) {
56
- var selection = ed.selection;
57
- if ( e.keyCode == 13) {
58
- var node = selection.getNode();
59
- if (node.nodeName == 'PRE') {
60
- selection.setContent('\n', {format : 'raw'});
61
- return tinymce.dom.Event.cancel(e);
62
- } else if (te.isCrayon(node)) {
63
- // Only triggers for inline <span>, ignore enter in inline
64
- return tinymce.dom.Event.cancel(e);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
65
  }
66
- }
67
- });
68
-
69
- ed.onInit.add(function(ed) {
70
- me.setHighlight(!s.used);
71
- });
72
-
73
- ed.addCommand('showCrayon', function() {
74
- te.showDialog(
75
- function(shortcode) {
76
- ed.execCommand('mceInsertContent', 0, shortcode);
77
- },
78
- function(shortcode) {
79
- // This will change the currPre object
80
- var newPre = jQuery(shortcode);
81
- jQuery(currPre).replaceWith(newPre);
82
- // XXX DOM element not jQuery
83
- currPre = newPre[0];
84
- }, 'tinymce', ed, currPre, 'decode', 'encode');
85
-
86
- if (!currPre) {
87
- // If no pre is selected, then button highlight depends on if it's used
88
- me.setHighlight(!s.used);
89
- }
90
- });
91
-
92
- // Remove onclick and call ourselves
93
- var switch_html = jQuery(s.switch_html);
94
- // switch_html_click = switch_html.prop('onclick');
95
- switch_html.prop('onclick', null);
96
- switch_html.click(function() {
97
- // Remove selected pre class when switching to HTML editor
98
- me.selectPreCSS(false);
99
- switchEditors.go('content','html');
100
- // switch_html_click();
101
- });
102
-
103
- // // Remove onclick and call ourselves
104
- // var switch_tmce = jQuery(s.switch_tmce);
105
- //// switch_tmce_click = switch_tmce.prop('onclick');
106
- // switch_tmce.prop('onclick', null);
107
- // switch_tmce.click(function() {
108
- // // Add selected pre class when switching to back to TinyMCE
109
- //// if (!me.isPreSelectedCSS()) {
110
- //// me.selectPreCSS(true);
111
- //// }
112
- // switchEditors.go('content','tmce');
113
- //// switch_tmce_click();
114
- // });
115
-
116
- // Highlight selected
117
- ed.onNodeChange.add(function(ed, cm, n, co) {
118
- if (n != currPre) {
119
- // We only care if we select another same object
120
- if (currPre) {
121
- // If we have a previous pre, remove it
122
- me.selectPreCSS(false);
123
- currPre = null;
124
- }
125
- if (te.isCrayon(n)) {
126
- // Add new pre
127
- currPre = n;
128
- me.selectPreCSS(true);
129
- me.setHighlight(true);
130
- } else {
131
- // No pre selected
132
- me.setHighlight(!s.used);
133
  }
134
- var tooltip = currPre ? s.dialog_title_edit : s.dialog_title_add;
135
- jQuery(s.tinymce_button).attr('title', tooltip);
136
- }
137
- });
138
-
139
- ed.onBeforeSetContent.add(function(ed, o) {
140
- // Remove all selected pre tags
141
- var content = jQuery(o.content);
142
- var wrapper = jQuery('<div>');
143
- content.each(function() {
144
- jQuery(this).removeClass(s.css_selected);
145
- wrapper.append(jQuery(this).clone());
146
- });
147
- o.content = wrapper.html();
148
- });
149
-
150
- ed.addButton(name, {
151
- // TODO add translation
152
- title: s.dialog_title,
153
- cmd: 'showCrayon'
154
- });
155
- },
156
- createControl : function(n, cm){
157
- return null;
158
- },
159
- getInfo : function(){
160
- return {
161
- longname: 'Crayon Syntax Highlighter',
162
- author: 'Aram Kocharyan',
163
- authorurl: 'http://ak.net84.net/',
164
- infourl: 'http://bit.ly/crayonsyntax/',
165
- version: "1.0"
166
- };
167
- }
168
- });
169
-
170
- tinymce.PluginManager.add(name, tinymce.plugins.Crayon);
171
- };
172
-
173
- // Load TinyMCE
174
- this.loadTinyMCE();
 
175
 
176
- };
1
+ (function($) {
2
+
3
+ window.CrayonTinyMCE = new function() {
4
+
5
+ // TinyMCE specific
6
+ var name = 'crayon_tinymce';
7
+ var s, te = null;
8
+ var isHighlighted = false;
9
+ var currPre = null;
10
+ // Switch events
11
+ var switch_html_click = switch_tmce_click = null;
12
+
13
+ var base = this;
14
+ // var wasHighlighted = false;
15
+
16
+ base.setHighlight = function(highlight) {
17
+ if (highlight) {
18
+ $(s.tinymce_button).addClass('mce_crayon_tinymce_highlight');
 
 
 
 
 
 
 
 
 
19
  } else {
20
+ $(s.tinymce_button).removeClass('mce_crayon_tinymce_highlight');
21
  }
22
+ isHighlighted = highlight;
23
+ };
24
+
25
+ base.selectPreCSS = function(selected) {
26
+ if (currPre) {
27
+ if (selected) {
28
+ $(currPre).addClass(s.css_selected);
29
+ } else {
30
+ $(currPre).removeClass(s.css_selected);
31
+ }
32
+ }
33
+ };
34
+
35
+ base.isPreSelectedCSS = function() {
36
+ if (currPre) {
37
+ return $(currPre).hasClass(s.css_selected);
38
+ }
39
+ return false;
40
+ };
41
+
42
+ base.init = function(button) {
43
+ // TODO
44
+ };
45
+
46
+ base.loadTinyMCE = function() {
47
+ s = CrayonTagEditorSettings;
48
+ te = CrayonTagEditor;
49
+
50
+ tinymce.PluginManager.requireLangPack(name);
51
+
52
+ tinymce.create('tinymce.plugins.Crayon', {
53
+ init : function(ed, url) {
54
+
55
+ ed.onInit.add(function(ed) {
56
+ ed.dom.loadCSS(url + '/crayon_te.css');
57
+ });
58
+
59
+ // Prevent <p> on enter, turn into \n
60
+ ed.onKeyDown.add(function( ed, e ) {
61
+ var selection = ed.selection;
62
+ if ( e.keyCode == 13) {
63
+ var node = selection.getNode();
64
+ if (node.nodeName == 'PRE') {
65
+ selection.setContent('\n', {format : 'raw'});
66
+ return tinymce.dom.Event.cancel(e);
67
+ } else if (te.isCrayon(node)) {
68
+ // Only triggers for inline <span>, ignore enter in inline
69
+ return tinymce.dom.Event.cancel(e);
70
+ }
71
  }
72
+ });
73
+
74
+ ed.onInit.add(function(ed) {
75
+ CrayonTagEditor.init(s.tinymce_button);
76
+ });
77
+
78
+ ed.addCommand('showCrayon', function() {
79
+ te.showDialog(
80
+ function(shortcode) {
81
+ ed.execCommand('mceInsertContent', 0, shortcode);
82
+ },
83
+ function(shortcode) {
84
+ // This will change the currPre object
85
+ var newPre = $(shortcode);
86
+ $(currPre).replaceWith(newPre);
87
+ // XXX DOM element not jQuery
88
+ currPre = newPre[0];
89
+ }, null, CrayonTagEditor.hide, 'tinymce', ed, currPre, 'decode', 'encode');
90
+ });
91
+
92
+ // Remove onclick and call ourselves
93
+ var switch_html = $(s.switch_html);
94
+ // switch_html_click = switch_html.prop('onclick');
95
+ switch_html.prop('onclick', null);
96
+ switch_html.click(function() {
97
+ // Remove selected pre class when switching to HTML editor
98
+ base.selectPreCSS(false);
99
+ switchEditors.go('content','html');
100
+ // switch_html_click();
101
+ });
102
+
103
+ // // Remove onclick and call ourselves
104
+ // var switch_tmce = $(s.switch_tmce);
105
+ //// switch_tmce_click = switch_tmce.prop('onclick');
106
+ // switch_tmce.prop('onclick', null);
107
+ // switch_tmce.click(function() {
108
+ // // Add selected pre class when switching to back to TinyMCE
109
+ //// if (!base.isPreSelectedCSS()) {
110
+ //// base.selectPreCSS(true);
111
+ //// }
112
+ // switchEditors.go('content','tmce');
113
+ //// switch_tmce_click();
114
+ // });
115
+
116
+ // Highlight selected
117
+ ed.onNodeChange.add(function(ed, cm, n, co) {
118
+ if (n != currPre) {
119
+ // We only care if we select another same object
120
+ if (currPre) {
121
+ // If we have a previous pre, remove it
122
+ base.selectPreCSS(false);
123
+ currPre = null;
124
+ }
125
+ if (te.isCrayon(n)) {
126
+ // Add new pre
127
+ currPre = n;
128
+ base.selectPreCSS(true);
129
+ base.setHighlight(true);
130
+ } else {
131
+ // No pre selected
132
+ }
133
+ var tooltip = currPre ? s.dialog_title_edit : s.dialog_title_add;
134
+ $(s.tinymce_button).attr('title', tooltip);
 
 
 
 
135
  }
136
+ });
137
+
138
+ ed.onBeforeSetContent.add(function(ed, o) {
139
+ // Remove all selected pre tags
140
+ var content = $(o.content);
141
+ var wrapper = $('<div>');
142
+ content.each(function() {
143
+ $(this).removeClass(s.css_selected);
144
+ wrapper.append($(this).clone());
145
+ });
146
+ o.content = wrapper.html();
147
+ });
148
+
149
+ ed.addButton(name, {
150
+ // TODO add translation
151
+ title: s.dialog_title,
152
+ cmd: 'showCrayon'
153
+ });
154
+ },
155
+ createControl : function(n, cm){
156
+ return null;
157
+ },
158
+ getInfo : function(){
159
+ return {
160
+ longname: 'Crayon Syntax Highlighter',
161
+ author: 'Aram Kocharyan',
162
+ authorurl: 'http://ak.net84.net/',
163
+ infourl: 'http://bit.ly/crayonsyntax/',
164
+ version: "1.0"
165
+ };
166
+ }
167
+ });
168
+
169
+ tinymce.PluginManager.add(name, tinymce.plugins.Crayon);
170
+ };
171
+
172
+ };
173
+
174
+ $(document).ready(function() {
175
+ // Load TinyMCE
176
+ CrayonTinyMCE.loadTinyMCE();
177
+ });
178
 
179
+ })(jQueryCrayon);
util/theme-editor/theme_editor_content.php CHANGED
@@ -1,8 +1,8 @@
1
  <?php
2
 
3
- $crayon_root_theme_editor = dirname(dirname(dirname(__FILE__)));
4
- require_once ($crayon_root_theme_editor . '/crayon_wp.class.php');
5
- require_once (CrayonWP::wp_load_path());
6
 
7
  $theme = CrayonResources::themes()->get_default();
8
  $editing = false;
1
  <?php
2
 
3
+ // TODO this needs lots of work! remove the old wp_load procedure
4
+
5
+ require_once('../../crayon_wp.class.php');
6
 
7
  $theme = CrayonResources::themes()->get_default();
8
  $editing = false;