Skip to content

Commit

Permalink
chore(kumascript): refactor and remove unused apis (#7812)
Browse files Browse the repository at this point in the history
1. Removes from the kumascript global scope:
  - kuma.*
  - page.{subpages,subpagesFlatten}
  - string.*
  - wiki.uri [inlining calls]
2. Moves {kuma => mdn}.htmlEscape.
3. Inlines the deprecated `minversionGeneric` macro.
4. Fixes an unnecessarily async function in the `CSSInfo` macro.
  • Loading branch information
fiji-flo committed Dec 16, 2022
1 parent 738d25a commit 5c0825d
Show file tree
Hide file tree
Showing 23 changed files with 93 additions and 412 deletions.
2 changes: 1 addition & 1 deletion kumascript/macros/APIRef.ejs
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ var mainIF = slug.replace('Web/API/','').split('/')[0];
mainIF = mainIF.charAt(0).toUpperCase() + mainIF.slice(1);
var group = $0;
var hasTag = page.hasTag;
var htmlEscape = kuma.htmlEscape;
var htmlEscape = mdn.htmlEscape;
var rtlLocales = ['ar', 'he', 'fa'];
var webAPIData = web.getJSONData("InterfaceData");
Expand Down
60 changes: 28 additions & 32 deletions kumascript/macros/CSSInfo.ejs
Original file line number Diff line number Diff line change
Expand Up @@ -33,10 +33,10 @@ let localStrings = require('mdn-data/l10n/css');
area - Area of the API (i.e. CSS, SVG, etc.)
linkName - String to use as link label
*/
async function createLink(apiName, area, linkName) {
function createLink(apiName, area, linkName) {
let formattedLinkName = linkName || apiName;
let url = "/" + locale + "/docs/Web/" + (area || "CSS") + "/" + apiName;
let thisPage = await localWiki.getPage(url);
let thisPage = localWiki.getPage(url);
if (thisPage.pageType === "css-function") {
formattedLinkName += "()";
Expand All @@ -60,37 +60,33 @@ async function parseMacros(s) {
}
var area = "";
let parsedString = await string.asyncReplace(
s,
/\{\{(.+?)(?:\((.+?)\))?\}\}/g,
async function (match, macroName, paramsString) {
var params = paramsString ? paramsString.split(/, ?/) : [];
params.forEach(function(param, index, params) {
params[index] = params[index].toLowerCase().slice(1, -1);
});
var apiName = (params.length !== 0 ? params[0] : "");
switch (macroName.toLowerCase()) {
case "xref_csslength":
apiName = "length";
area = "CSS";
break;
case "xref_cssangle":
apiName = "angle";
area = "CSS";
break;
case "svgelement":
area = "SVG/Element";
break;
default:
area = "CSS";
}
return await createLink(apiName, area, params[1]);
let parsedString = s.replace(/\{\{(.+?)(?:\((.+?)\))?\}\}/g, (match, macroName, paramsString) => {
const params = paramsString ? paramsString.split(/, ?/) : [];
params.forEach((param, index, params) => {
params[index] = params[index].toLowerCase().slice(1, -1);
});
let apiName = (params.length !== 0 ? params[0] : "");
switch (macroName.toLowerCase()) {
case "xref_csslength":
apiName = "length";
area = "CSS";
break;
case "xref_cssangle":
apiName = "angle";
area = "CSS";
break;
case "svgelement":
area = "SVG/Element";
break;
default:
area = "CSS";
}
);
return createLink(apiName, area, params[1]);
});
return parsedString;
}
Expand Down
8 changes: 4 additions & 4 deletions kumascript/macros/CSSRef.ejs
Original file line number Diff line number Diff line change
Expand Up @@ -125,7 +125,7 @@ const text = mdn.localStringMap({
'Scroll_snap': 'Scroll snap',
'Basic_concepts_of_scroll_snap': 'Basic concepts of scroll snap',
'Browser_compatibility_and_scroll_snap': 'Browser compatibility and scroll snap',
'Shapes': 'Shapes',
'Shapes': 'Shapes',
'Overview_of_shapes': 'Overview of shapes',
'Shapes_from_box_values': 'Shapes from box values',
'Basic_shapes': 'Basic shapes',
Expand Down Expand Up @@ -521,7 +521,7 @@ const text = mdn.localStringMap({
'Scroll_snap': 'Scroll snap',
'Basic_concepts_of_scroll_snap': 'Базовые концепции CSS Scroll Snap',
'Browser_compatibility_and_scroll_snap': 'Совместимость с браузером и Scroll Snap',
'Shapes': 'Фигуры',
'Shapes': 'Фигуры',
'Overview_of_shapes': 'Обзор фигур',
'Shapes_from_box_values': 'Фигуры из блочных значений',
'Basic_shapes': 'Основные фигуры',
Expand Down Expand Up @@ -672,7 +672,7 @@ const text = mdn.localStringMap({
'Scroll_snap': 'Scroll snap',
'Basic_concepts_of_scroll_snap': 'scroll snap 基础概念',
'Browser_compatibility_and_scroll_snap': 'scroll snap 和浏览器兼容性',
'Shapes': '形状',
'Shapes': '形状',
'Overview_of_shapes': '形状概述',
'Shapes_from_box_values': '使用 box 值指定形状',
'Basic_shapes': '基础的形状',
Expand Down Expand Up @@ -754,7 +754,7 @@ const locale = env.locale;
const learnURL = `/${locale}/docs/Learn/`;
const cssURL = `/${locale}/docs/Web/CSS/`;
const htmlEscape = kuma.htmlEscape;
const htmlEscape = mdn.htmlEscape;
const hasTag = page.hasTag;
const rtlLocales = ['ar', 'he', 'fa'];
Expand Down
2 changes: 1 addition & 1 deletion kumascript/macros/DefaultAPISidebar.ejs
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ var locale = env.locale;
var APIHref = '/' + locale + '/docs/Web/API';
var output = "";
var group = $0;
var htmlEscape = kuma.htmlEscape;
var htmlEscape = mdn.htmlEscape;
// slug is not available in preview mode.
if (slug && group) {
Expand Down
2 changes: 1 addition & 1 deletion kumascript/macros/EmbedInteractiveExample.ejs
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
// Example call {{EmbedInteractiveExample("pages/css/animation.html", "taller")}}
//
const url = kuma.url.resolve(env.interactive_examples.base_url, $0);
const url = (new URL($0, env.interactive_examples.base_url)).toString();
let heightClass = 'is-default-height';
if ($0.includes('/js/')) {
Expand Down
2 changes: 1 addition & 1 deletion kumascript/macros/ListGroups.ejs
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ let output = '';
// Conveniences to shorten names of some functions
let htmlEscape = kuma.htmlEscape;
let htmlEscape = mdn.htmlEscape;
let spacesToUnderscores = web.spacesToUnderscores;
// Get the GroupData database
Expand Down
2 changes: 1 addition & 1 deletion kumascript/macros/ListSubpagesForSidebar.ejs
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ if (includeParent) {
}
const containsTag = page.hasTag;
const htmlEscape = kuma.htmlEscape;
const htmlEscape = mdn.htmlEscape;
const badges = {
ExperimentalBadge: await template("ExperimentalBadge"),
Expand Down
2 changes: 1 addition & 1 deletion kumascript/macros/LiveSampleURL.ejs
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ const samplePath = `${pagePath}/_sample_.${web.slugify(web.safeDecodeURIComponen
let url;
if (env.live_samples.base_url.includes('://')) {
url = new kuma.url.URL(env.live_samples.base_url);
url = new URL(env.live_samples.base_url);
url.pathname = samplePath;
} else {
url = samplePath;
Expand Down
2 changes: 1 addition & 1 deletion kumascript/macros/SVGElement.ejs
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ const subPath = `Element/${term}`;
const baseURL = `/${env.locale}/docs/Web/SVG`;
const url = `${baseURL}/${subPath}`;
const title = `<${term}>`;
const link = web.smartLink(url, null, `<code>${kuma.htmlEscape(title)}</code>`, subPath, baseURL, ignoreFlawMacro);
const link = web.smartLink(url, null, `<code>${mdn.htmlEscape(title)}</code>`, subPath, baseURL, ignoreFlawMacro);
%>
<%- link %>
2 changes: 1 addition & 1 deletion kumascript/macros/SectionOnPage.ejs
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ let section = $1;
let lang = env.locale;
let text = "";
let page = await wiki.getPage($0);
let title = kuma.htmlEscape(page.title);
let title = mdn.htmlEscape(page.title);
let commonLocalStrings = web.getJSONData("L10n-Common");
let localize = mdn.getLocalString;
Expand Down
2 changes: 1 addition & 1 deletion kumascript/macros/WebExtAPISidebar.ejs
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ var locale = env.locale;
var baseURL = "/" + locale + "/docs/";
var baseAPIPage = baseURL + "Mozilla/Add-ons/WebExtensions/API";
var htmlEscape = kuma.htmlEscape;
var htmlEscape = mdn.htmlEscape;
var rtlLocales = ['ar', 'he', 'fa'];
let commonl10n = web.getJSONData('L10n-Common');
Expand Down
39 changes: 38 additions & 1 deletion kumascript/macros/fx_minversion_note.ejs
Original file line number Diff line number Diff line change
@@ -1 +1,38 @@
<%- await template("minversionGeneric", ["note","Firefox",$0,$1]) %>
<%
/*
* $0 - Firefox version
* $1 - Note content
*/
mdn.deprecated();
var lang = env.locale;
var product = "Firefox";
var version = $0.split('.',2).join('.').replace(/\.0/,'');
if (product == 'Firefox OS' && $0 == '1.0.1') {
version = $0
}
var productVersion = product + ' ' + version
var note = productVersion + " note";
switch(lang) {
case 'es':
note = "Nota sobre " + productVersion;
break;
case 'fr':
note = "Note concernant " + productVersion;
break;
case 'ja':
note = productVersion + " における注記";
break;
case 'ru':
note = "Замечание по "+productVersion;
break;
default: break;
} %>
<div class="notecard note">
<h4><%- note %></h4>
<p><%- $1 %></p>
</div>

4 changes: 2 additions & 2 deletions kumascript/macros/jsOverrides.ejs
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,7 @@ switch(env.locale) {
break;
}
var pageuri = wiki.uri(prefix + $0);
var pageuri = prefix + $0;
var captionText = `${$1}`.charAt(0).toUpperCase() + `${$1}`.slice(1).toLowerCase();
Expand Down Expand Up @@ -142,7 +142,7 @@ for (var i = 0; i < desiredprototype.length; i++) {
p = p.replace(/__/g, '');
var pimproper = p.charAt(0).toUpperCase() + p.slice(1).toLowerCase();
pageuri = wiki.uri(prefix + $0 + '/' + pimproper);
pageuri = prefix + $0 + '/' + pimproper;
parts.push('<a class="internal" href="' + pageuri + '"><code>' + p + '</code></a>');
}
Expand Down
79 changes: 0 additions & 79 deletions kumascript/macros/minversionGeneric.ejs

This file was deleted.

12 changes: 0 additions & 12 deletions kumascript/src/api/kuma.ts

This file was deleted.

2 changes: 2 additions & 0 deletions kumascript/src/api/mdn.ts
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,8 @@ const mdn = {
return e;
},

htmlEscape: util.htmlEscape,

/**
* Given a set of strings like this:
* { "en-US": "Foo", "de": "Bar", "es": "Baz" }
Expand Down
Loading

0 comments on commit 5c0825d

Please sign in to comment.