探索未知文件的利器 —— Glance

探索未知文件的利器 —— Glance

glance🔎 All-in-one Quick Look plugin项目地址:https://gitcode.com/gh_mirrors/glance1/glance

Glance Logo

在数字世界中,我们经常会遇到macOS不原生支持预览的文件类型。这便是Glance大展身手的时候了。这是一个强大的Quick Look插件,旨在填补系统预览功能的空白,让你可以轻松地预览各种复杂格式的文件。

项目简介

Glance源自对一个已废弃项目原版Glance插件的复兴和改良。新版本不仅修复了在macOS Big Sur上的问题,还引入了更多特性以满足现代操作系统的需求。通过这个单一的工具,你可以方便地查看源代码、Markdown文档、压缩包,甚至是Jupyter Notebook等非标准格式文件。

技术分析

Glance采用了先进的技术和库,包括:

  • 使用Chroma进行源代码语法高亮。
  • 借助goldmark渲染Markdown内容,确保准确且美观。
  • 针对Jupyter Notebook,它利用nbtohtml将.ipynb文件转换为可预览的HTML。
  • 并依赖SwiftCSV解析Tab分隔值文件(.tab和.tsv)。

此外,Glance充分利用macOS的新Quick Look API,保证与系统的兼容性以及在深色模式下的良好体验。

应用场景

无论你是开发者,需要快速浏览代码;还是博主,需要预览Markdown草稿;或是数据分析师,想要检查tsv文件,Glance都是你的得力助手。它还可以预览档案,如.tar和.zip文件,甚至能展示Jupyter Notebook的内容。对于科研工作者或学生来说,处理.ipynb文件时无需启动完整的Jupyter环境,效率提升显著。

项目特点

  • 多合一:集成多种文件类型的预览功能,无需安装多个插件。
  • 一致性:所有预览界面保持一致的设计风格,提供优质的视觉体验。
  • 暗黑模式:完全兼容macOS的暗黑模式,夜间工作同样舒适。
  • 扩展性强:易于添加新的文件类型支持,欢迎社区贡献。
  • 性能优化:针对大型文件做了特别处理,避免影响电脑运行速度。

安装与使用

获取Glance非常简单,你可以从最新发布的版本下载.dmg文件后拖动到应用程序目录,或者通过Homebrew安装。然后使用终端命令解除权限限制,最后打开应用即可享受便捷的预览服务。

现在,让我们一起享受Glance带来的高效和便捷吧!如果你有新文件类型预览的需求,或者想参与到Glance的开发中来,不要犹豫,立即行动起来,提交议题或直接贡献代码吧!

许可证方面,该项目遵循MIT License,这意味着你可以自由地使用、修改和分享这一优秀工具。

拥抱Glance,让文件预览变得更加直观和强大!

glance🔎 All-in-one Quick Look plugin项目地址:https://gitcode.com/gh_mirrors/glance1/glance

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
要将OSS文件上传到OpenStack Glance,你需要使用阿里云OSS SDK下载文件,并使用OpenStack Glance的API将文件上传为镜像。以下是一个示例代码,演示了如何使用阿里云OSS Go SDK和OpenStack Go SDK完成此操作: ```go package main import ( "fmt" "io/ioutil" "os" "github.com/aliyun/aliyun-oss-go-sdk/oss" "github.com/gophercloud/gophercloud" "github.com/gophercloud/gophercloud/auth/aksk" "github.com/gophercloud/gophercloud/openstack" "github.com/gophercloud/gophercloud/openstack/imageservice/v2/images" ) func main() { // 配置阿里云OSS连接 ossEndpoint := "your-oss-endpoint" ossAccessKey := "your-oss-access-key" ossAccessSecret := "your-oss-access-secret" bucketName := "your-bucket-name" objectKey := "your-object-key" // 创建OSS客户端 client, err := oss.New(ossEndpoint, ossAccessKey, ossAccessSecret) if err != nil { fmt.Println("Failed to create OSS client: ", err) return } // 从OSS下载镜像文件 tempFile, err := ioutil.TempFile("", "image") if err != nil { fmt.Println("Failed to create temporary file: ", err) return } defer os.Remove(tempFile.Name()) err = client.GetObjectToFile(bucketName, objectKey, tempFile.Name()) if err != nil { fmt.Println("Failed to download image from OSS: ", err) return } // 配置OpenStack连接 openStackAuthURL := "your-openstack-auth-url" openStackUsername := "your-openstack-username" openStackPassword := "your-openstack-password" openStackTenantID := "your-openstack-tenant-id" opts := gophercloud.AuthOptions{ IdentityEndpoint: openStackAuthURL, Username: openStackUsername, Password: openStackPassword, TenantID: openStackTenantID, } provider, err := openstack.AuthenticatedClient(opts) if err != nil { fmt.Println("Failed to authenticate with OpenStack: ", err) return } // 创建OpenStack Image Service客户端 imageClient, err := openstack.NewImageServiceV2(provider, gophercloud.EndpointOpts{}) if err != nil { fmt.Println("Failed to create OpenStack Image Service client: ", err) return } // 创建Glance镜像 image, err := images.Create(imageClient, images.CreateOpts{ Name: "imported-image", DiskFormat: "qcow2", ContainerFormat: "bare", Visibility: images.Public, }).Extract() if err != nil { fmt.Println("Failed to create Glance image: ", err) return } // 上传镜像到Glance imageData, err := os.Open(tempFile.Name()) if err != nil { fmt.Println("Failed to open image file: ", err) return } defer imageData.Close() err = images.Upload(imageClient, image.ID, imageData).ExtractErr() if err != nil { fmt.Println("Failed to upload image to Glance: ", err) return } fmt.Println("Image upload completed successfully!") } ``` 确保替换示例代码中的"your-oss-endpoint"、"your-oss-access-key"、"your-oss-access-secret"、"your-bucket-name"、"your-object-key"、"your-openstack-auth-url"、"your-openstack-username"、"your-openstack-password"和"your-openstack-tenant-id"参数为你的实际值。 这段示例代码中使用了阿里云OSS Go SDK和OpenStack Go SDK来实现从OSS下载文件并将其上传到OpenStack Glance。首先,它通过阿里云OSS Go SDK从OSS下载镜像文件到本地临时文件。然后,通过OpenStack Go SDK创建Glance镜像,并使用Glance API将镜像文件上传到Glance。 请确保你已经安装了所需的Go SDK并正确配置了相关的认证信息和权限。如有任何疑问,请参考相关SDK的文档或与社区进行进一步交流。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

颜殉瑶Nydia

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值