mirror of
https://github.com/QL-Win/QuickLook.git
synced 2025-09-12 02:09:05 +00:00
Fix #733: detect Markdown encoding
This commit is contained in:
@@ -19,10 +19,12 @@ using System;
|
|||||||
using System.IO;
|
using System.IO;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Net;
|
using System.Net;
|
||||||
|
using System.Text;
|
||||||
using System.Windows;
|
using System.Windows;
|
||||||
using System.Windows.Threading;
|
using System.Windows.Threading;
|
||||||
using QuickLook.Common.Plugin;
|
using QuickLook.Common.Plugin;
|
||||||
using QuickLook.Plugin.HtmlViewer;
|
using QuickLook.Plugin.HtmlViewer;
|
||||||
|
using UtfUnknown;
|
||||||
|
|
||||||
namespace QuickLook.Plugin.MarkdownViewer
|
namespace QuickLook.Plugin.MarkdownViewer
|
||||||
{
|
{
|
||||||
@@ -66,7 +68,10 @@ namespace QuickLook.Plugin.MarkdownViewer
|
|||||||
|
|
||||||
private string GenerateMarkdownHtml(string path)
|
private string GenerateMarkdownHtml(string path)
|
||||||
{
|
{
|
||||||
var md = File.ReadAllText(path);
|
var bytes = File.ReadAllBytes(path);
|
||||||
|
var encoding = CharsetDetector.DetectFromBytes(bytes).Detected?.Encoding ?? Encoding.Default;
|
||||||
|
|
||||||
|
var md = encoding.GetString(bytes);
|
||||||
md = WebUtility.HtmlEncode(md);
|
md = WebUtility.HtmlEncode(md);
|
||||||
|
|
||||||
var html = Resources.md2html.Replace("{{content}}", md);
|
var html = Resources.md2html.Replace("{{content}}", md);
|
||||||
|
@@ -62,6 +62,9 @@
|
|||||||
<Reference Include="System" />
|
<Reference Include="System" />
|
||||||
<Reference Include="System.Core" />
|
<Reference Include="System.Core" />
|
||||||
<Reference Include="System.Xaml" />
|
<Reference Include="System.Xaml" />
|
||||||
|
<Reference Include="UtfUnknown, Version=2.0.0.0, Culture=neutral, PublicKeyToken=90217ce7a23260d4, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\..\packages\UTF.Unknown.2.3.0\lib\net40\UtfUnknown.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
<Reference Include="WindowsBase" />
|
<Reference Include="WindowsBase" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
@@ -95,6 +98,7 @@
|
|||||||
</EmbeddedResource>
|
</EmbeddedResource>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
<None Include="packages.config" />
|
||||||
<None Include="Resources\md2html.html" />
|
<None Include="Resources\md2html.html" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||||
|
@@ -0,0 +1,4 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<packages>
|
||||||
|
<package id="UTF.Unknown" version="2.3.0" targetFramework="net462" />
|
||||||
|
</packages>
|
Reference in New Issue
Block a user