#Frontend

(AI generated)

First post of 2025!

Let me briefly share what I worked on today.

Refactoring the Blog

Maintaining the Theme

The theme used in this blog has been out of maintenance since 2022, as the original author stopped updating it. Many of the new features, like the Giscus commenting system, CC License, and Busuanzi statistics, were added by me. However, I never had the time to properly create a new repository for maintaining this theme. Instead, I awkwardly dumped the raw theme files directly into the themes folder, sitting alongside blog posts in the same repository. Most of these new features were implemented through rough “monkey patching” of the original files rather than following the proper Hexo theme standards to configure and expose interfaces.

Read More

(AI generated)
This report is also two weeks late. Actually, in terms of real progress, the project is nearly complete. However, I’ll sync the progress to when this report should have been published.

Project Progress

Filter and Collection

Completed the filter part, filtering the originally requested OSM bbox data into collections such as public transport and highway.

Considering that the editor primarily serves public transport, there’s no need to focus too much on editing building information and other data. The main focus is on highway and public transport. After referencing the OSM wiki, I wrote filters that use tag information to filter and categorize data.

For filtered data that needs to be displayed and edited, established a feature tree structure to maintain the tree relationships of OSM data, facilitating display and editing.

Read More

(AI generated)

Unfortunately, this report is two weeks late, so I’ll be publishing two reports together (the next one is also being written).

Project Progress

As of when this report should have been published, I had completed the React restructuring and preliminarily determined the composition of the UI editing module.

Restructuring

Deciding to restructure after one month into the project, with half of it already written, was certainly not an easy decision. However, the original technical choices couldn’t support the project’s continued development—not that it was technically impossible, but it would require more time and the complexity would become unmanageable.

Read More

(AI generated)

It’s been over two weeks since the last report, so it’s time to sync up on current progress.

Project Progress

The core modules have been largely finalized, allowing us to enter the latter stage of development. Future work will mainly involve adding new features within the existing framework.

First, we got the rendering part working, though some details still need polishing, such as styles and controlling rendered elements. These will be addressed alongside future functionality to ensure styles align with editing logic.

Second, I wrote an OSM API module that wraps some OSM interfaces with Promises and parses returned XML into JS Objects for easier program use.

Read More

(AI generated)

Two weeks of development have passed quickly, and it’s time to write a bi-weekly report.

Project Progress

The project is still in early development stages. While there isn’t a usable prototype yet, we can already render some test data.

The rendering implementation has been largely determined, and testing shows we can render points and paths.

However, some features haven’t been implemented yet since other module interfaces aren’t fully defined. For example, highlighting path segments individually rather than selecting the entire path as in the iD editor. Polygon rendering also hasn’t been implemented yet as it requires the editing module interface.

Read More

(AI generated)

In this OSPP project, I will develop an OpenStreetMap public transport relation editor based on modern frontend technology stack. I hope to make some contributions to the OSM community.

Project Goals

The goal of this project is to develop a cross-platform editor using modern frontend technology stack. This editor should be easy to operate with intuitive interactions. During the project, we will collaborate with the OSM China community to ensure high standards in both interaction design and functionality implementation.

Project Implementation

Basic Project Framework

Read More

Your browser is out-of-date!

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

×