2016-04-28 13:54:28 -04:00
|
|
|
include ../../../_includes/_util-fns
|
|
|
|
|
2016-05-06 10:42:01 -04:00
|
|
|
//- See the _util-fns file included above for a description of the use of these variables.
|
2016-05-06 09:17:34 -04:00
|
|
|
- var _docsFor = 'dart';
|
2016-05-06 10:42:01 -04:00
|
|
|
- var _decorator = 'annotation';
|
2016-05-25 18:09:45 -04:00
|
|
|
- var _Array = 'List';
|
2016-05-10 03:51:23 -04:00
|
|
|
- var _array = 'list';
|
2016-05-14 20:40:52 -04:00
|
|
|
- var _a = 'an';
|
|
|
|
- var _an = 'a';
|
2016-05-06 10:42:01 -04:00
|
|
|
- var _priv = '_';
|
2016-05-14 20:40:52 -04:00
|
|
|
- var _Lang = 'Dart';
|
2016-05-13 16:44:14 -04:00
|
|
|
- var _Promise = 'Future';
|
2016-05-31 18:25:59 -04:00
|
|
|
- var _FutureUrl = 'https://api.dartlang.org/dart_async/Future.html';
|
|
|
|
- var _PromiseLinked = '<a href="' + _FutureUrl + '">' + _Promise + '</a>';
|
2016-05-13 16:44:14 -04:00
|
|
|
- var _Observable = 'Stream';
|
2016-05-18 16:43:02 -04:00
|
|
|
- var _liveLink = 'sample repo';
|
2016-05-25 18:09:45 -04:00
|
|
|
- var _truthy = 'true';
|
|
|
|
- var _falsey = 'false';
|
2016-05-31 18:25:59 -04:00
|
|
|
- var _appDir = 'lib';
|
|
|
|
- var _indexHtmlDir = 'web';
|
|
|
|
- var _mainDir = 'web';
|
2016-05-06 09:17:34 -04:00
|
|
|
|
2016-07-03 20:11:17 -04:00
|
|
|
//- Deprecated
|
2016-05-06 09:17:34 -04:00
|
|
|
mixin liveExampleLink(linkText, exampleUrlPartName)
|
2016-05-20 19:18:58 -04:00
|
|
|
- var text = linkText || 'live example';
|
|
|
|
- var ex = exampleUrlPartName || getExampleName();
|
|
|
|
- var href = 'http://angular-examples.github.io/' + ex;
|
|
|
|
a(href='#{href}' target="_blank")= text
|
2016-05-06 09:17:34 -04:00
|
|
|
|
2016-07-03 20:11:17 -04:00
|
|
|
//- Deprecated
|
2016-05-06 09:17:34 -04:00
|
|
|
mixin liveExampleLink2(linkText, exampleUrlPartName)
|
2016-05-20 19:18:58 -04:00
|
|
|
- var srcText = attributes.srcText || 'view source';
|
|
|
|
- var ex = exampleUrlPartName || attributes.example || getExampleName();
|
|
|
|
- var href = 'http://github.com/angular-examples/' + ex;
|
|
|
|
span #[+liveExampleLink(linkText, ex)] (#[a(href='#{href}' target="_blank") #{srcText}])
|
2016-04-28 13:54:28 -04:00
|
|
|
|
2016-06-02 12:06:03 -04:00
|
|
|
- var adjustTsExamplePathForDart = function(_path) {
|
2016-05-04 08:18:38 -04:00
|
|
|
- if(!_path) return _path;
|
|
|
|
- var path = _path.trim();
|
2016-04-28 13:54:28 -04:00
|
|
|
- var folder = getFolder(path);
|
|
|
|
- var extn = getExtn(path);
|
|
|
|
- // if(extn == 'dart') return path;
|
2016-05-04 08:18:38 -04:00
|
|
|
- var baseName = getBaseFileName(path) || path; // TODO: have getBaseFileName() return path
|
2016-04-28 13:54:28 -04:00
|
|
|
- var baseNameNoExt = baseName.substr(0,baseName.length - (extn.length + 1));
|
2016-05-31 18:25:59 -04:00
|
|
|
- var inWebFolder = baseNameNoExt.match(/^(main|index)(\.\d)?$/);
|
2016-05-18 16:43:02 -04:00
|
|
|
- // Adjust the folder path, e.g., ts -> dart
|
2016-05-14 20:40:52 -04:00
|
|
|
- folder = folder.replace(/(^|\/)ts($|\/)/, '$1dart$2').replace(/(^|\/)app($|\/)/, inWebFolder ? '$1web$2' : '$1lib$2');
|
|
|
|
- // Special case not handled above: e.g., index.html -> web/index.html
|
2016-05-25 14:43:06 -04:00
|
|
|
- if(baseNameNoExt.match(/^(index|styles)(\.\d)?$/) && !folder.match(/web$/)) folder = (folder ? folder + '/' : '') + 'web';
|
2016-04-28 13:54:28 -04:00
|
|
|
- // In file name, replace special characters with underscore
|
|
|
|
- baseNameNoExt = baseNameNoExt.replace(/[\-\.]/g, '_');
|
|
|
|
- // Adjust the file extension
|
|
|
|
- if(extn == 'ts') extn = 'dart';
|
2016-05-04 08:18:38 -04:00
|
|
|
- return (folder ? folder + '/' : '') + baseNameNoExt + (extn ? '.' + extn : '');
|
2016-04-28 13:54:28 -04:00
|
|
|
- };
|
|
|
|
|
2016-06-02 12:06:03 -04:00
|
|
|
- var adjustTsExampleTitleForDart = function(_title) {
|
|
|
|
- if(!_title || !adjustTsExamplePathForDart) return _title;
|
2016-05-04 08:18:38 -04:00
|
|
|
- var title = _title.trim();
|
|
|
|
- // Assume title is a path if it ends with an extension like '.foo',
|
2016-05-06 10:42:01 -04:00
|
|
|
- // optionally followed by some comment in parentheses.
|
2016-05-14 20:40:52 -04:00
|
|
|
- var matches = title.match(/(.*\.\w+)($|\s*\([\w ]+\)$)/);
|
2016-05-04 08:18:38 -04:00
|
|
|
- if(matches && matches.length == 3) {
|
|
|
|
- // e.g. matches == ['abc.ts (excerpt)', 'abc.ts', ' (excerpt)']
|
2016-06-02 12:06:03 -04:00
|
|
|
- var path = adjustTsExamplePathForDart(matches[1]);
|
2016-05-04 08:18:38 -04:00
|
|
|
- title = path + matches[2];
|
2016-04-28 13:54:28 -04:00
|
|
|
- }
|
|
|
|
- return title;
|
|
|
|
- }
|