@@ -65,6 +65,10 @@ public class ImportService {
65
65
@ Inject
66
66
private UserQueryService userQueryService ;
67
67
68
+ /**
69
+ * Imports markdowns files as articles. See <a href="https://hacpai.com/article/1498490209748">Solo 支持 Hexo/Jekyll 数据导入</a> for
70
+ * more details.
71
+ */
68
72
public void importMarkdowns () {
69
73
new Thread (() -> {
70
74
final ServletContext servletContext = SoloServletListener .getServletContext ();
@@ -162,7 +166,8 @@ private JSONObject parseArticle(final String fileName, final String fileContent)
162
166
final String content = StringUtils .substringAfter (fileContent , frontMatter );
163
167
ret .put (Article .ARTICLE_CONTENT , content );
164
168
165
- ret .put (Article .ARTICLE_ABSTRACT , Article .getAbstract (content ));
169
+ final String abs = parseAbstract (elems , content );
170
+ ret .put (Article .ARTICLE_ABSTRACT , abs );
166
171
167
172
final Date date = parseDate (elems );
168
173
ret .put (Article .ARTICLE_CREATE_DATE , date );
@@ -187,6 +192,21 @@ private JSONObject parseArticle(final String fileName, final String fileContent)
187
192
return ret ;
188
193
}
189
194
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
+
190
210
private Date parseDate (final Map map ) {
191
211
Object date = map .get ("date" );
192
212
if (null == date ) {
0 commit comments