第一眼看到就喜欢上了

news2024/11/20 18:33:41

有多少小伙伴是被标题 吸引进来的呢,小编可不是标题党。

今天给大家推荐的是一款开源3D 博客,确实是第一眼看到就喜欢上了。

相信大家跟我一样,曾经可能花费大量的时间和精力打造过自己的专属博客。只为自己的博客看上去与众不同,酷炫新颖。

我们会给博客加上不一样的标题,音乐、图片、二次元等多种交互内容,但不管怎么“装扮”,看多了也会审美疲劳。

废话不多说,我们先来看看这款博客长啥样

3dblog

博客以一辆3D汽车开始,不管是看文章,还是其他一系列的后续都要通过操作小汽车完成。

第一眼看到真的是让人眼前一亮,彻底颠覆了我对博客的认知,原来博客也可以这么酷炫。

一、博客简介

1.1 项目基本情况

① 项目地址:https://github.com/brunosimon/folio-2019

② 项目在线体验地址: https://bruno-simon.com/

项目目前已有 3.7k stars ⭐

1.2 小游戏

不得不说这博客交互性真的很强。在看博客的同时,还可以玩各种小游戏,真正做到了,游戏学习两不误。

我们来看看它都有些什么游戏呢?

①驾驶着小汽车,我们第一个路过的就是“泡沫墙体”小游戏

泡沫墙体

②下一站我们来到了保龄球馆

保龄球馆

③ 如果以上游戏你都还不满意,这里还有“野外越野”

野外越野

1.3 作者构建的小世界

我们根据作者构建的小世界猜想,他一定是一个非常有趣的人,博客描绘出的画面或许就是作者生活的写照吧。

每一个小场景或许都是作者日常生活的点点滴滴。

在作者构建的场景中,从健身、游戏、看电影等日常活动,我们能够想到“一人一狗一世界”,多么惬意的生活。

这何尝不是我们梦寐以求的生活呢,简单充实而又洒脱。

生活点点滴滴

1.4 联系作者

顺着作者的精心制作的指示标【INFORMATION】,我们来到了作者的个人信息展示页面

INFORMATION指示标

作者相关

在这里我们可以通过twiter、GitHub、email 联系到作者

二、部署项目

看了这么多在线演示,怎么才能将项目跑起来呢。

我们只需要进入到项目GitHub地址:https://github.com/brunosimon/folio-2019 然后再readme.md中已经介绍了具体步骤

其实就跟我们平常启动vue\react项目一样,安装依赖,然后启动

# 1.下载项目
git clone git@github.com:brunosimon/folio-2019.git
# 2.安装了 Parcel(Web 应用打包工具)
npm install -g parcel-bundler
# 3.安装依赖(仅第一次需要)
npm i
# 4.运行
npm run dev

image-20230424231115735

浏览器输入:http://localhost:8080 即可访问

image-20230424231217039

三、项目概述

以下总结来自与HelloGitHub大佬

博客项目结构图

好多看不懂,没关系,我们就大概了解项目用到的技术,然后能够将自己博客展现出来即可。

我们找到熟悉的src 文件夹,里面的就是核心代码。打开文件夹,相信你已经知道了,入口就是index.js

import './style/main.css'
import Application from './javascript/Application.js'

window.application = new Application({
    $canvas: document.querySelector('.js-canvas'),
    useComposer: true
})

一说到3D,想必大家想到的就是Three.jsThree.js 是3D的JavaScript

地址:https://github.com/mrdoob/three.js

项目中用到的另一个库是dat.gui.js 它是一个用于在 JavaScript 中更改变量的轻量级图形用户界面

感兴趣的小伙伴可以找相关资料深入研究学习一下

四、打造自己的3D博客

说了这么多,既然是作为博客系统。那么我们最最最关心的就是:怎么将自己的文章展示出来呢?

我们顺着小世界上的【PROJECTS】“路标“就可以找到项目文章列表,当然了,这里展示的是作者的,我们接下来要做的就是把内容换成自己的。

image-20230424233742496

我们找到ProjectsSection.js 文件,并在文件中找到setList,这里列出来的就是文章列表,修改如下

 setList()
    {
        this.list = [
            {
                name: 'www.xiezhrspace.cn',
                imageSources:
                [
                    projectsxiezhrspaceSources
                ],
                floorTexture: this.resources.items.projectsThreejsJourneyFloorTexture,
                link:
                {
                    href: 'http://www.xiezhrspace.cn',
                    x: - 4.8,
                    y: - 2,
                    halfExtents:
                    {
                        x: 3.2,
                        y: 1.5
                    }
                },
                distinctions:
                [
                    { type: 'fwa', x: 2.95, y: 3.15 }
                ]
            }
       ]
  }

