Move html template out

This commit is contained in:
Valentin Ivanov 2018-04-23 17:09:14 -04:00 committed by Juha Ristolainen
parent 4a77a37875
commit e5536d8c23
3 changed files with 22 additions and 4 deletions

6
assets/profile.html Normal file
View File

@ -0,0 +1,6 @@
<link rel="stylesheet" href="file:///${style}">
<h3> ${user}'s Profile Level ${level} (${xp} XP)
<% if( newxp > 0 ) { %>
<sup>(<%= newxp %>)</sup>
<% } %>
</h3>

View File

@ -7,9 +7,12 @@ import {
ExtensionContext ExtensionContext
} from "vscode"; } from "vscode";
import * as path from "path"; import * as path from "path";
import * as fs from 'fs';
import { CodeStatsAPI } from "./code-stats-api"; import { CodeStatsAPI } from "./code-stats-api";
import template = require('lodash.template');
export class ProfileHtmlProvider implements TextDocumentContentProvider { export class ProfileHtmlProvider implements TextDocumentContentProvider {
onDidChange?: Event<Uri>; onDidChange?: Event<Uri>;
@ -54,7 +57,7 @@ export class ProfileHtmlProvider implements TextDocumentContentProvider {
return ret; return ret;
} }
function getHeader(profile: any): string { function getHeader(context: ExtensionContext, profile: any): string {
let userName = profile["user"]; let userName = profile["user"];
let totalXp = profile["total_xp"]; let totalXp = profile["total_xp"];
@ -67,11 +70,20 @@ export class ProfileHtmlProvider implements TextDocumentContentProvider {
return this.api.getProfile().then(profile => { return this.api.getProfile().then(profile => {
//console.log(profile); // let htmlTemplate = fs.readFileSync(this.context.asAbsolutePath("assets/profile.html"));
// let html = template(htmlTemplate);
// let result = html({ style: this.context.asAbsolutePath("assets/style.css"), user: 'Architect' });
// let userName = profile["user"];
// let totalXp = profile["total_xp"];
// let newXp = profile["new_xp"];
// let currentLevel = getLevel(totalXp);
return ` return `
<link rel="stylesheet" href="file:///${this.context.asAbsolutePath("assets/style.css")}"> <link rel="stylesheet" href="file:///${this.context.asAbsolutePath("assets/style.css")}">
<img width="64px" height="64px" src="file:///${this.context.asAbsolutePath("assets/r2.svg")}"> <img width="64px" height="64px" src="file:///${this.context.asAbsolutePath("assets/r2.svg")}">
${getHeader(profile)} ${getHeader(this.context, profile)}
${getLanguages(profile["languages"])} ${getLanguages(profile["languages"])}
`; `;