feat: add website root path settings (#1)
* feat: add website root path settings * fix: disable cloudflare rocket-loader for iframe-resizer
This commit is contained in:
parent
1b7e975080
commit
b8de1cbc8b
22 changed files with 86 additions and 60 deletions
|
|
@ -1,6 +1,7 @@
|
||||||
ACORE_ARMORY_AOWOW_URL="https://wotlkdb.com"
|
ACORE_ARMORY_AOWOW_URL="https://wotlkdb.com"
|
||||||
ACORE_ARMORY_WEBSITE_URL="https://mywebsite.com"
|
ACORE_ARMORY_WEBSITE_URL="https://mywebsite.com"
|
||||||
ACORE_ARMORY_WEBSITE_NAME="My Website"
|
ACORE_ARMORY_WEBSITE_NAME="My Website"
|
||||||
|
ACORE_ARMORY_WEBSITE_ROOT=""
|
||||||
ACORE_ARMORY_IFRAME_MODE__ENABLED=0
|
ACORE_ARMORY_IFRAME_MODE__ENABLED=0
|
||||||
ACORE_ARMORY_IFRAME_MODE__URL="https://mywebsite.com/armory"
|
ACORE_ARMORY_IFRAME_MODE__URL="https://mywebsite.com/armory"
|
||||||
ACORE_ARMORY_LOAD_DBCS=1
|
ACORE_ARMORY_LOAD_DBCS=1
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,7 @@
|
||||||
"aowowUrl": "https://wotlkdb.com",
|
"aowowUrl": "https://wotlkdb.com",
|
||||||
"websiteUrl": "https://mywebsite.com",
|
"websiteUrl": "https://mywebsite.com",
|
||||||
"websiteName": "My Website",
|
"websiteName": "My Website",
|
||||||
|
"websiteRoot": "",
|
||||||
"iframeMode": {
|
"iframeMode": {
|
||||||
"enabled": false,
|
"enabled": false,
|
||||||
"url": "https://mywebsite.com/armory"
|
"url": "https://mywebsite.com/armory"
|
||||||
|
|
|
||||||
4
package-lock.json
generated
4
package-lock.json
generated
|
|
@ -1,12 +1,12 @@
|
||||||
{
|
{
|
||||||
"name": "azerothcore-armory",
|
"name": "azerothcore-armory",
|
||||||
"version": "0.12.0",
|
"version": "0.13.0",
|
||||||
"lockfileVersion": 2,
|
"lockfileVersion": 2,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"packages": {
|
"packages": {
|
||||||
"": {
|
"": {
|
||||||
"name": "azerothcore-armory",
|
"name": "azerothcore-armory",
|
||||||
"version": "0.12.0",
|
"version": "0.13.0",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@supercharge/promise-pool": "^2.1.0",
|
"@supercharge/promise-pool": "^2.1.0",
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "azerothcore-armory",
|
"name": "azerothcore-armory",
|
||||||
"version": "0.12.0",
|
"version": "0.13.0",
|
||||||
"description": "",
|
"description": "",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"build": "tsc -p tsconfig.json",
|
"build": "tsc -p tsconfig.json",
|
||||||
|
|
|
||||||
|
|
@ -78,10 +78,19 @@ export class Armory {
|
||||||
|
|
||||||
this.logger.info("Starting server...");
|
this.logger.info("Starting server...");
|
||||||
|
|
||||||
app.locals.aowow = this.config.aowowUrl;
|
const locals = {
|
||||||
app.locals.websiteUrl = this.config.websiteUrl;
|
aowow: this.config.aowowUrl,
|
||||||
app.locals.websiteName = this.config.websiteName;
|
websiteUrl: this.config.websiteUrl,
|
||||||
app.locals.iframeMode = this.config.iframeMode;
|
websiteName: this.config.websiteName,
|
||||||
|
websiteRoot: this.config.websiteRoot,
|
||||||
|
iframeMode: this.config.iframeMode,
|
||||||
|
};
|
||||||
|
for (const key in locals) {
|
||||||
|
if (locals.hasOwnProperty(key)) {
|
||||||
|
app.locals[key] = locals[key];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
app.locals.locals = locals;
|
||||||
|
|
||||||
app.engine(".hbs", handlebarsEngine({
|
app.engine(".hbs", handlebarsEngine({
|
||||||
extname: "hbs",
|
extname: "hbs",
|
||||||
|
|
|
||||||
|
|
@ -27,6 +27,7 @@ export class Config {
|
||||||
public aowowUrl: string;
|
public aowowUrl: string;
|
||||||
public websiteUrl: string;
|
public websiteUrl: string;
|
||||||
public websiteName: string;
|
public websiteName: string;
|
||||||
|
public websiteRoot: string;
|
||||||
public iframeMode: IIframeModeConfig;
|
public iframeMode: IIframeModeConfig;
|
||||||
public loadDbcs: boolean;
|
public loadDbcs: boolean;
|
||||||
public hideGameMasters: boolean;
|
public hideGameMasters: boolean;
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,13 @@
|
||||||
<link rel="stylesheet" type="text/css" href="/css/character-achievements.css">
|
<link rel="stylesheet" type="text/css" href="{{websiteRoot}}/css/character-achievements.css">
|
||||||
|
<style>
|
||||||
|
.achievement .points.no-points {
|
||||||
|
background-image: url("{{websiteRoot}}/img/UI-Achievement-Shields-NoPoints.png");
|
||||||
|
}
|
||||||
|
|
||||||
|
.achievement .points {
|
||||||
|
background-image: url("{{websiteRoot}}/img/UI-Achievement-Shields.png");
|
||||||
|
}
|
||||||
|
</style>
|
||||||
{{> icons }}
|
{{> icons }}
|
||||||
<script type="application/javascript" src="{{aowow}}/static/widgets/power.js"></script>
|
<script type="application/javascript" src="{{aowow}}/static/widgets/power.js"></script>
|
||||||
|
|
||||||
|
|
@ -8,7 +17,7 @@
|
||||||
<div class="column has-text-centered title is-size-3">
|
<div class="column has-text-centered title is-size-3">
|
||||||
<span>Achievement Points:</span>
|
<span>Achievement Points:</span>
|
||||||
<span id="total-points"></span>
|
<span id="total-points"></span>
|
||||||
<img id="total-points-icon" src="/img/UI-Achievement-TinyShield.png">
|
<img id="total-points-icon" src="{{websiteRoot}}/img/UI-Achievement-TinyShield.png">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<br class="is-hidden-touch">
|
<br class="is-hidden-touch">
|
||||||
|
|
@ -205,7 +214,7 @@
|
||||||
$totalRow.prependTo($("#progress-bars")); // Move the total bar to the top
|
$totalRow.prependTo($("#progress-bars")); // Move the total bar to the top
|
||||||
}
|
}
|
||||||
|
|
||||||
$.getJSON(`/character/{{realm}}/{{guid}}/achievements/data`, (data) => {
|
$.getJSON(`{{websiteRoot}}/character/{{realm}}/{{guid}}/achievements/data`, (data) => {
|
||||||
achievementsData = data;
|
achievementsData = data;
|
||||||
|
|
||||||
const $summaryLink = $("<a>")
|
const $summaryLink = $("<a>")
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
<link rel="stylesheet" type="text/css" href="/css/character-pvp.css">
|
<link rel="stylesheet" type="text/css" href="{{websiteRoot}}/css/character-pvp.css">
|
||||||
{{> emblems}}
|
{{> emblems}}
|
||||||
|
|
||||||
{{> character-header }}
|
{{> character-header }}
|
||||||
|
|
@ -6,9 +6,9 @@
|
||||||
<div class="columns is-multiline">
|
<div class="columns is-multiline">
|
||||||
<div class="column has-text-centered is-size-5 is-full-touch is-one-quarter-desktop">
|
<div class="column has-text-centered is-size-5 is-full-touch is-one-quarter-desktop">
|
||||||
{{#eq faction 1}}
|
{{#eq faction 1}}
|
||||||
<img class="faction" src="/img/PlusManz-Alliance.png">
|
<img class="faction" src="{{websiteRoot}}/img/PlusManz-Alliance.png">
|
||||||
{{else}}
|
{{else}}
|
||||||
<img class="faction" src="/img/PlusManz-Horde.png">
|
<img class="faction" src="{{websiteRoot}}/img/PlusManz-Horde.png">
|
||||||
{{/eq}}
|
{{/eq}}
|
||||||
|
|
||||||
<div>Total Kills: {{kills.total}}</div>
|
<div>Total Kills: {{kills.total}}</div>
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
<link rel="stylesheet" type="text/css" href="/css/character-talents.css">
|
<link rel="stylesheet" type="text/css" href="{{websiteRoot}}/css/character-talents.css">
|
||||||
{{> icons }}
|
{{> icons }}
|
||||||
<script type="application/javascript">
|
<script type="application/javascript">
|
||||||
const aowow_tooltips = { "renamelinks": true, };
|
const aowow_tooltips = { "renamelinks": true, };
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
<link rel="stylesheet" type="text/css" href="/css/character.css">
|
<link rel="stylesheet" type="text/css" href="{{websiteRoot}}/css/character.css">
|
||||||
{{> icons }}
|
{{> icons }}
|
||||||
|
|
||||||
<script type="application/javascript" src="/js/viewer.min.js"></script>
|
<script type="application/javascript" src="{{websiteRoot}}/js/viewer.min.js"></script>
|
||||||
<script type="application/javascript" src="{{aowow}}/static/widgets/power.js"></script>
|
<script type="application/javascript" src="{{aowow}}/static/widgets/power.js"></script>
|
||||||
|
|
||||||
{{> character-header }}
|
{{> character-header }}
|
||||||
|
|
@ -139,7 +139,7 @@
|
||||||
$item
|
$item
|
||||||
.data("icon", icon)
|
.data("icon", icon)
|
||||||
.find(".inventory-slot")
|
.find(".inventory-slot")
|
||||||
.css("background-image", `url("/img/inventory-slot/${invSlot}.png")`);
|
.css("background-image", `url("{{websiteRoot}}/img/inventory-slot/${invSlot}.png")`);
|
||||||
if (item !== undefined) {
|
if (item !== undefined) {
|
||||||
$item.data("item", item);
|
$item.data("item", item);
|
||||||
$item.find("a").attr("href", `{{aowow}}/?item=${item}`);
|
$item.find("a").attr("href", `{{aowow}}/?item=${item}`);
|
||||||
|
|
@ -209,7 +209,7 @@
|
||||||
$("#mounts-container").hide();
|
$("#mounts-container").hide();
|
||||||
} else {
|
} else {
|
||||||
const $dismount = $mountTemplate.clone();
|
const $dismount = $mountTemplate.clone();
|
||||||
$dismount.find(".icon").css("background-image", `url("/img/UI-GearManager-LeaveItem.png")`);
|
$dismount.find(".icon").css("background-image", `url("{{websiteRoot}}/img/UI-GearManager-LeaveItem.png")`);
|
||||||
$dismount.find("a")
|
$dismount.find("a")
|
||||||
.on("click", () => {
|
.on("click", () => {
|
||||||
setMount(0);
|
setMount(0);
|
||||||
|
|
@ -235,7 +235,7 @@
|
||||||
|
|
||||||
const characterModel = {
|
const characterModel = {
|
||||||
type: ZamModelViewer.WOW,
|
type: ZamModelViewer.WOW,
|
||||||
contentPath: "/data/",
|
contentPath: "{{websiteRoot}}/data/",
|
||||||
background: "background.png",
|
background: "background.png",
|
||||||
container: $model,
|
container: $model,
|
||||||
hd: true,
|
hd: true,
|
||||||
|
|
|
||||||
|
|
@ -60,7 +60,6 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
.achievement .points {
|
.achievement .points {
|
||||||
background-image: url("/img/UI-Achievement-Shields.png");
|
|
||||||
background-repeat: no-repeat;
|
background-repeat: no-repeat;
|
||||||
width: 64px;
|
width: 64px;
|
||||||
height: 64px;
|
height: 64px;
|
||||||
|
|
@ -87,10 +86,6 @@
|
||||||
transform: translateX(-50%);
|
transform: translateX(-50%);
|
||||||
}
|
}
|
||||||
|
|
||||||
.achievement .points.no-points {
|
|
||||||
background-image: url("/img/UI-Achievement-Shields-NoPoints.png");
|
|
||||||
}
|
|
||||||
|
|
||||||
.achievement .points.no-points .value {
|
.achievement .points.no-points .value {
|
||||||
visibility: hidden;
|
visibility: hidden;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -21,10 +21,6 @@
|
||||||
margin-right: 4px;
|
margin-right: 4px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.guild-emblem {
|
|
||||||
background: url("/img/guild-emblems/circle.png") no-repeat center;
|
|
||||||
}
|
|
||||||
|
|
||||||
#members_processing {
|
#members_processing {
|
||||||
height: 70px;
|
height: 70px;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,7 @@
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<br>
|
<br>
|
||||||
<a class="button is-info" href="/">Back to Armory</a>
|
<a class="button is-info" href="{{websiteRoot}}/">Back to Armory</a>
|
||||||
<a class="button is-info" href="{{websiteUrl}}" target="_parent">{{websiteName}} Homepage</a>
|
<a class="button is-info" href="{{websiteUrl}}" target="_parent">{{websiteName}} Homepage</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,13 @@
|
||||||
<link rel="stylesheet" type="text/css" href="/css/guild.css">
|
<link rel="stylesheet" type="text/css" href="{{websiteRoot}}/css/guild.css">
|
||||||
|
<style>
|
||||||
|
.guild-emblem {
|
||||||
|
background: url("{{websiteRoot}}/img/guild-emblems/circle.png") no-repeat center;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
{{> datatables}}
|
{{> datatables}}
|
||||||
{{> emblems}}
|
{{> emblems}}
|
||||||
|
|
||||||
<a href="/">Back to Armory</a>
|
<a href="{{websiteRoot}}/">Back to Armory</a>
|
||||||
<br><br>
|
<br><br>
|
||||||
|
|
||||||
<div id="guild-header">
|
<div id="guild-header">
|
||||||
|
|
@ -17,19 +22,19 @@
|
||||||
<div class="char-name title is-size-3"><{{name}}></div>
|
<div class="char-name title is-size-3"><{{name}}></div>
|
||||||
<div class="is-size-5">
|
<div class="is-size-5">
|
||||||
<div>
|
<div>
|
||||||
Guild Master: <a href="/character/{{realm}}/{{leader}}">{{leader}}</a>
|
Guild Master: <a href="{{websiteRoot}}/character/{{realm}}/{{leader}}">{{leader}}</a>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
{{membersCount}} members
|
{{membersCount}} members
|
||||||
</div>
|
</div>
|
||||||
{{#eq faction 1}}
|
{{#eq faction 1}}
|
||||||
<div class="faction">
|
<div class="faction">
|
||||||
<img class="logo" src="/img/PlusManz-Alliance.png">
|
<img class="logo" src="{{websiteRoot}}/img/PlusManz-Alliance.png">
|
||||||
<span>Alliance</span>
|
<span>Alliance</span>
|
||||||
</div>
|
</div>
|
||||||
{{else}}
|
{{else}}
|
||||||
<div class="faction">
|
<div class="faction">
|
||||||
<img class="logo" src="/img/PlusManz-Horde.png">
|
<img class="logo" src="{{websiteRoot}}/img/PlusManz-Horde.png">
|
||||||
<span>Horde</span>
|
<span>Horde</span>
|
||||||
</div>
|
</div>
|
||||||
{{/eq}}
|
{{/eq}}
|
||||||
|
|
@ -61,12 +66,12 @@
|
||||||
serverSide: true,
|
serverSide: true,
|
||||||
searchDelay: 800,
|
searchDelay: 800,
|
||||||
ajax: {
|
ajax: {
|
||||||
url: `/guild/{{realm}}/{{name}}/members`,
|
url: `{{websiteRoot}}/guild/{{realm}}/{{name}}/members`,
|
||||||
},
|
},
|
||||||
columnDefs: [
|
columnDefs: [
|
||||||
{
|
{
|
||||||
targets: 0,
|
targets: 0,
|
||||||
render: (name) => `<a href="/character/{{realm}}/${name}">${name}</a>`,
|
render: (name) => `<a href="{{websiteRoot}}/character/{{realm}}/${name}">${name}</a>`,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
targets: 1,
|
targets: 1,
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
<link rel="stylesheet" type="text/css" href="/css/index.css">
|
<link rel="stylesheet" type="text/css" href="{{websiteRoot}}/css/index.css">
|
||||||
{{> datatables}}
|
{{> datatables}}
|
||||||
|
|
||||||
<h1 class="title is-size-1">Armory</h1>
|
<h1 class="title is-size-1">Armory</h1>
|
||||||
|
|
@ -45,7 +45,7 @@
|
||||||
serverSide: true,
|
serverSide: true,
|
||||||
searchDelay: 800,
|
searchDelay: 800,
|
||||||
ajax: {
|
ajax: {
|
||||||
url: `/search`,
|
url: `{{websiteRoot}}/search`,
|
||||||
data: d => {
|
data: d => {
|
||||||
d.realm = $("#select-realm").val();
|
d.realm = $("#select-realm").val();
|
||||||
},
|
},
|
||||||
|
|
@ -53,11 +53,11 @@
|
||||||
columnDefs: [
|
columnDefs: [
|
||||||
{
|
{
|
||||||
targets: 0,
|
targets: 0,
|
||||||
render: (name, type, row, meta) => `<a href="/character/${meta.settings.json.realm}/${name}">${name}</a>`,
|
render: (name, type, row, meta) => `<a href="{{websiteRoot}}/character/${meta.settings.json.realm}/${name}">${name}</a>`,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
targets: 1,
|
targets: 1,
|
||||||
render: (guild, type, row, meta) => guild === null ? "" : `<a href="/guild/${meta.settings.json.realm}/${guild}">${guild}</a>`,
|
render: (guild, type, row, meta) => guild === null ? "" : `<a href="{{websiteRoot}}/guild/${meta.settings.json.realm}/${guild}">${guild}</a>`,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
searchable: false,
|
searchable: false,
|
||||||
|
|
|
||||||
|
|
@ -16,7 +16,7 @@ function createGuildEmblem(emblem, el) {
|
||||||
const canvas = $emblem.find("canvas")[0];
|
const canvas = $emblem.find("canvas")[0];
|
||||||
const ctx = canvas.getContext("2d");
|
const ctx = canvas.getContext("2d");
|
||||||
|
|
||||||
const imgUrl = (type, section, value, value2) => `/img/guild-emblems/${type}_${value}${value2 ? ("_" + value2) : ""}_T${section}_U.PNG`;
|
const imgUrl = (type, section, value, value2) => `${handlebarsData.websiteRoot}/img/guild-emblems/${type}_${value}${value2 ? ("_" + value2) : ""}_T${section}_U.PNG`;
|
||||||
|
|
||||||
const $images = $("<div>").addClass("images").appendTo($emblem);
|
const $images = $("<div>").addClass("images").appendTo($emblem);
|
||||||
const bgUpper = $("<img>").attr("src", imgUrl("Background", "U", emblem.background)).appendTo($images)[0];
|
const bgUpper = $("<img>").attr("src", imgUrl("Background", "U", emblem.background)).appendTo($images)[0];
|
||||||
|
|
@ -64,7 +64,7 @@ function createArenaEmblem(teamSize, emblem, el) {
|
||||||
const canvas = $emblem.find("canvas")[0];
|
const canvas = $emblem.find("canvas")[0];
|
||||||
const ctx = canvas.getContext("2d");
|
const ctx = canvas.getContext("2d");
|
||||||
|
|
||||||
const imgUrl = (teamSize, type, value) => `/img/arena-banners/PVP-Banner${teamSize ? ("-" + teamSize) : ""}${type ? ("-" + type) : ""}${value ? ("-" + value) : ""}.PNG`;
|
const imgUrl = (teamSize, type, value) => `${handlebarsData.websiteRoot}/img/arena-banners/PVP-Banner${teamSize ? ("-" + teamSize) : ""}${type ? ("-" + type) : ""}${value ? ("-" + value) : ""}.PNG`;
|
||||||
|
|
||||||
const $images = $("<div>").addClass("images").appendTo($emblem);
|
const $images = $("<div>").addClass("images").appendTo($emblem);
|
||||||
const banner = $("<img>").attr("src", imgUrl(teamSize)).appendTo($images)[0];
|
const banner = $("<img>").attr("src", imgUrl(teamSize)).appendTo($images)[0];
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
window.parent.postMessage({
|
window.parent.postMessage({
|
||||||
url: window.location.pathname,
|
url: window.location.pathname.replace(handlebarsData.websiteRoot, ""),
|
||||||
}, "*");
|
}, "*");
|
||||||
|
|
|
||||||
|
|
@ -6,22 +6,31 @@
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||||
<title>{{title}}</title>
|
<title>{{title}}</title>
|
||||||
|
|
||||||
<link rel="stylesheet" type="text/css" href="/css/bulma.min.css">
|
<link rel="stylesheet" type="text/css" href="{{websiteRoot}}/css/bulma.min.css">
|
||||||
<link rel="stylesheet" type="text/css" href="/css/armory.css">
|
<link rel="stylesheet" type="text/css" href="{{websiteRoot}}/css/armory.css">
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body>
|
<body>
|
||||||
|
<script type="application/javascript">
|
||||||
|
const handlebarsData = {{{JSONstringify locals}}};
|
||||||
|
</script>
|
||||||
|
<script type="application/javascript" src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
|
||||||
|
|
||||||
{{#if iframeMode.enabled}}
|
{{#if iframeMode.enabled}}
|
||||||
<script type="application/javascript">
|
<script type="application/javascript">
|
||||||
if (window === window.parent) {
|
if (window === window.parent) {
|
||||||
// If not embedded, redirect to the main website with the iframe in it
|
// If not embedded, redirect to the main website with the iframe in it
|
||||||
window.location.href = `{{iframeMode.url}}/?${window.location.pathname.trim().replace(/^\//, "")}`;
|
window.location.href = `{{iframeMode.url}}/?${window.location.pathname.trim().replace(handlebarsData.websiteRoot, "").replace(/^\//, "")}`;
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
<script type="application/javascript" src="/js/sync-url.js"></script>
|
<script type="application/javascript" src="{{websiteRoot}}/js/sync-url.js"></script>
|
||||||
<script type="application/javascript" src="https://cdn.jsdelivr.net/npm/iframe-resizer@4.3.2/js/iframeResizer.contentWindow.min.js"></script>
|
<script type="application/javascript" data-cfasync="false" src="https://cdn.jsdelivr.net/npm/iframe-resizer@4.3.2/js/iframeResizer.contentWindow.min.js"></script>
|
||||||
|
<script type="application/javascript">
|
||||||
|
$(window).on("load", () => {
|
||||||
|
window.parent.postMessage("contentLoaded", "*");
|
||||||
|
});
|
||||||
|
</script>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
<script type="application/javascript" src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
|
|
||||||
|
|
||||||
<section class="section">
|
<section class="section">
|
||||||
{{{ body }}}
|
{{{ body }}}
|
||||||
|
|
|
||||||
|
|
@ -1,16 +1,16 @@
|
||||||
<a href="/">Back to Armory</a>
|
<a href="{{websiteRoot}}/">Back to Armory</a>
|
||||||
<br><br>
|
<br><br>
|
||||||
|
|
||||||
<a href="/character/{{realm}}/{{name}}">Character</a> 
|
<a href="{{websiteRoot}}/character/{{realm}}/{{name}}">Character</a> 
|
||||||
<a href="/character/{{realm}}/{{name}}/talents">Talents</a> 
|
<a href="{{websiteRoot}}/character/{{realm}}/{{name}}/talents">Talents</a> 
|
||||||
<a href="/character/{{realm}}/{{name}}/achievements">Achievements</a>
|
<a href="{{websiteRoot}}/character/{{realm}}/{{name}}/achievements">Achievements</a>
|
||||||
<a href="/character/{{realm}}/{{name}}/pvp">PvP</a>
|
<a href="{{websiteRoot}}/character/{{realm}}/{{name}}/pvp">PvP</a>
|
||||||
<br>
|
<br>
|
||||||
<br>
|
<br>
|
||||||
|
|
||||||
<div class="char-name title is-size-3">{{name}}</div>
|
<div class="char-name title is-size-3">{{name}}</div>
|
||||||
{{#if guild}}
|
{{#if guild}}
|
||||||
<a class="guild-name title is-size-4" href="/guild/{{realm}}/{{guild}}"><{{guild}}></a>
|
<a class="guild-name title is-size-4" href="{{websiteRoot}}/guild/{{realm}}/{{guild}}"><{{guild}}></a>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
<div class="is-size-5">
|
<div class="is-size-5">
|
||||||
Level <span class="char-level">{{level}}</span>
|
Level <span class="char-level">{{level}}</span>
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
<link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/1.11.3/css/jquery.dataTables.min.css">
|
<link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/1.11.3/css/jquery.dataTables.min.css">
|
||||||
<link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/responsive/2.2.9/css/responsive.dataTables.min.css">
|
<link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/responsive/2.2.9/css/responsive.dataTables.min.css">
|
||||||
<link rel="stylesheet" type="text/css" href="/css/datatables.css">
|
<link rel="stylesheet" type="text/css" href="{{websiteRoot}}/css/datatables.css">
|
||||||
<script type="application/javascript" src="https://cdn.datatables.net/1.11.3/js/jquery.dataTables.min.js"></script>
|
<script type="application/javascript" src="https://cdn.datatables.net/1.11.3/js/jquery.dataTables.min.js"></script>
|
||||||
<script type="application/javascript" src="https://cdn.datatables.net/responsive/2.2.9/js/dataTables.responsive.min.js"></script>
|
<script type="application/javascript" src="https://cdn.datatables.net/responsive/2.2.9/js/dataTables.responsive.min.js"></script>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,2 +1,2 @@
|
||||||
<link rel="stylesheet" type="text/css" href="/css/emblems.css">
|
<link rel="stylesheet" type="text/css" href="{{websiteRoot}}/css/emblems.css">
|
||||||
<script type="application/javascript" src="/js/emblems.js"></script>
|
<script type="application/javascript" src="{{websiteRoot}}/js/emblems.js"></script>
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
<link rel="stylesheet" type="text/css" href="/css/icons.css">
|
<link rel="stylesheet" type="text/css" href="{{websiteRoot}}/css/icons.css">
|
||||||
<style>
|
<style>
|
||||||
.iconlarge .border {
|
.iconlarge .border {
|
||||||
background-image: url("{{aowow}}/static/images/Icon/large/border/default.png");
|
background-image: url("{{aowow}}/static/images/Icon/large/border/default.png");
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue