Browse Source

Add Google Search feature to docs module.

pull/20213/head
maliming 2 years ago
parent
commit
3a4e9a3cdd
No known key found for this signature in database GPG Key ID: A646B9CB645ECEA4
  1. 8
      modules/docs/app/VoloDocs.Web/VoloDocsWebModule.cs
  2. 14
      modules/docs/src/Volo.Docs.Web/DocsWebGoogleOptions.cs
  3. 17
      modules/docs/src/Volo.Docs.Web/Pages/Documents/Project/Index.cshtml
  4. 6
      modules/docs/src/Volo.Docs.Web/Pages/Documents/Project/index.css
  5. 2
      modules/docs/src/Volo.Docs.Web/Pages/Documents/Project/index.min.css

8
modules/docs/app/VoloDocs.Web/VoloDocsWebModule.cs

@ -85,7 +85,7 @@ namespace VoloDocs.Web
Configure<DocsElasticSearchOptions>(options =>
{
options.Enable = true;
options.Enable = false;
});
Configure<AbpDbConnectionOptions>(options =>
@ -164,9 +164,11 @@ namespace VoloDocs.Web
options.Conventions.AddPageRoute("/Error", "error/{statusCode}");
});
Configure<DocsWebGoogleTranslationOptions>(options =>
Configure<DocsWebGoogleOptions>(options =>
{
options.UseGoogleTranslation = true;
options.EnableGoogleTranslation = true;
options.EnableGoogleProgrammableSearchEngine = true;
options.GoogleSearchEngineId = "77c7266532da1427f";
});
}

14
modules/docs/src/Volo.Docs.Web/DocsWebGoogleTranslationOptions.cs → modules/docs/src/Volo.Docs.Web/DocsWebGoogleOptions.cs

@ -4,9 +4,9 @@ using System.Globalization;
namespace Volo.Docs;
public class DocsWebGoogleTranslationOptions
public class DocsWebGoogleOptions
{
public bool UseGoogleTranslation { get; set; }
public bool EnableGoogleTranslation { get; set; }
/// <summary>
/// https://cloud.google.com/translate/docs/languages
@ -15,9 +15,13 @@ public class DocsWebGoogleTranslationOptions
public Func<CultureInfo, string> GetCultureLanguageCode { get; set; }
public DocsWebGoogleTranslationOptions()
public bool EnableGoogleProgrammableSearchEngine { get; set; }
public string GoogleSearchEngineId { get; set; }
public DocsWebGoogleOptions()
{
UseGoogleTranslation = false;
EnableGoogleTranslation = false;
IncludedLanguages =
[
"en",
@ -47,5 +51,7 @@ public class DocsWebGoogleTranslationOptions
_ => culture.TwoLetterISOLanguageName
};
};
EnableGoogleProgrammableSearchEngine = false;
}
}

17
modules/docs/src/Volo.Docs.Web/Pages/Documents/Project/Index.cshtml

@ -22,7 +22,7 @@
@inject IThemeManager ThemeManager
@inject IPageLayout PageLayout
@inject IHtmlLocalizer<DocsResource> L
@inject IOptions<DocsWebGoogleTranslationOptions> DocsWebOptions
@inject IOptions<DocsWebGoogleOptions> DocsWebOptions
@model IndexModel
@{
@ -58,7 +58,7 @@
<abp-script src="/Pages/Documents/Shared/Scripts/vs.js"/>
<abp-script src="/Pages/Documents/Project/index.js"/>
</abp-script-bundle>
if (DocsWebOptions.Value.UseGoogleTranslation)
if (DocsWebOptions.Value.EnableGoogleTranslation)
{
<script type="text/javascript">
function googleTranslateElementInit() {
@ -81,11 +81,15 @@
var alt = img.attr('alt');
a.removeClass().css('color', '#666').html(alt);
}
}
}
});
</script>
<script type="text/javascript" src="//translate.google.com/translate_a/element.js?cb=googleTranslateElementInit"></script>
}
if (DocsWebOptions.Value.EnableGoogleProgrammableSearchEngine)
{
<script async src="https://cse.google.com/cse.js?cx=@DocsWebOptions.Value.GoogleSearchEngineId"></script>
}
}
else
{
@ -214,7 +218,7 @@
}
</div>
@if (DocsWebOptions.Value.UseGoogleTranslation)
@if (DocsWebOptions.Value.EnableGoogleTranslation)
{
<div class="docs-version mt-2 skiptranslate">
<span>@L["GoogleTranslate"]</span>
@ -318,6 +322,11 @@
</div>
</div>
}
@if (DocsWebOptions.Value.EnableGoogleProgrammableSearchEngine)
{
<div class="gcse-search"></div>
}
</div>
@{
var showContributors = Model.Document.Contributors != null && Model.Document.Contributors.Count > 0;

6
modules/docs/src/Volo.Docs.Web/Pages/Documents/Project/index.css

@ -45,4 +45,10 @@ body {
outline: none;
}
.gsc-control-cse {
background-color: #fbfbfb !important;
border: none !important;
padding: 0 !important;
}
/*# sourceMappingURL=Index.css.map */

2
modules/docs/src/Volo.Docs.Web/Pages/Documents/Project/index.min.css

@ -1 +1 @@
.code-toolbar .line-highlight{margin-top:1.5em !important;background:rgba(233,237,241,0.34) !important;padding:1px !important;}.input-group .input-group-text{background-color:transparent !important;}.navigation .next-link .desc,.navigation .prev-link .desc{color:#0D6EFD;}.navigation .next-link .desc .fa,.navigation .prev-link .desc .fa{font-size:12px;}.navigation .next-link .title,.navigation .prev-link .title{font-weight:600;font-size:18px;color:#0B1621;}body{top:0px !important;}.skiptranslate iframe{display:none !important;}.google_translate_text{color:#aaa;font-family:var(--bs-body-font-family);font-size:10pt;margin-left:2px;font-weight:500;}.goog-te-gadget{white-space:break-spaces !important;}.goog-te-combo:focus-visible{border:0px;outline:none;}/*# sourceMappingURL=Index.min.css.map */
.code-toolbar .line-highlight{margin-top:1.5em !important;background:rgba(233,237,241,0.34) !important;padding:1px !important;}.input-group .input-group-text{background-color:transparent !important;}.navigation .next-link .desc,.navigation .prev-link .desc{color:#0D6EFD;}.navigation .next-link .desc .fa,.navigation .prev-link .desc .fa{font-size:12px;}.navigation .next-link .title,.navigation .prev-link .title{font-weight:600;font-size:18px;color:#0B1621;}body{top:0px !important;}.skiptranslate iframe{display:none !important;}.google_translate_text{color:#aaa;font-family:var(--bs-body-font-family);font-size:10pt;margin-left:2px;font-weight:500;}.goog-te-gadget{white-space:break-spaces !important;}.goog-te-combo:focus-visible{border:0px;outline:none;}.gsc-control-cse{background-color:#fbfbfb !important;border:none !important;padding:0 !important;}/*# sourceMappingURL=Index.min.css.map */
Loading…
Cancel
Save