From e5536d8c23b23ad9eb5cfccea9847444249641eb Mon Sep 17 00:00:00 2001 From: Valentin Ivanov Date: Mon, 23 Apr 2018 17:09:14 -0400 Subject: [PATCH] Move html template out --- assets/{style.css => profile.css} | 2 +- assets/profile.html | 6 ++++++ src/profileHtmlProvider.ts | 18 +++++++++++++++--- 3 files changed, 22 insertions(+), 4 deletions(-) rename assets/{style.css => profile.css} (97%) create mode 100644 assets/profile.html diff --git a/assets/style.css b/assets/profile.css similarity index 97% rename from assets/style.css rename to assets/profile.css index cd11431..2dd3e6c 100644 --- a/assets/style.css +++ b/assets/profile.css @@ -40,5 +40,5 @@ h3 { } img { - float: left; + float: left; } \ No newline at end of file diff --git a/assets/profile.html b/assets/profile.html new file mode 100644 index 0000000..d67b30b --- /dev/null +++ b/assets/profile.html @@ -0,0 +1,6 @@ + +

${user}'s Profile Level ${level} (${xp} XP) + <% if( newxp > 0 ) { %> + (<%= newxp %>) + <% } %> +

diff --git a/src/profileHtmlProvider.ts b/src/profileHtmlProvider.ts index 0fdf88a..94faccd 100644 --- a/src/profileHtmlProvider.ts +++ b/src/profileHtmlProvider.ts @@ -7,9 +7,12 @@ import { ExtensionContext } from "vscode"; import * as path from "path"; +import * as fs from 'fs'; import { CodeStatsAPI } from "./code-stats-api"; +import template = require('lodash.template'); + export class ProfileHtmlProvider implements TextDocumentContentProvider { onDidChange?: Event; @@ -54,7 +57,7 @@ export class ProfileHtmlProvider implements TextDocumentContentProvider { return ret; } - function getHeader(profile: any): string { + function getHeader(context: ExtensionContext, profile: any): string { let userName = profile["user"]; let totalXp = profile["total_xp"]; @@ -67,11 +70,20 @@ export class ProfileHtmlProvider implements TextDocumentContentProvider { 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 ` - ${getHeader(profile)} + ${getHeader(this.context, profile)} ${getLanguages(profile["languages"])} `;