想要新建页面那里可以增加嵌入静态网页
Halo 1.2.0 发布了,我们可以聊聊下个版本了。
- 已编辑
发现一个bug,上次附件时的问题,不知道是环境问题还是代码问题。尝试解决没解决
2020-02-15 22:54:29.344 ERROR 1048 --- [XNIO-1 task-3] io.undertow.request : UT005023: Exception handling request to /api/admin/attachments/upload
2020-02-15 22:53:50.124 ERROR 1048 --- [XNIO-1 task-5] r.h.a.controller.core.CommonController : Request URL: [http://47.93.242.51:8090/error], URI: [/error], Request Method: [GET], IP: [59.41.65.18]
2020-02-15 22:53:01.560 WARN 1048 --- [XNIO-1 task-9] .w.s.m.s.DefaultHandlerExceptionResolver : Resolved [org.springframework.web.HttpRequestMethodNotSupportedException: Request method 'POST' not supported]
2020-02-15 22:53:01.475 ERROR 1048 --- [XNIO-1 task-9] io.undertow.servlet.request : UT015012: Failed to generate error page /error for original exception: java.lang.RuntimeException: java.nio.file.NoSuchFileException: /tmp/undertow.5147235344854940471.8090/undertow5711147542031438751upload. Generating error page resulted in a 405.
... 54 common frames omitted
at io.undertow.server.handlers.form.MultiPartParserDefinition$MultiPartUploadHandler.beginPart(MultiPartParserDefinition.java:254) ~[undertow-core-2.0.27.Final.jar!/:2.0.27.Final]
at java.nio.file.Files.createTempFile(Files.java:852) ~[na:1.8.0_222]
at java.nio.file.TempFileHelper.createTempFile(TempFileHelper.java:161) ~[na:1.8.0_222]
at java.nio.file.TempFileHelper.create(TempFileHelper.java:138) ~[na:1.8.0_222]
at java.nio.file.Files.createFile(Files.java:632) ~[na:1.8.0_222]
at java.nio.file.Files.newByteChannel(Files.java:361) ~[na:1.8.0_222]
at sun.nio.fs.UnixFileSystemProvider.newByteChannel(UnixFileSystemProvider.java:214) ~[na:1.8.0_222]
at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:107) ~[na:1.8.0_222]
at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:102) ~[na:1.8.0_222]
at sun.nio.fs.UnixException.translateToIOException(UnixException.java:86) ~[na:1.8.0_222]
Caused by: java.nio.file.NoSuchFileException: /tmp/undertow.5147235344854940471.8090/undertow5711147542031438751upload
at java.lang.Thread.run(Thread.java:748) [na:1.8.0_222]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [na:1.8.0_222]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [na:1.8.0_222]
at io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:830) [undertow-core-2.0.27.Final.jar!/:2.0.27.Final]
at io.undertow.server.Connectors.executeRootHandler(Connectors.java:376) [undertow-core-2.0.27.Final.jar!/:2.0.27.Final]
at io.undertow.servlet.handlers.ServletInitialHandler$1.handleRequest(ServletInitialHandler.java:99) [undertow-servlet-2.0.27.Final.jar!/:2.0.27.Final]
at io.undertow.servlet.handlers.ServletInitialHandler.access$000(ServletInitialHandler.java:78) [undertow-servlet-2.0.27.Final.jar!/:2.0.27.Final]
at io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:249) [undertow-servlet-2.0.27.Final.jar!/:2.0.27.Final]
at io.undertow.servlet.core.ContextClassLoaderSetupAction$1.call(ContextClassLoaderSetupAction.java:43) [undertow-servlet-2.0.27.Final.jar!/:2.0.27.Final]
at io.undertow.servlet.core.ServletRequestContextThreadSetupAction$1.call(ServletRequestContextThreadSetupAction.java:48) [undertow-servlet-2.0.27.Final.jar!/:2.0.27.Final]
at io.undertow.servlet.handlers.ServletInitialHandler$2.call(ServletInitialHandler.java:130) [undertow-servlet-2.0.27.Final.jar!/:2.0.27.Final]
at io.undertow.servlet.handlers.ServletInitialHandler$2.call(ServletInitialHandler.java:133) [undertow-servlet-2.0.27.Final.jar!/:2.0.27.Final]
at io.undertow.servlet.handlers.ServletInitialHandler.access$100(ServletInitialHandler.java:78) [undertow-servlet-2.0.27.Final.jar!/:2.0.27.Final]
at io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:269) [undertow-servlet-2.0.27.Final.jar!/:2.0.27.Final]
at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) ~[undertow-core-2.0.27.Final.jar!/:2.0.27.Final]
at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) ~[undertow-core-2.0.27.Final.jar!/:2.0.27.Final]
at io.undertow.security.handlers.AbstractSecurityContextAssociationHandler.handleRequest(AbstractSecurityContextAssociationHandler.java:43) ~[undertow-core-2.0.27.Final.jar!/:2.0.27.Final]
at io.undertow.servlet.handlers.security.CachedAuthenticatedSessionHandler.handleRequest(CachedAuthenticatedSessionHandler.java:77) ~[undertow-servlet-2.0.27.Final.jar!/:2.0.27.Final]
at io.undertow.security.handlers.AuthenticationMechanismsHandler.handleRequest(AuthenticationMechanismsHandler.java:60) ~[undertow-core-2.0.27.Final.jar!/:2.0.27.Final]
at io.undertow.servlet.handlers.security.ServletConfidentialityConstraintHandler.handleRequest(ServletConfidentialityConstraintHandler.java:64) ~[undertow-servlet-2.0.27.Final.jar!/:2.0.27.Final]
at io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest(AbstractConfidentialityHandler.java:46) ~[undertow-core-2.0.27.Final.jar!/:2.0.27.Final]
at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) ~[undertow-core-2.0.27.Final.jar!/:2.0.27.Final]
at io.undertow.servlet.handlers.security.ServletAuthenticationCallHandler.handleRequest(ServletAuthenticationCallHandler.java:57) ~[undertow-servlet-2.0.27.Final.jar!/:2.0.27.Final]
at io.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest(SSLInformationAssociationHandler.java:132) ~[undertow-servlet-2.0.27.Final.jar!/:2.0.27.Final]
at io.undertow.servlet.handlers.RedirectDirHandler.handleRequest(RedirectDirHandler.java:68) ~[undertow-servlet-2.0.27.Final.jar!/:2.0.27.Final]
at io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36) ~[undertow-servlet-2.0.27.Final.jar!/:2.0.27.Final]
at io.undertow.servlet.handlers.ServletChain$1.handleRequest(ServletChain.java:68) ~[undertow-servlet-2.0.27.Final.jar!/:2.0.27.Final]
at io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:62) ~[undertow-servlet-2.0.27.Final.jar!/:2.0.27.Final]
at io.undertow.servlet.handlers.FilterHandler.handleRequest(FilterHandler.java:84) ~[undertow-servlet-2.0.27.Final.jar!/:2.0.27.Final]
at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131) ~[undertow-servlet-2.0.27.Final.jar!/:2.0.27.Final]
at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61) ~[undertow-servlet-2.0.27.Final.jar!/:2.0.27.Final]
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) ~[spring-web-5.2.1.RELEASE.jar!/:5.2.1.RELEASE]
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) ~[spring-web-5.2.1.RELEASE.jar!/:5.2.1.RELEASE]
at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131) ~[undertow-servlet-2.0.27.Final.jar!/:2.0.27.Final]
at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61) ~[undertow-servlet-2.0.27.Final.jar!/:2.0.27.Final]
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) ~[spring-web-5.2.1.RELEASE.jar!/:5.2.1.RELEASE]
at org.springframework.boot.actuate.metrics.web.servlet.WebMvcMetricsFilter.doFilterInternal(WebMvcMetricsFilter.java:108) ~[spring-boot-actuator-2.2.1.RELEASE.jar!/:2.2.1.RELEASE]
at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131) ~[undertow-servlet-2.0.27.Final.jar!/:2.0.27.Final]
at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61) ~[undertow-servlet-2.0.27.Final.jar!/:2.0.27.Final]
at run.halo.app.filter.CorsFilter.doFilter(CorsFilter.java:41) ~[classes!/:1.2.0]
at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131) ~[undertow-servlet-2.0.27.Final.jar!/:2.0.27.Final]
at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61) ~[undertow-servlet-2.0.27.Final.jar!/:2.0.27.Final]
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:103) ~[spring-web-5.2.1.RELEASE.jar!/:5.2.1.RELEASE]
at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131) ~[undertow-servlet-2.0.27.Final.jar!/:2.0.27.Final]
at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61) ~[undertow-servlet-2.0.27.Final.jar!/:2.0.27.Final]
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) ~[spring-web-5.2.1.RELEASE.jar!/:5.2.1.RELEASE]
at run.halo.app.security.filter.AbstractAuthenticationFilter.doFilterInternal(AbstractAuthenticationFilter.java:160) ~[classes!/:1.2.0]
at run.halo.app.security.filter.AbstractAuthenticationFilter.checkForTempToken(AbstractAuthenticationFilter.java:175) ~[classes!/:1.2.0]
at run.halo.app.security.filter.AbstractAuthenticationFilter.getTokenFromRequest(AbstractAuthenticationFilter.java:217) ~[classes!/:1.2.0]
at io.undertow.servlet.spec.HttpServletRequestImpl.getParameter(HttpServletRequestImpl.java:714) ~[undertow-servlet-2.0.27.Final.jar!/:2.0.27.Final]
at io.undertow.servlet.spec.HttpServletRequestImpl.parseFormData(HttpServletRequestImpl.java:835) ~[undertow-servlet-2.0.27.Final.jar!/:2.0.27.Final]
at io.undertow.server.handlers.form.MultiPartParserDefinition$MultiPartUploadHandler.parseBlocking(MultiPartParserDefinition.java:232) ~[undertow-core-2.0.27.Final.jar!/:2.0.27.Final]
at io.undertow.util.MultipartParser$ParseState.parse(MultipartParser.java:123) ~[undertow-core-2.0.27.Final.jar!/:2.0.27.Final]
at io.undertow.util.MultipartParser$ParseState.headerName(MultipartParser.java:208) ~[undertow-core-2.0.27.Final.jar!/:2.0.27.Final]
at io.undertow.server.handlers.form.MultiPartParserDefinition$MultiPartUploadHandler.beginPart(MultiPartParserDefinition.java:261) ~[undertow-core-2.0.27.Final.jar!/:2.0.27.Final]
java.lang.RuntimeException: java.nio.file.NoSuchFileException: /tmp/undertow.5147235344854940471.8090/undertow5711147542031438751upload
目前你可以重启临时解决这个问题,或者创建 /tmp/undertow.5147235344854940471.8090/undertow5711147542031438751upload
这个目录。
mkdir /tmp/undertow.5147235344854940471.8090/undertow5711147542031438751upload
shenchen 哪个主题?
- 已编辑
可以在首页底部增加一个添加备案信息的功能,网站没有备案信息要罚钱的
jhsit 博客设置 -> 页脚信息。
图片的引入相对/绝对路径配置的特性**
你好作者我描绘一下使用场景
在halo博客写文章的时候上传附件本地存储的图片引入图片链接是绝对路径,而后期如果更换域名就会出现图片加载问题
解决方法https://bbs.halo.run/d/153
希望后续博客有这个功能,可以在更换域名后图片链接自动或则手动去更换文章中图片的链接
描绘的不太清楚望见谅
编辑器的编辑问题
在写文章时候如果文章篇幅太长上面的功能选项就会一直在上面会隐藏起来,如果出现想插入图片或则其他的加粗字体或则设置其他关于文章的效果要去滑动在最上面去,这样就频繁的往上翻,特别是加入图片的时候,如果多张就会出现这种情况。体验上的小问题。小小建议。
epiol 视频播放的语法 Markdown 本来就没有,你可以考虑使用 HTML 语法,目前只扩展了两个视频网站的短连接,你可以看看:https://halo.run/archives/use-markdown#%E7%9F%AD%E8%BF%9E%E6%8E%A5
文章分享得看主题,我们没有办法控制每个主题的功能。
epiol 首行缩进和字体颜色都是 Markdown 不支持的。
Git 全局相对/绝对路径配置的特性已经做好了。halo-dev/halo486
等待发布下个版本。
编辑器的这些问题都会弄,不会得慢慢等,毕竟我们现在是用爱发电,不可能做到面面俱到。至于你上传图片,可以 ctrl + c 和 ctrl + v。
大佬 图片或者文件上传 可以在本地的时候新建文件夹。上传图片到本地指定的文件夹不
Hepengzhou 暂时没有文件夹的概念。目前本地上传的图片路径均为 /年份/月份/日 的形式存储。
如: /2020/2/20/xxx.jpg
填写文章摘要的框框不支持markdown显示?
chenxianghuan 不支持。但是后面会考虑使用 <!--more-->
生成摘要。
zerohyuan 好的。
现在你可以用 html 代码控制。