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
ec7ef602
Unverified
Commit
ec7ef602
authored
Feb 28, 2020
by
Liang Ding
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
🐛
修复生成静态站点链接问题 Fix #70
parent
f9b4b22e
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
33 additions
and
17 deletions
+33
-17
src/main/java/org/b3log/solo/processor/console/StaticSiteConsole.java
...a/org/b3log/solo/processor/console/StaticSiteConsole.java
+18
-10
src/main/java/org/b3log/solo/util/Mocks.java
src/main/java/org/b3log/solo/util/Mocks.java
+15
-7
No files found.
src/main/java/org/b3log/solo/processor/console/StaticSiteConsole.java
View file @
ec7ef602
...
...
@@ -66,6 +66,16 @@ public class StaticSiteConsole {
@Inject
private
LangPropsService
langPropsService
;
/**
* Mock request scheme.
*/
private
static
String
scheme
;
/**
* Mock request host.
*/
private
static
String
host
;
/**
* Generates static site.
*
...
...
@@ -93,12 +103,10 @@ public class StaticSiteConsole {
FileUtils
.
forceMkdir
(
new
File
(
staticSitePath
));
final
URL
u
=
new
URL
(
url
);
Latkes
.
setScheme
(
u
.
getProtocol
()
);
Latkes
.
setHost
(
u
.
getHost
()
);
scheme
=
u
.
getProtocol
(
);
host
=
u
.
getHost
(
);
if
(-
1
!=
u
.
getPort
())
{
Latkes
.
setPort
(
String
.
valueOf
(
u
.
getPort
()));
}
else
{
Latkes
.
setPort
(
""
);
host
+=
":"
+
u
.
getPort
();
}
Solos
.
GEN_STATIC_SITE
=
true
;
...
...
@@ -160,7 +168,7 @@ public class StaticSiteConsole {
}
}
private
static
void
genCategories
()
throws
Exception
{
private
static
void
genCategories
()
{
final
BeanManager
beanManager
=
BeanManager
.
getInstance
();
final
CategoryQueryService
categoryQueryService
=
beanManager
.
getReference
(
CategoryQueryService
.
class
);
final
List
<
JSONObject
>
categories
=
categoryQueryService
.
getMostTagCategory
(
Integer
.
MAX_VALUE
);
...
...
@@ -245,7 +253,7 @@ public class StaticSiteConsole {
filePath
=
StringUtils
.
replace
(
filePath
,
"="
,
"/"
);
FileUtils
.
forceMkdir
(
new
File
(
staticSitePath
+
filePath
));
final
OutputStream
outputStream
=
new
FileOutputStream
(
staticSitePath
+
filePath
+
"/index.html"
);
String
html
=
Mocks
.
mockRequest
(
uri
);
String
html
=
Mocks
.
mockRequest
(
uri
,
scheme
,
host
);
IOUtils
.
write
(
html
,
outputStream
,
StandardCharsets
.
UTF_8
);
outputStream
.
close
();
LOGGER
.
log
(
Level
.
INFO
,
"Generated a page ["
+
uri
+
"]"
);
...
...
@@ -254,7 +262,7 @@ public class StaticSiteConsole {
private
static
void
genURI
(
final
String
uri
)
throws
Exception
{
FileUtils
.
forceMkdirParent
(
new
File
(
staticSitePath
+
uri
));
final
OutputStream
outputStream
=
new
FileOutputStream
(
staticSitePath
+
uri
);
String
html
=
Mocks
.
mockRequest
(
uri
);
String
html
=
Mocks
.
mockRequest
(
uri
,
scheme
,
host
);
IOUtils
.
write
(
html
,
outputStream
,
StandardCharsets
.
UTF_8
);
outputStream
.
close
();
LOGGER
.
log
(
Level
.
INFO
,
"Generated a file ["
+
uri
+
"]"
);
...
...
@@ -263,13 +271,13 @@ public class StaticSiteConsole {
private
static
void
genArticle
(
final
String
permalink
)
throws
Exception
{
if
(!
StringUtils
.
endsWithIgnoreCase
(
permalink
,
".html"
)
&&
!
StringUtils
.
endsWithIgnoreCase
(
permalink
,
".htm"
))
{
FileUtils
.
forceMkdir
(
new
File
(
staticSitePath
+
permalink
));
final
String
html
=
Mocks
.
mockRequest
(
permalink
);
final
String
html
=
Mocks
.
mockRequest
(
permalink
,
scheme
,
host
);
final
OutputStream
outputStream
=
new
FileOutputStream
(
staticSitePath
+
permalink
+
"/index.html"
);
IOUtils
.
write
(
html
,
outputStream
,
StandardCharsets
.
UTF_8
);
outputStream
.
close
();
}
else
{
FileUtils
.
forceMkdirParent
(
new
File
(
staticSitePath
+
permalink
));
final
String
html
=
Mocks
.
mockRequest
(
permalink
);
final
String
html
=
Mocks
.
mockRequest
(
permalink
,
scheme
,
host
);
final
OutputStream
outputStream
=
new
FileOutputStream
(
staticSitePath
+
permalink
);
IOUtils
.
write
(
html
,
outputStream
,
StandardCharsets
.
UTF_8
);
outputStream
.
close
();
...
...
src/main/java/org/b3log/solo/util/Mocks.java
View file @
ec7ef602
...
...
@@ -19,6 +19,7 @@ package org.b3log.solo.util;
import
io.netty.handler.codec.http.*
;
import
org.apache.commons.lang.StringUtils
;
import
org.b3log.latke.Latkes
;
import
org.b3log.latke.http.Dispatcher
;
import
org.b3log.latke.http.Request
;
import
org.b3log.latke.http.Response
;
...
...
@@ -31,7 +32,7 @@ import java.util.Map;
* Mock utilities.
*
* @author <a href="http://88250.b3log.org">Liang Ding</a>
* @version 1.0.0.
0, Jan 7
, 2020
* @version 1.0.0.
1, Feb 28
, 2020
* @since 3.9.0
*/
public
final
class
Mocks
{
...
...
@@ -39,10 +40,8 @@ public final class Mocks {
private
Mocks
()
{
}
public
static
String
mockRequest
(
final
String
uri
)
{
final
Mocks
.
MockRequest
request
=
Mocks
.
mockRequest
();
request
.
setRequestURI
(
uri
);
public
static
String
mockRequest
(
final
String
uri
,
final
String
scheme
,
final
String
host
)
{
final
Mocks
.
MockRequest
request
=
Mocks
.
mockRequest0
(
uri
,
scheme
,
host
);
if
(
StringUtils
.
contains
(
uri
,
"?"
))
{
final
Map
<
String
,
String
>
params
=
new
LinkedHashMap
<>();
final
String
query
=
StringUtils
.
substringAfter
(
uri
,
"?"
);
...
...
@@ -64,8 +63,17 @@ public final class Mocks {
new
MockDispatcher
().
handle
(
request
,
response
);
}
private
static
MockRequest
mockRequest
()
{
final
FullHttpRequest
req
=
new
DefaultFullHttpRequest
(
HttpVersion
.
HTTP_1_1
,
HttpMethod
.
GET
,
"/a"
);
private
static
MockRequest
mockRequest0
(
final
String
uri
,
final
String
scheme
,
final
String
host
)
{
final
FullHttpRequest
req
=
new
DefaultFullHttpRequest
(
HttpVersion
.
HTTP_1_1
,
HttpMethod
.
GET
,
uri
);
Latkes
.
setScheme
(
scheme
);
if
(
StringUtils
.
contains
(
host
,
":"
))
{
Latkes
.
setHost
(
host
.
split
(
":"
)[
0
]);
Latkes
.
setPort
(
host
.
split
(
":"
)[
1
]);
}
else
{
Latkes
.
setHost
(
host
);
Latkes
.
setPort
(
""
);
}
return
new
MockRequest
(
req
);
}
...
...
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