Read html from file

This commit is contained in:
jakergrossman 2021-11-30 12:03:33 -06:00
parent 1423360f5d
commit 7ab82ed1f8
4 changed files with 121 additions and 134 deletions

33
media/html/mackeys.html Normal file
View File

@ -0,0 +1,33 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Mind Reader Key Bindings for Mac</title>
</head>
<body>
<h2> Here is a list of all the Mind Reader commands and their keybindings on Mac systems </h2>
<p>
<h2> Editor Settings </h2>
Increase Font Scale - <br>
Decrease Font Scale - <br>
Increase Editor Scale - <br>
Decrease Editor Scale - <br>
Reset Editor Scale - <br>
Select Theme - <br>
<h2>Navigation</h2>
Get Indent - <br>
Show All Symbols - <br>
Go To Line - <br>
Quick Open - <br>
Go To Symbol - <br>
Show Problems - <br>
Next In File - <br>
Previous In File - <br>
Open Previous Editor Group - <br>
Navigate Forward - <br>
Navigate Back - <br>
Get Quick Input Back -
</p>
</body>
</html>

43
media/html/main.html Normal file
View File

@ -0,0 +1,43 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Mind Reader</title>
</head>
<body>
<img src="https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcT6a4XaqHkKcxJ6ZFms1RNrRurcOfl-diW90DAdpAx0Kv-rtrLJXovIhcUpayqFHATkrQ&usqp=CAU" width="600" />
<p></p>
<h1>Welcome to Mind_Reader!</h1>
<p>We are the Single Semester Snobs and this is our tool to Help Blind Students Program Lego Mindstorms Robots in Python.</p>
<ul>
<li>
This tool includes features such as a hotkey that says how many spaces in the text starts, an Accessibility Pane,
Audio Alerts, and an advanced settings window.
<br>
The tool has hotkeys for both PC and Mac commands.
</li>
<li>This system is intended for everyone, but primarily for students K-12 who are visually impaired. </li>
<li>
Our goal is to provide an enhanced experience for students who are visually impaired that is transparent to
sighted students.
<br>
This allows for everyone to use the same software solution, whether or not they are
vision impaired.
</li>
</ul>
<p>Use the following key binding to bring up a page for all key bindings for windows
<br>
Control and Shift and 8
</p>
<p>Use this key binding to do the same for mac computers:
<br>
Command and Shift and 9
</p>
<h2>This is the Lego Spike Prime!</h2z>
<p></p>
<img src="https://cdn.vox-cdn.com/thumbor/qoaa6N2ppl7oj97MR-aj43qPy0w=/0x0:1024x576/920x613/filters:focal(431x207:593x369):format(webp)/cdn.vox-cdn.com/uploads/chorus_image/image/63339099/lego_spike.0.png" width="300" />
<p></p>
<a href="https://www.lego.com/en-us/product/lego-education-spike-prime-set-45678">Get the robot!</a>
</body>
</html>

33
media/html/winkeys.html Normal file
View File

@ -0,0 +1,33 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Mind Reader Key Bindings for Windows</title>
</head>
<body>
<h2> Here is a list of all Mind Reader's commands and their keybindings on windows and linux systems </h2>
<p>
<h2> Editor Settings </h2>
Increase Font Scale - Number Pad Add<br>
Decrease Font Scale - Number Pad Subtract<br>
Increase Editor Scale - Shift and Number Pad Add<br>
Decrease Editor Scale - Shift and Number Pad Subtract<br>
Reset Editor Scale - Shift and Enter<br>
Select Theme - Control and Shift and 1<br>
<h2>Navigation</h2>
Get Indent - Shift and Tab<br>
Show All Symbols - Control and T<br>
Go To Line - Control and G<br>
Quick Open - Control and P<br>
Go To Symbol - Control and Shift and 0<br>
Show Problems - Control and Shift and M<br>
Next In File - F8<br>
Previous In File - Shift and F8<br>
Open Previous Editor Group - Control and Tab<br>
Navigate Forward - Control and Shift and Minus<br>
Navigate Back - Control and Alt and Minus<br>
Get Quick Input Back - Control and Alt and Minus
</p>
</body>
</html>

View File

