Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
S
solo-1
Project overview
Project overview
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Administrator
solo-1
Commits
5c5c3906
Unverified
Commit
5c5c3906
authored
May 29, 2018
by
Liang Ding
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
✨
Fix #12451
parent
33600fb2
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
34 additions
and
4 deletions
+34
-4
src/main/java/org/b3log/solo/processor/SearchProcessor.java
src/main/java/org/b3log/solo/processor/SearchProcessor.java
+29
-1
src/main/resources/opensearch.xml
src/main/resources/opensearch.xml
+3
-3
src/main/webapp/skins/Medium/macro-head.ftl
src/main/webapp/skins/Medium/macro-head.ftl
+1
-0
src/main/webapp/skins/mobile/macro-head.ftl
src/main/webapp/skins/mobile/macro-head.ftl
+1
-0
No files found.
src/main/java/org/b3log/solo/processor/SearchProcessor.java
View file @
5c5c3906
...
...
@@ -17,6 +17,7 @@
*/
package
org
.
b3log
.
solo
.
processor
;
import
org.apache.commons.io.IOUtils
;
import
org.apache.commons.lang.StringUtils
;
import
org.b3log.latke.Latkes
;
import
org.b3log.latke.ioc.inject.Inject
;
...
...
@@ -28,10 +29,12 @@ import org.b3log.latke.servlet.HTTPRequestContext;
import
org.b3log.latke.servlet.HTTPRequestMethod
;
import
org.b3log.latke.servlet.annotation.RequestProcessing
;
import
org.b3log.latke.servlet.annotation.RequestProcessor
;
import
org.b3log.latke.servlet.renderer.TextXMLRenderer
;
import
org.b3log.latke.servlet.renderer.freemarker.AbstractFreeMarkerRenderer
;
import
org.b3log.latke.util.Strings
;
import
org.b3log.solo.model.Article
;
import
org.b3log.solo.model.Common
;
import
org.b3log.solo.model.Option
;
import
org.b3log.solo.processor.renderer.ConsoleRenderer
;
import
org.b3log.solo.processor.util.Filler
;
import
org.b3log.solo.service.ArticleQueryService
;
...
...
@@ -42,6 +45,7 @@ import org.jsoup.Jsoup;
import
org.jsoup.safety.Whitelist
;
import
javax.servlet.http.HttpServletRequest
;
import
java.io.InputStream
;
import
java.util.Collections
;
import
java.util.List
;
import
java.util.Map
;
...
...
@@ -51,7 +55,7 @@ import java.util.Map;
*
* @author <a href="http://88250.b3log.org">Liang Ding</a>
* @author <a href="http://vanessa.b3log.org">Liyuan Li</a>
* @version 1.
0.1.0, Oct 11, 2017
* @version 1.
1.0.0, May 29, 2018
* @since 2.4.0
*/
@RequestProcessor
...
...
@@ -92,6 +96,30 @@ public class SearchProcessor {
@Inject
private
Filler
filler
;
/**
* Shows opensearch.xml.
*
* @param context the specified context
*/
@RequestProcessing
(
value
=
"/opensearch.xml"
,
method
=
HTTPRequestMethod
.
GET
)
public
void
showOpensearchXML
(
final
HTTPRequestContext
context
)
{
final
TextXMLRenderer
renderer
=
new
TextXMLRenderer
();
context
.
setRenderer
(
renderer
);
try
{
final
InputStream
resourceAsStream
=
SearchProcessor
.
class
.
getResourceAsStream
(
"/opensearch.xml"
);
String
content
=
IOUtils
.
toString
(
resourceAsStream
,
"UTF-8"
);
final
JSONObject
preference
=
preferenceQueryService
.
getPreference
();
content
=
StringUtils
.
replace
(
content
,
"${blogTitle}"
,
Jsoup
.
clean
(
preference
.
optString
(
Option
.
ID_C_BLOG_TITLE
),
Whitelist
.
none
()));
content
=
StringUtils
.
replace
(
content
,
"${blogSubtitle}"
,
Jsoup
.
clean
(
preference
.
optString
(
Option
.
ID_C_BLOG_SUBTITLE
),
Whitelist
.
none
()));
content
=
StringUtils
.
replace
(
content
,
"${servePath}"
,
Latkes
.
getServePath
());
renderer
.
setContent
(
content
);
}
catch
(
final
Exception
e
)
{
LOGGER
.
log
(
Level
.
ERROR
,
"Shows opensearch.xml failed"
,
e
);
}
}
/**
* Searches articles.
*
...
...
src/main/
webapp
/opensearch.xml
→
src/main/
resources
/opensearch.xml
View file @
5c5c3906
...
...
@@ -24,9 +24,9 @@
Author: Liyuan Li
-->
<OpenSearchDescription
xmlns=
"http://a9.com/-/spec/opensearch/1.1/"
xmlns:moz=
"http://www.mozilla.org/2006/browser/search/"
>
<ShortName>
Solo
</ShortName>
<Description>
一款漂亮、简约、稳定、极速的 Java 博客系统
</Description>
<ShortName>
${blogTitle}
</ShortName>
<Description>
${blogSubtitle}
</Description>
<InputEncoding>
UTF-8
</InputEncoding>
<Image
width=
"32"
height=
"32"
type=
"image/x-icon"
>
https://static.b3log.org/images/brand/solo-32.png
</Image>
<Url
type=
"text/html"
method=
"get"
template=
"
http://demo.b3log.org
/search?keyword={searchTerms}"
></Url>
<Url
type=
"text/html"
method=
"get"
template=
"
${servePath}
/search?keyword={searchTerms}"
></Url>
</OpenSearchDescription>
\ No newline at end of file
src/main/webapp/skins/Medium/macro-head.ftl
View file @
5c5c3906
...
...
@@ -32,5 +32,6 @@
<link href="${servePath}/blog-articles-rss.do" title="RSS" type="application/rss+xml" rel="alternate" />
<link rel="icon" type="image/png" href="${servePath}/favicon.png" />
<link rel="manifest" href="${servePath}/manifest.json">
<link rel="search" type="application/opensearchdescription+xml" title="${title}" href="/opensearch.xml">
${htmlHead}
</#macro>
\ No newline at end of file
src/main/webapp/skins/mobile/macro-head.ftl
View file @
5c5c3906
...
...
@@ -30,6 +30,7 @@
<meta http-equiv="Window-target" content="_top" />
<link type="text/css" rel="stylesheet" href="${staticServePath}/skins/${skinDirName}/themes/default/style.css?${staticResourceVersion}" charset="utf-8" />
<link rel="manifest" href="${servePath}/manifest.json">
<link rel="search" type="application/opensearchdescription+xml" title="${title}" href="/opensearch.xml">
<style type="text/css">
#headerbar, #wptouch-login, #wptouch-search {
background: #000000 url(/skins/${skinDirName}/themes/core/core-images/head-fade-bk.png);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment