#前端

2025 年第一篇 post !

大概讲下今天做了点什么吧。

重构博客

维护主题

这个博客使用的主题早在 2022 年原作者就已经停止维护了,很多新功能都是我新加进去的,比如 giscus 评论系统,CC License 和 busuanzi 数据统计。但是我一直没空去下定决心重开一个仓库来维护这个主题,而是用一种很别扭的方式直接把纯文件放在 themes 文件夹里面,和博客文章一起挤在一个仓库。毕竟这些功能我很多只是在源文件里面做了一些粗暴的 monkey patch,而没有按照 hexo 主题的标准来进行合适的配置和暴露接口。

我的博客这样尴尬的状态持续了接近两年,直到今天我决定改变这个现状,因为在此期间 hexo 经过了很多的迭代,许多的 API 都需要重新修改,包括原来的依赖包含 C++ 二进制的 node-sass 的 sass render 已经将依赖更新到 dart-sass,并进行了很多 breaking change。

阅读更多

这次的周报又多拖了两个星期。其实按照实际进度来说项目已经接近完成了。不过我会吧进度同步到这份周报该发布的时间。

项目进度

Filter and Collection

完成 filter 部分,将原始请求的 osm bbox 数据进行筛选,分为 public transport 和 highway 等 collection。

考虑到编辑器主要服务于公共交通,所以不需要过多关注建筑物等信息的编辑。主要关注 highway 和 public transport.在参考了 OSM wiki 之后编写了 filter, 利用 tag 信息来过滤数据,进行分类。

对于筛选后需要展示和编辑的数据,建立了 feature tree 的树形结构,维护 OSM 数据的树形关系,便于展示和编辑。

阅读更多

很遗憾这个周报欠了两个星期,所以这次会连着发两份周报(下一份也在写了)。

项目进度

截止本周报应该发布的时间,我已经完成了项目的 React 重构,并且初步确定了 UI 编辑模块的组成。

重构

在项目开始一个月,已经写了一半的情况下面重构,的确不是一个很容易做出的确定,但是原先的技术选型确实不能支持这个项目的继续开发了——倒不说说技术上不可行,但是需要更多的时间,而且复杂度会超出掌控。

原先的技术选型受到了 Rapid 项目的影响,这个项目采用了原生 ESM 来进行开发,而不是使用流行的前端框架。因为我这个项目也使用 PIXI.js 来进行地图的渲染,很多实现和设计都参考了 Rapid ,所以一开始也很自然的学起了它的技术选型。

阅读更多

距离上一个周报已经过去两个多星期了,我也应该要同步当前的进度了。

项目进度

目前项目的核心模块已经基本固定下来,可以进入后半阶段的开发,接下来的工作基本上是在现有框架内添加新的功能。

首先是调通了渲染部分,不过还是有些细节缺少打磨,比如样式以及控制渲染的元素,这些会和之后的功能同步进行,确保样式和编辑逻辑贴和。

其次我写了个 OSM API 模块,用 Promise 打包了一些 OSM 的接口,将返回的 XML 解析成 JS Object , 方便在程序中调用。

接下来是编辑模块。主要包括操作逻辑部分和全局数据管理部分

阅读更多

很快开发就经过了两个星期,是时候写一篇双周报了。

项目进度

项目还在早期开发阶段,目前还没有可用的原型,不过已经可以渲染一些测试数据了。

目前基本上确定了渲染部分的实现,经过测试可以渲染点和路径。

不过由于其他模块的接口还没有完全确定,有部分功能没有实现。比如分线段高亮路径,而不是 iD 编辑器中默认选中整条路径的逻辑。还有多面体的渲染目前也没有实现,因为需要编辑模块的接口。

更新计划

阅读更多

在这次 OSPP 当中我将会完成一个基于现代前端技术栈的 OpenStreeMap 公共交通关系编辑器。希望能为 OSM 社区做一些贡献。

项目目标

本项目的目标是使用现代前端技术栈开发一个跨平台的编辑器,该编辑器操作简便,交互直观。项目过程中将与 OSM 中国社区合作,确保在交互设计和功能实现上达到较高的标准。

项目实现

项目基本框架

项目可以大致分为地图渲染模块,路线编辑模块,以及 OSM API 模块

阅读更多

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×