@ -1,5 +1,6 @@
import * as vscode from 'vscode'; import * as vscode from 'vscode';
import * as pl from './pylex'; import * as pl from './pylex';
import * as fs from 'fs';
/** /**
* @type {Object} Command // Command to register with the VS Code Extension API * @type {Object} Command // Command to register with the VS Code Extension API
@ -57,11 +58,11 @@ const commands: Command[] = [
{ {
name: 'mind-reader.openKeyBindWin', name: 'mind-reader.openKeyBindWin',
callback: openKeyBindWin, callback: () => openKeyBindWin('Windows')
}, },
{ {
name: 'mind-reader.openKeyBindMac', name: 'mind-reader.openKeyBindMac',
callback: openKeyBindMac, callback: () => openKeyBindWin('Mac'),
}, },
//Navigation Keys...... //Navigation Keys......
@ -173,56 +174,14 @@ function openWebview(): void {
{} {}
); // Webview options. More on these later. ); // Webview options. More on these later.
panel.webview.html = getWebviewContent(); panel.webview.html = getWebviewContent('media/html/main.html');
} }
function getWebviewContent() { function getWebviewContent(filepath: string) {
return `<!DOCTYPE html> return fs.readFileSync(filepath, {encoding: 'utf-8'});
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Mind Reader</title>
</head>
<body>
<img src="https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcT6a4XaqHkKcxJ6ZFms1RNrRurcOfl-diW90DAdpAx0Kv-rtrLJXovIhcUpayqFHATkrQ&usqp=CAU" width="600" />
<p></p>
<h1>Welcome to Mind_Reader!</h1>
<p>We are the Single Semester Snobs and this is our tool to Help Blind Students Program Lego Mindstorms Robots in Python.</p>
<ul>
<li>
This tool includes features such as a hotkey that says how many spaces in the text starts, an Accessibility Pane,
Audio Alerts, and an advanced settings window.
<br>
The tool has hotkeys for both PC and Mac commands.
</li>
<li>This system is intended for everyone, but primarily for students K-12 who are visually impaired. </li>
<li>
Our goal is to provide an enhanced experience for students who are visually impaired that is transparent to
sighted students.
<br>
This allows for everyone to use the same software solution, whether or not they are
vision impaired.
</li>
</ul>
<p>Use the following key binding to bring up a page for all key bindings for windows
<br>
Control and Shift and 8
</p>
<p>Use this key binding to do the same for mac computers:
<br>
Command and Shift and 9
</p>
<h2>This is the Lego Spike Prime!</h2z>
<p></p>
<img src="https://cdn.vox-cdn.com/thumbor/qoaa6N2ppl7oj97MR-aj43qPy0w=/0x0:1024x576/920x613/filters:focal(431x207:593x369):format(webp)/cdn.vox-cdn.com/uploads/chorus_image/image/63339099/lego_spike.0.png" width="300" />
<p></p>
<a href="https://www.lego.com/en-us/product/lego-education-spike-prime-set-45678">Get the robot!</a>
</body>
</html>`;
} }
function openKeyBindWin(): void { function openKeyBindWin(os: 'Mac' | 'Windows'): void {
//vscode.commands.executeCommand('workbench.action.zoomOut'); //vscode.commands.executeCommand('workbench.action.zoomOut');
const panel = vscode.window.createWebviewPanel( const panel = vscode.window.createWebviewPanel(
'mindReader', // Identifies the type of the webview. Used internally 'mindReader', // Identifies the type of the webview. Used internally
@ -231,94 +190,13 @@ function openKeyBindWin(): void {
{} {}
); // Webview options. More on these later. ); // Webview options. More on these later.
panel.webview.html = getKeyBindWinContent(); if (os === 'Windows') {
panel.webview.html = getWebviewContent('media/html/winkeys.html');
} else if (os === 'Mac') {
panel.webview.html = getWebviewContent('media/html/mackeys.html');
}
} }
function getKeyBindWinContent() {
return `<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Mind Reader Key Bindings for Windows</title>
</head>
<body>
<h2> Here is a list of all Mind Reader's commands and they're keybindings on windows and linux systems </h2>
<p>
<h2> Editor Settings </h2>
Increase Font Scale - Number Pad Add<br>
Decrease Font Scale - Number Pad Subtract<br>
Increase Editor Scale - Shift and Number Pad Add<br>
Decrease Editor Scale - Shift and Number Pad Subtract<br>
Reset Editor Scale - Shift and Enter<br>
Select Theme - Control and Shift and 1<br>
<h2>Navigation</h2>
Get Indent - Shift and Tab<br>
Show All Symbols - Control and T<br>
Go To Line - Control and G<br>
Quick Open - Control and P<br>
Go To Symbol - Control and Shift and 0<br>
Show Problems - Control and Shift and M<br>
Next In File - F8<br>
Previous In File - Shift and F8<br>
Open Previous Editor Group - Control and Tab<br>
Navigate Forward - Control and Shift and Minus<br>
Navigate Back - Control and Alt and Minus<br>
Get Quick Input Back - Control and Alt and Minus
</p>
</body>
</html>`;
}
function openKeyBindMac(): void {
//vscode.commands.executeCommand('workbench.action.zoomOut');
const panel = vscode.window.createWebviewPanel(
'mindReader', // Identifies the type of the webview. Used internally
'MR Key Bindings', // Title of the panel displayed to the user
vscode.ViewColumn.One, // Editor column to show the new webview panel in.
{}
); // Webview options. More on these later.
panel.webview.html = getKeyBindMacContent();
}
function getKeyBindMacContent() {
return `<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Mind Reader Key Bindings for Mac</title>
</head>
<body>
<h2> Here is a list of all the Mind Reader commands and they're keybindings on Mac systems </h2>
<p>
<h2> Editor Settings </h2>
Increase Font Scale - <br>
Decrease Font Scale - <br>
Increase Editor Scale - <br>
Decrease Editor Scale - <br>
Reset Editor Scale - <br>
Select Theme - <br>
<h2>Navigation</h2>
Get Indent - <br>
Show All Symbols - <br>
Go To Line - <br>
Quick Open - <br>
Go To Symbol - <br>
Show Problems - <br>
Next In File - <br>
Previous In File - <br>
Open Previous Editor Group - <br>
Navigate Forward - <br>
Navigate Back - <br>
Get Quick Input Back -
</p>
</body>
</html>`;
}
function getIndent(): void { function getIndent(): void {
let editor = vscode.window.activeTextEditor; let editor = vscode.window.activeTextEditor;
if(editor) if(editor)