结合上面代码,改动主要有imageSources floorTexturehref

imageSources : 就是“广告牌” 上面现实的内容,这里我们通过引入图片方式展现。

图片的引用规则我们模仿之前的即可

import projectsxiezhrspaceSources from '../../../models/projects/pots/xiezhrspace001.jpg'

然后就是再imageSource中展示

imageSources:
[
    projectsxiezhrspaceSources
]

floorTexture :即地板上的贴图。这个在哪修改呢? 我们找到Resources.js文件,将下面代码中的图片换成我们自己的即可

import projectsThreejsJourneyFloorSource from '../models/projects/threejsJourney/xiezhrfloor.png' 

然后就是在floorTexture 中使用了

 floorTexture: this.resources.items.projectsThreejsJourneyFloorTexture

herf : 文章跳转路径。这里我们将路径设置成自己文章地址即可

经过以上以上更改后,我们重新编译发布项目后,我们就拥有了自己的3D博客,效果如下,是不是很酷呢。

image-20230430221142465

以上就是本期全部内容,我们下期再见 (●’◡’●)

如果你也对这3D博客感兴趣的话,赶紧去弄一个呗。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/495413.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

2023Java商城毕业设计(附源码和数据库文件下载链接)Spring Boot + mysql + maven + mybatis-plus

