Welcome to xLog, let's go, it's on the chain!
Great Attempt - planet#
Since I started using Planet, I have become more and more curious about Web3.0 technology. At first, I was really a "novice" and didn't understand much. But now I have a basic understanding of some concepts, although there is still a lot to learn through practice. My first practice was with IPFS, and it felt quite magical. For example, when I write an article and put it on the chain, there are various confirmations, which means I need to prepare for payment.
What have I been doing recently? I bought an eth domain name and initially thought I had to pay with ENS, so I bought a lot of ENS. However, when I tried to make the payment, it said that the balance was not enough, even though I had bought enough ENS. After a few seconds of thinking, I realized that I might have been confused by app.ens.domain, and I still needed to pay with ETH. So, I bought a certain amount of ETH, but then I found out that the gas fee had increased again, which increased the total price of the domain. In the end, I gritted my teeth and bought it. One of my domain names is qfdka.eth, and I created my own website as a test. However, I found that it was very slow to open. After some investigation, I realized that the article was not published on the IPFS network, which means that no one was getting the resources from the "seeds" and saving them on IPFS. This raises a problem: if you finish writing an article but don't put it on the chain or distribute it on the network, and then you turn off your computer, everything you did was in vain. IPFS has a concept called GC, similar to Java, which seems to run every hour and automatically cleans up. In order to ensure that resources are always available on IPFS, a 🤖 is needed to continuously access them, which is what we call pinning.
The specific command is as follows:
# Pin qfdka.eth on the network
ipfs pin add /ipns/qfdka.eth
Another method is to use a third-party service called Filebase. By applying for a token, the pinning operation will be automatically performed every time you publish. After a series of operations, your article should be accessible on the network, and the speed should not be slow.
A Turnaround - xLog#
By chance, I entered the Telegram group of Planet and learned a lot of knowledge. I saw an open-source blog called xLog there, so out of curiosity, I went to take a look. I really liked their style, so the story continued. As a user, it seems that Planet is still a very new app with an all-English interface. The customization of themes inside seems to be quite complicated. I also downloaded the static server, wrote my first blog post, and then I couldn't open it. Although the pinning service was running, the speed was different when using different gateways.
What amazed me about xLog was its access speed, which was not as troublesome as Planet. As a full-stack developer, I don't like to see loading animations. Almost every time I open ipfs.io/ipns/xxx, there is a loading animation, which I learned is because it is searching for files based on the CID. Speaking of xLog, when I opened @DIYgod's blog, it basically opened instantly. How can I miss such an attractive feature? I immediately registered. Registration requires connecting a wallet. After being fooled by ENS before, I decided to use this wallet for a great experiment. I logged in by scanning the QR code, everything went smoothly, and then I went to https://faucet.crossbell.io/ to claim 0.02 CSB. The token arrived immediately, really fast. Logging in was also smooth. I published my first post, "Hello world," and I couldn't express my excitement. The only problem is that every time I have to scan (pay) the QR code to proceed to the next step. It seems that writing something still comes at a cost. Thanks to Crossbell for providing us with free tokens.
Quick Response from xLog Author#
Of course, as a new product, there are still bugs, such as the inability to delete custom domain names. I immediately contacted the author and after some searching, I reached out to @DIYgod. The author responded quickly, and the official made the modification to save me from tinkering around. Giving feedback to the author, I also took the opportunity to read through the code. As an open-source project, the speed of the official response is an important indicator. Then I started to dig into the code. In order to prevent myself from getting stuck due to bugs, I also contributed to the official project. I fixed a small bug, and now it is possible to customize the homepage button. Since the default homepage is "Home," I changed it to Chinese. It was a simple modification that didn't take much time, but it helped the project. This is the power of open source!
I wrote a personal introduction page, but there was a problem. On mobile devices, there would be a white bar. After testing, I found that it was because the second-level heading was not compatible with mobile devices. I solved it in a brute-force way, and then the author made an official fix.
.xlog-post-toc {
display:none
}
Conclusion#
After a few days of trying, I feel very satisfied with xLog. I highly recommend it. 😊
As a final treat, let me share my theme with everyone. Actually, you can also configure banners here. After reading the source code, I discovered many interesting ways to play. Thanks to the author.
:root {
--theme-color: #0ea5e9;
--theme-color-dark: #0284c7;
--font-fans: SFCompactRounded,PingFang SC,Microsoft YaHei,Lato,sans-serif;
}
.xlog-site-name {
color: var(--theme-color);
}
.xlog-site-info {
border-radius: 0.75rem;
padding: 1rem;
border: 1px;
border-style: dashed;
}
.xlog-site-navigation{
color: #bfdbfe;
}
.xlog-site-navigation a:hover{
color: var(--theme-color);
}