angular-docs-cn/public/docs/_layout.jade
Patrice Chalin 5e79a1a2b5 chore: fix broken links and transform API links for dart docs
- Dart non-api doc pages w/ links to API entries will now have those
links translated from a TS API reference URL to a Dart API reference
URL.
- Created and ran a link checker to verify that all such links to API
entries refer to Dart.
- Fixed links to pages that have moved:
 - JS & Dart: `i18n` is under now `cookbook` not `guide`
 - Dart: testing page is now directly under guide.

Contributes to #1895
Fixes #2273
2016-11-07 13:24:20 -08:00

64 lines
2.5 KiB
Plaintext

//- WARNING: _layout.jade and _layout-dart-api.jade should match in terms of content
//- except that one uses Harp partial/yield and the other uses Jade extends/include.
- function tsApiHrefToDart(match, hrefApi, dontcare1, urlRest) {
- // Simple argument values:
- // hrefApi: href="../api/
- // urlRest: core/index/ViewChild-var.html"
- // console.log(`got match on ${match}, 1: ${hrefApi}, 3: ${urlRest}`);
- var matches = urlRest.match(/^(\w*)\/index\/(\w*)-(\w*)(\.html")$/);
- // console.log(`urlRest matches ${matches}`);
- if (!matches) return match; // leave unchanged
- var i = 1; // matches[0] corresponds to the fully matched result
- var libName = matches[i++];
- var apiPageEntryName = matches[i++];
- var apiEntryKind = matches[i++];
- var suffix = matches[i++];
- return hrefApi + 'angular2.' + libName + '/' + apiPageEntryName + '-class' + suffix;
- }
if jade2ng
.side-nav--offset
!= partial("../_includes/_hero")
!= partial("../_includes/_banner")
.l-content-small.grid-fluid.docs-content
!= yield
else
doctype
html(lang="en" ng-app="angularIOApp" itemscope itemtype="http://schema.org/Framework")
// template: public/docs/_layout
head
!= partial("../_includes/_head-include")
block head-extra
//-
body(class="l-offset-nav l-offset-side-nav" ng-controller="AppCtrl as appCtrl")
!= partial("../_includes/_main-nav")
if current.path[2]
!= partial("_includes/_side-nav")
!= partial("../_includes/_hero")
!= partial("../_includes/_banner")
if current.path[3] == 'api'
if current.path[4] == 'index'
!= yield
else
article(class="l-content-small grid-fluid docs-content")
!= yield
else if current.path.indexOf('cheatsheet') > 0
!= yield
else
if current.path[3] == 'index' || current.path[3] == 'styleguide'
article(class="l-content-small grid-fluid docs-content")
!= yield
else
- var isDart = current.path[1] === 'dart';
- var regex = /(href=\"(\.?\.\/)*api\/)(.*")/g;
article(class="l-content-small grid-fluid docs-content")
!= !isDart ? yield : yield.replace(regex, tsApiHrefToDart)
if (current.path[3] == 'guide' || current.path[3] == 'tutorial') && current.path[4]
!= partial("../_includes/_next-item")
!= partial("../_includes/_footer")
!= partial("../_includes/_scripts-include")
!= partial("../_includes/_scripts-minimum")