2023Java商城毕业设计Spring Boot mysql maven mybatis-plus 用户注册用户登录修改密码商品列表(分类模糊查询)个人信息用户信息修改订单信息添加至购物车商品列表商铺详情商品详情商铺列表 资源目录如下:(源码sql文件&#xf…

scratch判断亲和数 中国电子学会图形化编程 少儿编程 scratch编程等级考试四级真题和答案解析2023年3月

目录 scratch判断亲和数 一、题目要求 1、准备工作 2、功能实现 二、案例分析 <

案例分享|CPU监控异常

CPU使用率监控很关键&#xff0c;综合反应系统的负载情况&#xff0c;是监控的重要指标之一。CPU的使用率&#xff0c;对业务系统性能有重要的影响&#xff0c;根据CPU使用率监控&#xff0c;可以对系统或应用进一步分析调优。 4月25日22点&#xff0c;平台收到某县级医院HIS数…

回炉重造十二----网络文件共享服务

网络文件共享服务 1、FTP文件传输协议 1.1 FTP工作原理 FTP的20和21端口的区别 20端口是用来传输数据的 21端口是客户端用来连接FTP服务器 主动模式&#xff08;PORT&#xff09;&#xff1a; 客户端连接到FTP服务端的21号端口&#xff0c;发送用户名和密码当客户端成功登…

对线面试官,JUC面试专题强化

一、AQS高频问题 1.1 AQS是什么&#xff1f; AQS是JUC下大量工具的基础类&#xff0c;很多工具都基于AQS实现的&#xff0c;比如lock锁&#xff0c;CountDownLatch&#xff0c;Semaphore&#xff0c;线程池等等都用到了AQS。 AQS中有一个核心属性state&#xff0c;还有一个…

Android 自定义View实战—制作一个简易输入框

这次我们来做一个简易输入框&#xff0c;可以用于密码输入和验证码输入。 依然在EasyView中进行创建&#xff0c;在com.easy.view下新建一个EasyEditText&#xff0c;继承自View &#xff0c;实现里面的构造方法。 ① 构造方法 然后我们继承自View&#xff0c;重写里面的构造…

一些良心软件的推荐

推荐软件一&#xff1a;硬盘规划——SpaceSniffer SpaceSniffer 是一款免费的硬盘空间管理软件&#xff0c;可以帮助你快速分析你电脑硬盘中的文件和文件夹&#xff0c;让你更加清楚地了解硬盘的使用情况。通过SpaceSniffer&#xff0c;你可以轻松地找到占用大量空间的文件和文…

Java—JDK8新特性—接口增强

目录 JDK引言 1.相关组织和规范 1.1 JCP (Java Community Process) 1.2 JSR (Java Specification Requests) 1.3 JEP (Java Enhancement Proposal) JDK8新特性 1.接口增强 1.1 默认方法 1.1.1 为什么引入默认方法 1.1.2 如何使用默认方法 1.1.3 如何调用默认方法 1…

用Radare2模拟shellcode运行

当我们在编写汇编时&#xff0c;可能有的时候你需要看看编译器中到底发生了什么。如果你正在排除shellcode出现的问题&#xff0c;你那么更需要耐心地、慎重地运行指令。 本文将探讨如何在x86_64的Ubuntu系统上模拟32位ARM shellcode。由于大多数笔记本电脑和工作站还没有运行…

单篇笔记涨粉8w,10秒视频播放超1000w,小红书最近在流行什么?

四月&#xff0c;小红书平台又涌现出哪些优质博主&#xff1f;品牌在投放种草方面有何亮眼表现&#xff1f; 为洞察小红书平台的内容创作趋势及品牌营销策略&#xff0c;新红推出4月月度榜单&#xff0c;从创作者及品牌两方面入手&#xff0c;解析月榜数据&#xff0c;为从业者…

iOS总结_UI层自我复习总结

UI层复习笔记 在main文件中&#xff0c;UIApplicationMain函数一共做了三件事 根据第三个参数创建了一个应用程序对象 默认写nil&#xff0c;即创建的是UIApplication类型的对象&#xff0c;此对象看成是整个应用程序的一个抽象&#xff0c;负责存储应用程序的状态。根据第四…

SpringBoot访问静态资源

SpringBoot项目中没有WebApp目录&#xff0c;只有src目录。在src/main/resources下面有static和templates两个文件夹。SpringBoot默认在static目录中存放静态资源&#xff0c;而templates中放动态页面。 static目录 SpringBoot通过/resources/static目录访问静态资源&#xff…

怎么衡量纸白银走势图的强弱?

目前国内银行提供的纸白银交易基本实现了全天候连续的交易时间&#xff0c;但由于银行所提供的交易终端的技术分析功能有限&#xff0c;投资者在分析行情时绑手绑脚&#xff0c;因此小编建议大家可以尝试使用国际上主流的MT4的平台&#xff0c;作为观察国际银价走势的参考和技术…

在 Python 中获取昨天的日期

文章目录 在 Python 中获取昨天的日期Python 中的Date模块 在 Python 中获取昨天日期的示例 我们将通过多个示例介绍如何使用 Python 获取昨天的日期。 在 Python 中获取昨天的日期 Python 是一种高级语言&#xff0c;可用于数据科学和机器学习&#xff0c;以使用 Python 的数…

unity进阶学习笔记:消息框架

1 使用消息框架的目的 对于小型游戏&#xff0c;可能不需要任何框架&#xff0c;而是让各个游戏脚本直接相互通信。如要实现玩家受到攻击血量减少&#xff0c;通过玩家控制类向血条脚本发送消息减少血量。但是这样直接通信会导致各脚本通信关系记为复杂&#xff0c;并且每一个…

测试5年从中兴 15K 跳槽去腾讯 32K+16,啃完这份笔记你也可以

粉丝小王转行做测试已经是第5个年头&#xff0c;一直是一个不温不火的小职员&#xff0c;本本分分做着自己的事情&#xff0c;觉得自己的工作已经遇到了瓶颈&#xff0c;一个偶然的机会&#xff0c;获得了一份软件测试全栈知识点学习笔记&#xff0c;通过几个月的学习&#xff…

基于AT89C51单片机的计算器设计与仿真

点击链接获取Keil源码与Project Backups仿真图: https://download.csdn.net/download/qq_64505944/87759134?spm=1001.2014.3001.5503 源码获取 主要内容: 本次设计所提出的一种基于单片机技术的简易计算器的方案,能更好的解决计算机计算的问题,随着数字生活的到来,单片…

什么是皮安计?皮安表测试测量软件分享NS-SourceMeter

什么是皮安计 测量低直流电流&#xff0c;其需求常常远远超出数字万用表的功能。一般来说&#xff0c;数字万用表缺少测量低于100nA的电流所需的灵敏度。即使在较高的电流水平上&#xff0c;一个DMM的输入电压降&#xff08;电压负担&#xff09;高达几百毫伏&#xff0c;也不…

记录线上排查内存泄露问题

背景 记录一次云上排查内存泄露的问题&#xff0c;最近监控告警云上有空指针异常报出&#xff0c;于是找到运维查日志定位到具体是哪一行代码抛出的空指针异常&#xff0c; 问题分析 发现是在解析cookie的一个方法内&#xff0c;调用HttpServletRequest.getServerName()获取…

嵌入式软考备考_5 安全性基础知识

安全性基础知识 网安问题概述 被动攻击&#xff1a;监听&#xff08;截获&#xff09;。 主动攻击&#xff1a;主动破坏&#xff08;中断篡改&#xff0c;病毒&#xff0c;ddos使得某个服务拒绝服务&#xff0c;重放攻击&#xff1a;黑客截取了正常用户输入用户名密码的加密…