Created
December 19, 2022 19:52
-
-
Save GordonBeeming/bc5abba2926b970c28de68d7d979bdab to your computer and use it in GitHub Desktop.
Code samples (not exact but will get you going) for How to use the same editor as Visual Studio Code in your sites https://www.youtube.com/watch?v=BnmdyT7iJ9U
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@model AddPostContentModel | |
@{ | |
Layout = null; | |
var instanceId = Guid.NewGuid().ToString("N"); | |
} | |
<div class="control-border border border-info p-1"> | |
<a class="btn btn-primary" asp-action="AddHtml" asp-route-id="@(Model.Id)" asp-route-nextOrderNumber="@(Model.NextOrderNumber)">html</a> | |
<div class="btn dropdown"> | |
<button class="btn btn-primary dropdown-toggle" type="button" data-toggle="dropdown"> | |
common code | |
</button> | |
<div class="dropdown-menu" aria-labelledby="dropdownMenuButton"> | |
<a class="dropdown-item" asp-action="AddCode" asp-route-id="@(Model.Id)" asp-route-nextOrderNumber="@(Model.NextOrderNumber)" asp-route-language="azcli">Azure CLI</a> | |
<a class="dropdown-item" asp-action="AddCode" asp-route-id="@(Model.Id)" asp-route-nextOrderNumber="@(Model.NextOrderNumber)" asp-route-language="bat">Batch</a> | |
<a class="dropdown-item" asp-action="AddCode" asp-route-id="@(Model.Id)" asp-route-nextOrderNumber="@(Model.NextOrderNumber)" asp-route-language="csharp">C#</a> | |
<a class="dropdown-item" asp-action="AddCode" asp-route-id="@(Model.Id)" asp-route-nextOrderNumber="@(Model.NextOrderNumber)" asp-route-language="html">HTML</a> | |
<a class="dropdown-item" asp-action="AddCode" asp-route-id="@(Model.Id)" asp-route-nextOrderNumber="@(Model.NextOrderNumber)" asp-route-language="javascript">JavaScript</a> | |
<a class="dropdown-item" asp-action="AddCode" asp-route-id="@(Model.Id)" asp-route-nextOrderNumber="@(Model.NextOrderNumber)" asp-route-language="json">JSON</a> | |
<a class="dropdown-item" asp-action="AddCode" asp-route-id="@(Model.Id)" asp-route-nextOrderNumber="@(Model.NextOrderNumber)" asp-route-language="markdown">Markdown</a> | |
<a class="dropdown-item" asp-action="AddCode" asp-route-id="@(Model.Id)" asp-route-nextOrderNumber="@(Model.NextOrderNumber)" asp-route-language="plaintext">Plain Text</a> | |
<a class="dropdown-item" asp-action="AddCode" asp-route-id="@(Model.Id)" asp-route-nextOrderNumber="@(Model.NextOrderNumber)" asp-route-language="powershell">PowerShell</a> | |
<a class="dropdown-item" asp-action="AddCode" asp-route-id="@(Model.Id)" asp-route-nextOrderNumber="@(Model.NextOrderNumber)" asp-route-language="razor">Razor</a> | |
<a class="dropdown-item" asp-action="AddCode" asp-route-id="@(Model.Id)" asp-route-nextOrderNumber="@(Model.NextOrderNumber)" asp-route-language="sql">SQL</a> | |
<a class="dropdown-item" asp-action="AddCode" asp-route-id="@(Model.Id)" asp-route-nextOrderNumber="@(Model.NextOrderNumber)" asp-route-language="typescript">TypeScript</a> | |
<a class="dropdown-item" asp-action="AddCode" asp-route-id="@(Model.Id)" asp-route-nextOrderNumber="@(Model.NextOrderNumber)" asp-route-language="xml">XML</a> | |
<a class="dropdown-item" asp-action="AddCode" asp-route-id="@(Model.Id)" asp-route-nextOrderNumber="@(Model.NextOrderNumber)" asp-route-language="yaml">YAML</a> | |
</div> | |
</div> | |
<div class="btn dropdown"> | |
<button class="btn btn-primary dropdown-toggle" type="button" data-toggle="dropdown"> | |
code a - m | |
</button> | |
<div class="dropdown-menu"> | |
<a class="dropdown-item" asp-action="AddCode" asp-route-id="@(Model.Id)" asp-route-nextOrderNumber="@(Model.NextOrderNumber)" asp-route-language="abap">abap</a> | |
<a class="dropdown-item" asp-action="AddCode" asp-route-id="@(Model.Id)" asp-route-nextOrderNumber="@(Model.NextOrderNumber)" asp-route-language="aes">aes</a> | |
<a class="dropdown-item" asp-action="AddCode" asp-route-id="@(Model.Id)" asp-route-nextOrderNumber="@(Model.NextOrderNumber)" asp-route-language="apex">Apex</a> | |
<a class="dropdown-item" asp-action="AddCode" asp-route-id="@(Model.Id)" asp-route-nextOrderNumber="@(Model.NextOrderNumber)" asp-route-language="postiats">ATS</a> | |
<a class="dropdown-item" asp-action="AddCode" asp-route-id="@(Model.Id)" asp-route-nextOrderNumber="@(Model.NextOrderNumber)" asp-route-language="c">C</a> | |
<a class="dropdown-item" asp-action="AddCode" asp-route-id="@(Model.Id)" asp-route-nextOrderNumber="@(Model.NextOrderNumber)" asp-route-language="cpp">C++</a> | |
<a class="dropdown-item" asp-action="AddCode" asp-route-id="@(Model.Id)" asp-route-nextOrderNumber="@(Model.NextOrderNumber)" asp-route-language="clojure">clojure</a> | |
<a class="dropdown-item" asp-action="AddCode" asp-route-id="@(Model.Id)" asp-route-nextOrderNumber="@(Model.NextOrderNumber)" asp-route-language="coffeescript">CoffeeScript</a> | |
<a class="dropdown-item" asp-action="AddCode" asp-route-id="@(Model.Id)" asp-route-nextOrderNumber="@(Model.NextOrderNumber)" asp-route-language="csp">CSP</a> | |
<a class="dropdown-item" asp-action="AddCode" asp-route-id="@(Model.Id)" asp-route-nextOrderNumber="@(Model.NextOrderNumber)" asp-route-language="css">CSS</a> | |
<a class="dropdown-item" asp-action="AddCode" asp-route-id="@(Model.Id)" asp-route-nextOrderNumber="@(Model.NextOrderNumber)" asp-route-language="msdax">DAX</a> | |
<a class="dropdown-item" asp-action="AddCode" asp-route-id="@(Model.Id)" asp-route-nextOrderNumber="@(Model.NextOrderNumber)" asp-route-language="dockerfile">Dockerfile</a> | |
<a class="dropdown-item" asp-action="AddCode" asp-route-id="@(Model.Id)" asp-route-nextOrderNumber="@(Model.NextOrderNumber)" asp-route-language="fsharp">F#</a> | |
<a class="dropdown-item" asp-action="AddCode" asp-route-id="@(Model.Id)" asp-route-nextOrderNumber="@(Model.NextOrderNumber)" asp-route-language="go">Go</a> | |
<a class="dropdown-item" asp-action="AddCode" asp-route-id="@(Model.Id)" asp-route-nextOrderNumber="@(Model.NextOrderNumber)" asp-route-language="graphql">GraphQL</a> | |
<a class="dropdown-item" asp-action="AddCode" asp-route-id="@(Model.Id)" asp-route-nextOrderNumber="@(Model.NextOrderNumber)" asp-route-language="handlebars">Handlebars</a> | |
<a class="dropdown-item" asp-action="AddCode" asp-route-id="@(Model.Id)" asp-route-nextOrderNumber="@(Model.NextOrderNumber)" asp-route-language="ini">Ini</a> | |
<a class="dropdown-item" asp-action="AddCode" asp-route-id="@(Model.Id)" asp-route-nextOrderNumber="@(Model.NextOrderNumber)" asp-route-language="java">Java</a> | |
<a class="dropdown-item" asp-action="AddCode" asp-route-id="@(Model.Id)" asp-route-nextOrderNumber="@(Model.NextOrderNumber)" asp-route-language="kotlin">Kotlin</a> | |
<a class="dropdown-item" asp-action="AddCode" asp-route-id="@(Model.Id)" asp-route-nextOrderNumber="@(Model.NextOrderNumber)" asp-route-language="less">Less</a> | |
<a class="dropdown-item" asp-action="AddCode" asp-route-id="@(Model.Id)" asp-route-nextOrderNumber="@(Model.NextOrderNumber)" asp-route-language="lua">Lua</a> | |
<a class="dropdown-item" asp-action="AddCode" asp-route-id="@(Model.Id)" asp-route-nextOrderNumber="@(Model.NextOrderNumber)" asp-route-language="mips">MIPS</a> | |
<a class="dropdown-item" asp-action="AddCode" asp-route-id="@(Model.Id)" asp-route-nextOrderNumber="@(Model.NextOrderNumber)" asp-route-language="mysql">MySQL</a> | |
</div> | |
</div> | |
<div class="btn dropdown"> | |
<button class="btn btn-primary dropdown-toggle" type="button" data-toggle="dropdown"> | |
code o - z | |
</button> | |
<div class="dropdown-menu"> | |
<a class="dropdown-item" asp-action="AddCode" asp-route-id="@(Model.Id)" asp-route-nextOrderNumber="@(Model.NextOrderNumber)" asp-route-language="objective-c">Objective-C</a> | |
<a class="dropdown-item" asp-action="AddCode" asp-route-id="@(Model.Id)" asp-route-nextOrderNumber="@(Model.NextOrderNumber)" asp-route-language="pascal">Pascal</a> | |
<a class="dropdown-item" asp-action="AddCode" asp-route-id="@(Model.Id)" asp-route-nextOrderNumber="@(Model.NextOrderNumber)" asp-route-language="pascaligo">Pascaligo</a> | |
<a class="dropdown-item" asp-action="AddCode" asp-route-id="@(Model.Id)" asp-route-nextOrderNumber="@(Model.NextOrderNumber)" asp-route-language="perl">Perl</a> | |
<a class="dropdown-item" asp-action="AddCode" asp-route-id="@(Model.Id)" asp-route-nextOrderNumber="@(Model.NextOrderNumber)" asp-route-language="php">PHP</a> | |
<a class="dropdown-item" asp-action="AddCode" asp-route-id="@(Model.Id)" asp-route-nextOrderNumber="@(Model.NextOrderNumber)" asp-route-language="pgsql">PostgreSQL</a> | |
<a class="dropdown-item" asp-action="AddCode" asp-route-id="@(Model.Id)" asp-route-nextOrderNumber="@(Model.NextOrderNumber)" asp-route-language="powerquery">PQ</a> | |
<a class="dropdown-item" asp-action="AddCode" asp-route-id="@(Model.Id)" asp-route-nextOrderNumber="@(Model.NextOrderNumber)" asp-route-language="pug">Pug</a> | |
<a class="dropdown-item" asp-action="AddCode" asp-route-id="@(Model.Id)" asp-route-nextOrderNumber="@(Model.NextOrderNumber)" asp-route-language="python">Python</a> | |
<a class="dropdown-item" asp-action="AddCode" asp-route-id="@(Model.Id)" asp-route-nextOrderNumber="@(Model.NextOrderNumber)" asp-route-language="r">R</a> | |
<a class="dropdown-item" asp-action="AddCode" asp-route-id="@(Model.Id)" asp-route-nextOrderNumber="@(Model.NextOrderNumber)" asp-route-language="redis">redis</a> | |
<a class="dropdown-item" asp-action="AddCode" asp-route-id="@(Model.Id)" asp-route-nextOrderNumber="@(Model.NextOrderNumber)" asp-route-language="redshift">Redshift</a> | |
<a class="dropdown-item" asp-action="AddCode" asp-route-id="@(Model.Id)" asp-route-nextOrderNumber="@(Model.NextOrderNumber)" asp-route-language="ruby">Ruby</a> | |
<a class="dropdown-item" asp-action="AddCode" asp-route-id="@(Model.Id)" asp-route-nextOrderNumber="@(Model.NextOrderNumber)" asp-route-language="rust">Rust</a> | |
<a class="dropdown-item" asp-action="AddCode" asp-route-id="@(Model.Id)" asp-route-nextOrderNumber="@(Model.NextOrderNumber)" asp-route-language="scss">Sass</a> | |
<a class="dropdown-item" asp-action="AddCode" asp-route-id="@(Model.Id)" asp-route-nextOrderNumber="@(Model.NextOrderNumber)" asp-route-language="scheme">scheme</a> | |
<a class="dropdown-item" asp-action="AddCode" asp-route-id="@(Model.Id)" asp-route-nextOrderNumber="@(Model.NextOrderNumber)" asp-route-language="shell">Shell</a> | |
<a class="dropdown-item" asp-action="AddCode" asp-route-id="@(Model.Id)" asp-route-nextOrderNumber="@(Model.NextOrderNumber)" asp-route-language="sb">Small Basic</a> | |
<a class="dropdown-item" asp-action="AddCode" asp-route-id="@(Model.Id)" asp-route-nextOrderNumber="@(Model.NextOrderNumber)" asp-route-language="sol">sol</a> | |
<a class="dropdown-item" asp-action="AddCode" asp-route-id="@(Model.Id)" asp-route-nextOrderNumber="@(Model.NextOrderNumber)" asp-route-language="st">StructuredText</a> | |
<a class="dropdown-item" asp-action="AddCode" asp-route-id="@(Model.Id)" asp-route-nextOrderNumber="@(Model.NextOrderNumber)" asp-route-language="swift">Swift</a> | |
<a class="dropdown-item" asp-action="AddCode" asp-route-id="@(Model.Id)" asp-route-nextOrderNumber="@(Model.NextOrderNumber)" asp-route-language="tcl">tcl</a> | |
<a class="dropdown-item" asp-action="AddCode" asp-route-id="@(Model.Id)" asp-route-nextOrderNumber="@(Model.NextOrderNumber)" asp-route-language="twig">Twig</a> | |
<a class="dropdown-item" asp-action="AddCode" asp-route-id="@(Model.Id)" asp-route-nextOrderNumber="@(Model.NextOrderNumber)" asp-route-language="vb">Visual Basic</a> | |
</div> | |
</div> | |
<a class="btn btn-primary" asp-action="AddImage" asp-route-id="@(Model.Id)" asp-route-nextOrderNumber="@(Model.NextOrderNumber)">image</a> | |
</div> | |
@* | |
var langs = monaco.languages.getLanguages(); | |
langs.sort(function(a, b) { | |
var textA = a.aliases[0].toUpperCase(); | |
var textB = b.aliases[0].toUpperCase(); | |
return (textA < textB) ? -1 : (textA > textB) ? 1 : 0; | |
}); | |
var text = ''; | |
var meh = $.each(langs, function (index, lang) { | |
text += '<a class="dropdown-item" asp-action="AddCode" asp-route-id="@(Model.Id)" asp-route-nextOrderNumber="@(Model.NextOrderNumber)" asp-route-language="'+lang.id+'">'+lang.aliases[0]+'</a>\r\n'; | |
}); | |
console.log(text); | |
*@ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@model CodeContentBlockContext | |
@{ | |
Layout = null; | |
var instanceId = Guid.NewGuid().ToString("N"); | |
} | |
<pre id='pre@(instanceId)' data-lang='@(Model.Language)'></pre> | |
<script> | |
//monaco.editor.colorizeElement(document.getElementById('pre@(instanceId)')); | |
var codeContent = @Html.Raw(Json.Serialize(Model.Code)); | |
var editor@(instanceId) = monaco.editor.create(document.getElementById('pre@(instanceId)'), { | |
value: codeContent, | |
language: "@(Model.Language)", | |
theme: "vs", | |
lineNumbers: 'on', | |
glyphMargin: false, | |
vertical: 'auto', | |
horizontal: 'auto', | |
verticalScrollbarSize: 10, | |
horizontalScrollbarSize: 10, | |
scrollBeyondLastLine: false, | |
readOnly: true, | |
automaticLayout: true, | |
minimap: { | |
enabled: false | |
}, | |
lineHeight:19, | |
}); | |
$("#pre@(instanceId)").height((editor@(instanceId).getModel().getLineCount() * 19) + 10); // 19 = line height, 10 = vertical scrollbar height | |
</script> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@model AddOrEditCodeToPost | |
@{ | |
ViewData["Title"] = "Blogs Admin"; | |
} | |
<h1>Add Code: @(Model.Data.BlogTitle)</h1> | |
<link rel="stylesheet" data-name="vs/editor/editor.main" href="https://cdnjs.cloudflare.com/ajax/libs/monaco-editor/0.18.0/min/vs/editor/editor.main.css"> | |
<script>var require = { paths: { 'vs': 'https://cdnjs.cloudflare.com/ajax/libs/monaco-editor/0.18.0/min/vs' } };</script> | |
<script src="https://cdnjs.cloudflare.com/ajax/libs/monaco-editor/0.18.0/min/vs/loader.js"></script> | |
<script src="https://cdnjs.cloudflare.com/ajax/libs/monaco-editor/0.18.0/min/vs/editor/editor.main.nls.js"></script> | |
<script src="https://cdnjs.cloudflare.com/ajax/libs/monaco-editor/0.18.0/min/vs/editor/editor.main.js"></script> | |
<pre id="CodeDrop" data-lang="@(Model.Language)" style="height:700px;"></pre> | |
<script> | |
//monaco.editor.colorizeElement(document.getElementById('Code')); | |
var codeContent = @Html.Raw(Json.Serialize(Model.Code)); | |
// var elementHeight = $("#Code").height($("#CodeDrop").height()); | |
$("#CodeDrop").html(''); | |
window.editor = monaco.editor.create(document.getElementById('CodeDrop'), { | |
value: codeContent, | |
language: "@(Model.Language)", | |
theme: "vs", | |
lineNumbers: 'on', | |
glyphMargin: false, | |
verticalScrollbarSize: 10, | |
horizontalScrollbarSize: 10, | |
scrollBeyondLastLine: true, | |
readOnly: false, | |
automaticLayout: true, | |
minimap: { | |
enabled: false | |
}, | |
}); | |
</script> | |
<form asp-action="@(Model.FormAction)" enctype="multipart/form-data"> | |
<div class="row"> | |
<div class="col-md-12"> | |
<div class="form-group"> | |
</div> | |
</div> | |
<div class="col-md-3"> | |
<div class="form-group"> | |
<label asp-for="AddPreSpacer" class="control-label"></label> | |
<input asp-for="AddPreSpacer" class="form-control" /> | |
</div> | |
</div> | |
<div class="col-md-3"> | |
<div class="form-group"> | |
<label asp-for="AddPostSpacer" class="control-label"></label> | |
<input asp-for="AddPostSpacer" class="form-control" /> | |
</div> | |
</div> | |
<div class="col-md-12"> | |
<div class="form-group"> | |
<input type="submit" value="Save" class="btn btn-primary" onclick="return moveCode();" /> | |
<textarea id="Code" name="Code" style="display:none;"></textarea> | |
</div> | |
</div> | |
</div> | |
</form> | |
<div> | |
<a asp-action="ContentFor" asp-route-id="@(Model.Data.Id)">back to content</a> | |
</div> | |
@section Scripts { | |
<script> | |
function moveCode() { | |
$("#Code").val(window.editor.getValue()); | |
console.log(window.editor.getValue()); | |
return true; | |
} | |
</script> | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment