61 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			61 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| include ../../../_includes/_util-fns
 | |
| 
 | |
| //- See the _util-fns file included above for a description of the use of these variables.
 | |
| - var _docsFor = 'dart';
 | |
| - var _decorator = 'annotation';
 | |
| - var _array = 'list';
 | |
| - var _an_array = 'a list'; //- Deprecate now that we have the articles
 | |
| - var _a = 'an';
 | |
| - var _an = 'a';
 | |
| - var _priv = '_';
 | |
| - var _Lang = 'Dart';
 | |
| - var _Promise = 'Future';
 | |
| - var _Observable = 'Stream';
 | |
| - var _liveLink = 'sample repo';
 | |
| 
 | |
| mixin liveExampleLink(linkText, exampleUrlPartName)
 | |
|   - var text = linkText || '在线例子';
 | |
|   - var ex = exampleUrlPartName || getExampleName();
 | |
|   - var href = 'http://angular-examples.github.io/' + ex;
 | |
|   a(href='#{href}' target="_blank")= text
 | |
| 
 | |
| mixin liveExampleLink2(linkText, exampleUrlPartName)
 | |
|   - var srcText = attributes.srcText || '查看源码';
 | |
|   - var ex = exampleUrlPartName || attributes.example || getExampleName();
 | |
|   - var href = 'http://github.com/angular-examples/' + ex;
 | |
|   span #[+liveExampleLink(linkText, ex)] (#[a(href='#{href}' target="_blank") #{srcText}])
 | |
| 
 | |
| - var adjustExamplePath = function(_path) {
 | |
| -   if(!_path) return _path;
 | |
| -   var path = _path.trim();
 | |
| -   var folder = getFolder(path);
 | |
| -   var extn = getExtn(path);
 | |
| -   // if(extn == 'dart') return path;
 | |
| -   var baseName = getBaseFileName(path) || path; // TODO: have getBaseFileName() return path
 | |
| -   var baseNameNoExt = baseName.substr(0,baseName.length - (extn.length + 1));
 | |
| -   var inWebFolder = baseNameNoExt.match(/^(main|index(\.\d)?)$/);
 | |
| -   // Adjust the folder path, e.g., ts -> dart
 | |
| -   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
 | |
| -   if(baseNameNoExt.match(/^(index|styles)(\.\d)?$/)) folder = (folder ? folder + '/' : '') + 'web';
 | |
| -   // In file name, replace special characters with underscore
 | |
| -   baseNameNoExt = baseNameNoExt.replace(/[\-\.]/g, '_');
 | |
| -   // Adjust the file extension
 | |
| -   if(extn == 'ts') extn = 'dart';
 | |
| -   return (folder ? folder + '/' : '') + baseNameNoExt + (extn ? '.' + extn : '');
 | |
| - };
 | |
| 
 | |
| - var adjustExampleTitle = function(_title) {
 | |
| -   if(!_title || !adjustExamplePath) return _title;
 | |
| -   var title = _title.trim();
 | |
| -   // Assume title is a path if it ends with an extension like '.foo',
 | |
| -   // optionally followed by some comment in parentheses.
 | |
| -   var matches = title.match(/(.*\.\w+)($|\s*\([\w ]+\)$)/);
 | |
| -   if(matches && matches.length == 3) {
 | |
| -     // e.g. matches == ['abc.ts (excerpt)', 'abc.ts', ' (excerpt)']
 | |
| -     var path = adjustExamplePath(matches[1]);
 | |
| -     title = path + matches[2];
 | |
| -   }
 | |
| -   return title;
 | |
| - }
 |