基于GithubAPI的简易静态博客生成器

需积分: 9 0 下载量 20 浏览量 更新于2024-10-19 收藏 91KB ZIP 举报
资源摘要信息:"一个简单的静态博客生成器,它能够生成单一静态页面。通过Github API的交互实现在浏览器中发布文章的功能。" 知识点: 1. 静态博客生成器:这是一个用于生成静态网页的工具,它们通常使用模板引擎来渲染HTML、CSS和JavaScript文件。静态博客生成器的优点是速度快,安全性高,易于部署。 2. Github API:Github API是一种允许用户通过编程方式与Github进行交互的接口。在这个例子中,作者使用Github API在浏览器中发布文章,这展示了Github API的强大功能和灵活性。 3. Github Pages:Github Pages是Github提供的一个静态网站托管服务,你可以直接通过Github仓库来发布你的网页。这个博客系统就是利用Github Pages来托管静态页面的。 4. 模板可配置:这意味着用户可以根据自己的需要来配置博客模板,使得博客更具个性化。 5. 支持页码,标签页,归档页:这些都是博客系统的基本功能,可以帮助用户更好地管理和展示他们的文章。 6. 自带简单搜索功能,支持介入搜索:这意味着用户可以方便地在博客中搜索他们需要的信息。 7. 原生PJAX:PJAX是一种通过Ajax技术来实现页面无刷新切换的技术。原生PJAX意味着这个博客系统支持这种技术,可以提供更加流畅的用户体验。 8. 硬核图片Lazyload:这是一种图片加载优化技术,只有当图片即将进入可视区域时才会加载,这样可以提高页面的加载速度。 9. 平滑回滚至头部:这是一个用户体验优化功能,可以使得用户在浏览长文章时能够平滑地回到文章顶部。 10. 封面图支持:这意味着用户可以在他们的文章中添加封面图,使得文章更加吸引人。 11. 可用主题:这个博客系统提供了多种主题供用户选择,使得用户可以根据自己的喜好来个性化他们的博客。 12. 部署:这个博客系统的部署过程非常简单,只需要创建一个仓库并在仓库中创建一个README文件即可。但需要注意的是,这个过程在今年年底会后台登录失效,所以需要尽快完成部署。 总的来说,这个博客系统提供了一个简单易用的静态博客生成解决方案,它利用了Github API的强大功能和Github Pages的便利性,同时也提供了丰富的个性化和优化功能,非常适合需要快速搭建静态博客的用户。

程序执行提示AttributeError: 'point_cloud_generator' object has no attribute 'widthself',优化程序class point_cloud_generator(): def __init__(self, rgb_file, depth_file, save_ply, camera_intrinsics=[784.0, 779.0, 649.0, 405.0]): self.rgb_file = rgb_file self.depth_file = depth_file self.save_ply = save_ply self.rgb = cv2.imread(rgb_file) self.depth = cv2.imread(self.depth_file, -1) print("your depth image shape is:", self.depth.shape) self.width = self.rgb.shape[1] self.height = self.rgb.shape[0] self.camera_intrinsics = camera_intrinsics self.depth_scale = 1000 def compute(self): t1 = time.time() depth = np.asarray(self.depth, dtype=np.uint16).T # depth[depth==65535]=0 self.Z = depth / self.depth_scale fx, fy, cx, cy = self.camera_intrinsics X = np.zeros((self.width, self.height)) Y = np.zeros((self.width, self.height)) for i in range(self.width): X[i, :] = np.full(X.shape[1], i) self.X = ((X - cx / 2) * self.Z) / fx for i in range(self.height): Y[:, i] = np.full(Y.shape[0], i) self.Y = ((Y - cy / 2) * self.Z) / fy data_ply = np.zeros((6, self.width * self.height)) data_ply[0] = self.X.T.reshape(-1)[:self.widthself.height] data_ply[1] = -self.Y.T.reshape(-1)[:self.widthself.height] data_ply[2] = -self.Z.T.reshape(-1)[:self.widthself.height] img = np.array(self.rgb, dtype=np.uint8) data_ply[3] = img[:, :, 0:1].reshape(-1)[:self.widthself.height] data_ply[4] = img[:, :, 1:2].reshape(-1)[:self.widthself.height] data_ply[5] = img[:, :, 2:3].reshape(-1)[:self.widthself.height] self.data_ply = data_ply t2 = time.time() print('calcualte 3d point cloud Done.', t2 - t1)

2023-05-24 上传