Skip to content

Commit e5203ff

Browse files
committed
🎨 b3log#12293 摘要解析
1 parent 3767149 commit e5203ff

File tree

1 file changed

+21
-1
lines changed

1 file changed

+21
-1
lines changed

src/main/java/org/b3log/solo/service/ImportService.java

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,10 @@ public class ImportService {
6565
@Inject
6666
private UserQueryService userQueryService;
6767

68+
/**
69+
* Imports markdowns files as articles. See <a href="https://hacpai.com/article/1498490209748">Solo 支持 Hexo/Jekyll 数据导入</a> for
70+
* more details.
71+
*/
6872
public void importMarkdowns() {
6973
new Thread(() -> {
7074
final ServletContext servletContext = SoloServletListener.getServletContext();
@@ -162,7 +166,8 @@ private JSONObject parseArticle(final String fileName, final String fileContent)
162166
final String content = StringUtils.substringAfter(fileContent, frontMatter);
163167
ret.put(Article.ARTICLE_CONTENT, content);
164168

165-
ret.put(Article.ARTICLE_ABSTRACT, Article.getAbstract(content));
169+
final String abs = parseAbstract(elems, content);
170+
ret.put(Article.ARTICLE_ABSTRACT, abs);
166171

167172
final Date date = parseDate(elems);
168173
ret.put(Article.ARTICLE_CREATE_DATE, date);
@@ -187,6 +192,21 @@ private JSONObject parseArticle(final String fileName, final String fileContent)
187192
return ret;
188193
}
189194

195+
private String parseAbstract(final Map map, final String content) {
196+
String ret = (String) map.get("description");
197+
if (null == ret) {
198+
ret = (String) map.get("summary");
199+
}
200+
if (null == ret) {
201+
ret = (String) map.get("abstract");
202+
}
203+
if (StringUtils.isNotBlank(ret)) {
204+
return ret;
205+
}
206+
207+
return Article.getAbstract(content);
208+
}
209+
190210
private Date parseDate(final Map map) {
191211
Object date = map.get("date");
192212
if (null == date) {

0 commit comments

Comments
 (0)