resume-design
猫步简历 – 一款开源免费的简历制作神器,支持导出超高清PDF、图片、源码级JSON数据等,AI简历生成、AI润色、AI语种翻译等。提供海量在线制作模版、主题任意切换、高度定制化的简历模块。使用猫步简历,您可以制作出一份独特、优美、专业的求职简历。
Stars: 2010
Resume-design is an open-source and free resume design and template download website, built with Vue3 + TypeScript + Vite + Element-plus + pinia. It provides two design tools for creating beautiful resumes and a complete backend management system. The project has released two frontend versions and will integrate with a backend system in the future. Users can learn frontend by downloading the released versions or learn design tools by pulling the latest frontend code.
README:
基于Vue3 + TypeScript + Vite + Element-plus + pinia实现
在线地址:https://maobucv.com
- 目录
- 🚀 项目简介
- 🤼 功能介绍
- 🎇 项目演示截图
- 🐶 技术栈介绍
- 🏊 如何使用
- 🧱 项目结构说明
- 🐨 在线制作设计器
- 🐔 积木制作设计器
- 🙉 项目代码提交说明
- 🚟 项目交流
- 🍓 成为贡献者
- 🚉 问题反馈
- 🍜 License
- 贡献者
猫步简历是一个开源免费的简历设计制作以及提供模板下载的网站,当前项目为前端项目,完全开源免费。
网站内置有两款设计器,可以方便快捷的制作出精美的简历,除此之外,网站还提供有完整的后台管理系统,可以方便管理整个网站。
该项目已发布两个纯前端版本,这两个纯前端版本之后,项目将接入后台系统,所以如果单纯想要学习前端的小伙伴可以直接下载发布的两个版本之一即可。如果小伙伴想要学习设计器,则可以直接拉取最新前端代码即可。
纯前端版本:https://github.com/huajian-pro/resume-design/releases
- [x] 用户邮箱验证码登录注册、忘记密码、找回密码等功能
- [x] 用户个人中心相关信息管理等功能
- [x] 在线制作设计器(专注简历布局)
- [x] 积木创作设计器(任意布局)
- [x] 导出超高清PDF(支持复制、图标等)
- [x] 支持在线以及导出JSON数据
- [x] 支持评论
- [x] 支持Word简历模板下载
- [x] 支持PPT模板下载
- [x] 支持保存草稿功能
- [x] 积分简币体系
- [x] 支持简历主题任意更改(字体、颜色、背景、间距等)
- [x] 完整的后台管理系统,各种数据均可后台配置
- [x] 网站数据统计(访问量、注册人数、简历制作数等)
- [x] 完善的管理端系统,让网站变得可配置化
......更多功能请到官网体验:猫步简历
网站首页:
管理端:
设计器一:
设计器二:
......更多页面请到官网体验:猫步简历
前端技术栈:
- Vue3.x
- Vite3.x
- TypeScript4.x
- Element-plus
- Pinia
后端技术栈:
- nest.js
数据库:
- MongoDB
文件存储:
- minio
git clone https://github.com/huajian-pro/resume-design.git
pnpm全局安装方法
npm i -g pnpm
cd resume-design
// 使用pnpm安装依赖(推荐)
pnpm install
注意:如果安装失败请切换网络或者清空npm缓存重试。
注意:如果你拉取的为纯前端项目,则可以跳过此步骤。
若要运行项目,需要有相对应的后台,如果没有自己搭建的后台,则可以连接猫步简历官方后台。 修改对应文件:
修改前:
// src/config/index.ts
const serverAddress =
import.meta.env.MODE === 'development' ? 'http://localhost:3399' : 'https://maobucv.com';
const CONFIG = {
// serverAddress: 'http://localhost:3399',
// serverAddress: 'https://maobucv.com',
serverAddress: serverAddress,
smallpigAddress: 'https://maobucv.com' // 此地址为资源分享菜单的后台地址,可不管
};
export default CONFIG;
修改后:
// src/config/index.ts
const serverAddress = 'https://maobucv.com';
const CONFIG = {
// serverAddress: 'http://localhost:3399',
// serverAddress: 'https://maobucv.com',
serverAddress: serverAddress,
smallpigAddress: 'https://maobucv.com' // 此地址为资源分享菜单的后台地址,可不管
};
export default CONFIG;
备注:如想搭建自己的后台,可到猫步简历官网获取后端源码。
进入项目目录,执行命令:
pnpm dev
注意:如果运行失败,建议检查依赖是否安装完整、以及检查Node版本是否大于16。
进入项目目录,执行命令:
pnpm build
将生成的dist上传至服务器,采用nginx部署即可。
resume-design
├── LICENSE // 协议文件
├── README.md // 项目介绍文档
├── build // 项目打包相关配置文件
│ ├── utils.ts
│ └── vite
├── commitlint.config.js // 项目提交代码相关配置,npm run commit会读取
├── dist // 项目构建生成文件
│ ├── favicon.ico
│ ├── index.html
│ ├── json
│ └── static
├── doc // 相关文档存放目录
├── index.html
├── package.json
├── pnpm-lock.yaml
├── prettier.config.js
├── public // 项目公共文件夹
│ ├── favicon.ico
│ ├── json
│ └── static
├── src
│ ├── App.vue
│ ├── assets // 相关资源存放目录,如图片等
│ ├── auto-import.d.ts // 自定引入相关依赖配置文件
│ ├── components // 全局公共组件存放目录
│ ├── components.d.ts // 组件自动注册配置,如element-plus
│ ├── config // 项目全局配置目录,如配置后台接口地址等
│ ├── dictionary // 项目中使用到的相关字典映射
│ ├── env.d.ts // Typescript等配置
│ ├── hooks // 项目公用钩子等
│ ├── http // 项目请求API存放目录
│ ├── i18n // 国际化相关
│ ├── interface // Typescript接口定义
│ ├── main.ts // 主入口文件
│ ├── material // 在线制作模块的公共物料组件
│ ├── options // 在线制作模块的物料属性设置面板组件
│ ├── router // 项目路由
│ ├── schema // 在线制作模块相关模型JSON定义
│ ├── store // 全局状态管理
│ ├── style // 公共样式存放
│ ├── template // 在线制作模块模板渲染存放目录
│ ├── utils // 全局公用工具函数
│ └── views // 页面
├── tsconfig.json
├── tsconfig.node.json
├── types
│ ├── custom-types.d.ts
│ └── global.d.ts
└── vite.config.ts
注意:由于项目在不断更新迭代,项目目录结构可能会改变。
在线制作设计器主要是项目初期建设时的第一代设计器,功能没有那么复杂,项目目录可能没有那么规范,但是代码还是很清晰明了的。
使用这款设计器只能制作简历,并且让使用者专注于简历数据,不用花费更多精力在配色、字体等方面,以下为在线制作设计器相关截图:
该款设计器目前是提供模板最多的,主要用于简历设计制作,用户可以自行添加和删除相对应简历模块,通过简单的拖动实现模块之间顺序交换,主要特点如下:
- 专注于简历制作
- 提供有丰富简历模板
- 已提前配置了简历模块
- 让用户专注于数据
- 可以在模板中添加物料中心组件
如果想要给在线制作功能添加更多的模板,那么可以到【贡献模板】页面拖拉拽组成一个完整模板,然后提交审核,管理员在后台审核通过后将会展示在模板列表中。
页面如下:
上图中左侧是物料区,该款设计器其实和在线制作设计器是同一款,只不过这儿是用来生成模板使用的。
物料组件和属性设置面板分别存放在src下的两个目录,如下所示:
具体实现步骤可以参考文章:# 简历开源项目——教你如何新增模板和物料组件
该款设计器为后来新开发的设计器,相较于第一款设计器而言,该款设计器将组件粒度划分为更小,更为灵活,理论而言,不仅可以制作简历,还可以制作海报、logo等等。
但是相对于在线制作设计器而言,积木制作设计器使用户没有那么专注于数据,因为太为灵活,所以需要看用户需求,如果只需要简单制作一份简历,在线制作设计器可能是更好的选择。
积木设计器截图如下:
积木制作设计器主要为满足灵活多变的设计场景,理论上它可以渲染任何组件,比如数据可视化组件等,它主要集中于如下特点:
- 物料组件粒度更小
- 画布区域可设计性更强
- 不仅可制作简历,还可制作海报等
- 理论可以渲染任何组件
- 良好的代码结构
积木制作的模板开发也很简单,任何用户都可以申请提交模板,在设计器内制作出想要的模板,然后提交申请,管理员审核通过即可发布为模板。
如下所示:
为了积木制作设计器与项目更好的解耦,比如让其他项目快速接入积木制作设计器,所以积木制作设计器基本是单独一个目录,如下所示:
新增物料组件主要关注一下几个目录:
- schema
- setters
- widgets
大体步骤如下:
第一步:定义物料组件JSON
在schema/widgetConfig.ts文件中新增一段JSON,JSON例如:
{
id: '', // 组件唯一性id
componentName: 'hj-text-2', // 组件名
commentType: '', // 组件类型
icon: '', // 组件icon
title: '', // 组件中文名称
description: '渐变文本-1', // 组件描述信息
screenShot: {
src: 'text-2.png',
width: '116px',
height: '37px',
borderRadius: '4px'
}, // 组件快照
keywords: '文本-2', // 组件关键词,用于搜索
category: 'text', // 组件分类
props: {}, // 组件属性
css: {
left: 0,
top: 0,
zIndex: 1,
width: 60,
height: 20,
rotate: 0, // 旋转角度
fontSize: 14,
letterSpace: 1,
lineHeight: 1.5,
fontFamily: '方正黑体简体',
fontWeight: 500,
textAlign: 'justify',
padding: {
top: 0,
right: 0,
bottom: 0,
left: 0
},
borderWidth: 0,
borderRadius: 10,
borderColor: '#eee',
borderStyle: 'solid'
}, // 组件样式
dataSource: {} // 组件单独数据
}
将上段JSON添加到List字段中去,左侧物料区对应的分类下就会有对应的组件选择了,主要注意JSON中相关字段含义。其中props和css、dataSource对象中的每一个字段都有对应属性设置组件,比如你在css中添加了fontSize字段,那么右侧属性面板将会出现如下选项:
如果没有对应属性设置组件,则需要自己定义。
第二步:编写组件代码
在widgets文件夹下新增组件代码,比如下图新增了头像组件:
并且需要在widgets目录下的index.ts中注册该组件。
第三步:新增组件设置面板
如果你新增的props和css、dataSource对象中的字段有对应的组件,那么你无需执行这一步,否则需要在setters目录下新增属性设置组件:
需要注意每新增一个组件都需要在当对应目录下的ts文件中注册组件。由于积木制作设计器较为独立,所以抽离到其他项目中比较容易,但是还是有一些点需要注意:
- 设计器使用了pinia,需要单独去剥离,存放在store目录下
- 设计器有导航栏,可能使用全局公共组件,如果不需要直接删除即可
- 涉及到发送请求的地方不需要也直接删除掉
- 其他地方调用了公共组件,可以将公共组件抽离到legoDesigner目录下
为了规范项目的代码提交,项目内安装了husky等插件,提交代码则不能使用传统的git命令提交。
大致流程如下:
add更改
git add .
执行命令:
npm run commit
会出现如下界面,根据本次改动内容具体选择:
如果代码校验没有通过,则会还原当前改变,并且将变化存入了stash,你需要执行如下命令弹出更改:
git stash pop
推送代码
git push
- 开放微信交流群
添加开源作者微信:LHQfighting,备注【猫步简历】,进入猫步简历技术交流群。
- 知识星球学习社区
此社区只开放给已获取猫步简历项目后端源代码的伙伴,社区内部会持续推送最新后端源码,后端源码具体获取方式可到猫步简历官网查看:猫步简历
由于项目目前主要还是小编一个人作为主要代码贡献者,所以工作量很大,分支主要维护在main分支,所以大家提交PR是直接请求合并到main分支即可。
如果你发现了问题并且解决了他,欢迎提交PR吧!成为开源贡献中的一员!
PR地址:pull request
如果在使用猫步简历的过程中遇到问题,获取你有好的想法、需求等,都可以反馈给开源作者,作者将及时响应。 反馈途径:
- 开放微信交流群直接询问
- 直接提issue(强烈建议)
会飞的猪 |
_island |
张雨凡 |
Ocean Han |
- luozha - |
Sam |
For Tasks:
Click tags to check more tools for each tasksFor Jobs:
Alternative AI tools for resume-design
Similar Open Source Tools
resume-design
Resume-design is an open-source and free resume design and template download website, built with Vue3 + TypeScript + Vite + Element-plus + pinia. It provides two design tools for creating beautiful resumes and a complete backend management system. The project has released two frontend versions and will integrate with a backend system in the future. Users can learn frontend by downloading the released versions or learn design tools by pulling the latest frontend code.
99AI
99AI is a commercializable AI web application based on NineAI 2.4.2 (no authorization, no backdoors, no piracy, integrated front-end and back-end integration packages, supports Docker rapid deployment). The uncompiled source code is temporarily closed. Compared with the stable version, the development version is faster.
SwanLab
SwanLab is an open-source, lightweight AI experiment tracking tool that provides a platform for tracking, comparing, and collaborating on experiments, aiming to accelerate the research and development efficiency of AI teams by 100 times. It offers a friendly API and a beautiful interface, combining hyperparameter tracking, metric recording, online collaboration, experiment link sharing, real-time message notifications, and more. With SwanLab, researchers can document their training experiences, seamlessly communicate and collaborate with collaborators, and machine learning engineers can develop models for production faster.
CGraph
CGraph is a cross-platform **D** irected **A** cyclic **G** raph framework based on pure C++ without any 3rd-party dependencies. You, with it, can **build your own operators simply, and describe any running schedules** as you need, such as dependence, parallelling, aggregation and so on. Some useful tools and plugins are also provide to improve your project. Tutorials and contact information are show as follows. Please **get in touch with us for free** if you need more about this repository.
gzm-design
Gzm Design is a free and open-source poster designer developed using the latest mainstream technologies such as Vue3, Vite4, TypeScript, etc. It provides features like PSD import, JSON import, multiple pages support, shortcut key support, template import, layer management, ruler tool, pen tool, element editing, preview, file download, canvas zooming and dragging, border stroke, filling, blending modes, text formatting, group handling, canvas size modification, rich text support, masking, shadow effects, undo/redo functionality, QR code tool, barcode tool, and ruler line npm package encapsulation.
k8m
k8m is an AI-driven Mini Kubernetes AI Dashboard lightweight console tool designed to simplify cluster management. It is built on AMIS and uses 'kom' as the Kubernetes API client. k8m has built-in Qwen2.5-Coder-7B model interaction capabilities and supports integration with your own private large models. Its key features include miniaturized design for easy deployment, user-friendly interface for intuitive operation, efficient performance with backend in Golang and frontend based on Baidu AMIS, pod file management for browsing, editing, uploading, downloading, and deleting files, pod runtime management for real-time log viewing, log downloading, and executing shell commands within pods, CRD management for automatic discovery and management of CRD resources, and intelligent translation and diagnosis based on ChatGPT for YAML property translation, Describe information interpretation, AI log diagnosis, and command recommendations, providing intelligent support for managing k8s. It is cross-platform compatible with Linux, macOS, and Windows, supporting multiple architectures like x86 and ARM for seamless operation. k8m's design philosophy is 'AI-driven, lightweight and efficient, simplifying complexity,' helping developers and operators quickly get started and easily manage Kubernetes clusters.
chatgpt-webui
ChatGPT WebUI is a user-friendly web graphical interface for various LLMs like ChatGPT, providing simplified features such as core ChatGPT conversation and document retrieval dialogues. It has been optimized for better RAG retrieval accuracy and supports various search engines. Users can deploy local language models easily and interact with different LLMs like GPT-4, Azure OpenAI, and more. The tool offers powerful functionalities like GPT4 API configuration, system prompt setup for role-playing, and basic conversation features. It also provides a history of conversations, customization options, and a seamless user experience with themes, dark mode, and PWA installation support.
higress
Higress is an open-source cloud-native API gateway built on the core of Istio and Envoy, based on Alibaba's internal practice of Envoy Gateway. It is designed for AI-native API gateway, serving AI businesses such as Tongyi Qianwen APP, Bailian Big Model API, and Machine Learning PAI platform. Higress provides capabilities to interface with LLM model vendors, AI observability, multi-model load balancing/fallback, AI token flow control, and AI caching. It offers features for AI gateway, Kubernetes Ingress gateway, microservices gateway, and security protection gateway, with advantages in production-level scalability, stream processing, extensibility, and ease of use.
douyin-chatgpt-bot
Douyin ChatGPT Bot is an AI-driven system for automatic replies on Douyin, including comment and private message replies. It offers features such as comment filtering, customizable robot responses, and automated account management. The system aims to enhance user engagement and brand image on the Douyin platform, providing a seamless experience for managing interactions with followers and potential customers.
AivisSpeech
AivisSpeech is a Japanese text-to-speech software based on the VOICEVOX editor UI. It incorporates the AivisSpeech Engine for generating emotionally rich voices easily. It supports AIVMX format voice synthesis model files and specific model architectures like Style-Bert-VITS2. Users can download AivisSpeech and AivisSpeech Engine for Windows and macOS PCs, with minimum memory requirements specified. The development follows the latest version of VOICEVOX, focusing on minimal modifications, rebranding only where necessary, and avoiding refactoring. The project does not update documentation, maintain test code, or refactor unused features to prevent conflicts with VOICEVOX.
ERNIE-SDK
ERNIE SDK repository contains two projects: ERNIE Bot Agent and ERNIE Bot. ERNIE Bot Agent is a large model intelligent agent development framework based on the Wenxin large model orchestration capability introduced by Baidu PaddlePaddle, combined with the rich preset platform functions of the PaddlePaddle Star River community. ERNIE Bot provides developers with convenient interfaces to easily call the Wenxin large model for text creation, general conversation, semantic vectors, and AI drawing basic functions.
Avalonia-Assistant
Avalonia-Assistant is an open-source desktop intelligent assistant that aims to provide a user-friendly interactive experience based on the Avalonia UI framework and the integration of Semantic Kernel with OpenAI or other large LLM models. By utilizing Avalonia-Assistant, you can perform various desktop operations through text or voice commands, enhancing your productivity and daily office experience.
goodsKill
The 'goodsKill' project aims to build a complete project framework integrating good technologies and development techniques, mainly focusing on backend technologies. It provides a simulated flash sale project with unified flash sale simulation request interface. The project uses SpringMVC + Mybatis for the overall technology stack, Dubbo3.x for service intercommunication, Nacos for service registration and discovery, and Spring State Machine for data state transitions. It also integrates Spring AI service for simulating flash sale actions.
Long-Novel-GPT
Long-Novel-GPT is a long novel generator based on large language models like GPT. It utilizes a hierarchical outline/chapter/text structure to maintain the coherence of long novels. It optimizes API calls cost through context management and continuously improves based on self or user feedback until reaching the set goal. The tool aims to continuously refine and build novel content based on user-provided initial ideas, ultimately generating long novels at the level of human writers.
MINI_LLM
This project is a personal implementation and reproduction of a small-parameter Chinese LLM. It mainly refers to these two open source projects: https://github.com/charent/Phi2-mini-Chinese and https://github.com/DLLXW/baby-llama2-chinese. It includes the complete process of pre-training, SFT instruction fine-tuning, DPO, and PPO (to be done). I hope to share it with everyone and hope that everyone can work together to improve it!
Chenyme-AAVT
Chenyme-AAVT is a user-friendly tool that provides automatic video and audio recognition and translation. It leverages the capabilities of Whisper, a powerful speech recognition model, to accurately identify speech in videos and audios. The recognized speech is then translated using ChatGPT or KIMI, ensuring high-quality translations. With Chenyme-AAVT, you can quickly generate字幕 files and merge them with the original video, making video translation a breeze. The tool supports various languages, allowing you to translate videos and audios into your desired language. Additionally, Chenyme-AAVT offers features such as VAD (Voice Activity Detection) to enhance recognition accuracy, GPU acceleration for faster processing, and support for multiple字幕 formats. Whether you're a content creator, translator, or anyone looking to make video translation more efficient, Chenyme-AAVT is an invaluable tool.
For similar tasks
job-llm
ResumeFlow is an automated system utilizing Large Language Models (LLMs) to streamline the job application process. It aims to reduce human effort in various steps of job hunting by integrating LLM technology. Users can access ResumeFlow as a web tool, install it as a Python package, or download the source code. The project focuses on leveraging LLMs to automate tasks such as resume generation and refinement, making job applications smoother and more efficient.
resume-design
Resume-design is an open-source and free resume design and template download website, built with Vue3 + TypeScript + Vite + Element-plus + pinia. It provides two design tools for creating beautiful resumes and a complete backend management system. The project has released two frontend versions and will integrate with a backend system in the future. Users can learn frontend by downloading the released versions or learn design tools by pulling the latest frontend code.
collections
Collections is a multilingual headless CMS with AI-powered editing and SEO optimization. It supports automatic translation into +30 languages, making websites more accessible and reaching a broader audience. The platform offers features like multilingual content, Notion-like editor, and post versioning. It is built on a tech stack consisting of PostgreSQL for the database, Node.js and Express for the backend, and React with MUI for the frontend. Collections aims to simplify the process of creating and managing multilingual websites with the help of AI technology.
For similar jobs
Protofy
Protofy is a full-stack, batteries-included low-code enabled web/app and IoT system with an API system and real-time messaging. It is based on Protofy (protoflow + visualui + protolib + protodevices) + Expo + Next.js + Tamagui + Solito + Express + Aedes + Redbird + Many other amazing packages. Protofy can be used to fast prototype Apps, webs, IoT systems, automations, or APIs. It is a ultra-extensible CMS with supercharged capabilities, mobile support, and IoT support (esp32 thanks to esphome).
react-native-vision-camera
VisionCamera is a powerful, high-performance Camera library for React Native. It features Photo and Video capture, QR/Barcode scanner, Customizable devices and multi-cameras ("fish-eye" zoom), Customizable resolutions and aspect-ratios (4k/8k images), Customizable FPS (30..240 FPS), Frame Processors (JS worklets to run facial recognition, AI object detection, realtime video chats, ...), Smooth zooming (Reanimated), Fast pause and resume, HDR & Night modes, Custom C++/GPU accelerated video pipeline (OpenGL).
dev-conf-replay
This repository contains information about various IT seminars and developer conferences in South Korea, allowing users to watch replays of past events. It covers a wide range of topics such as AI, big data, cloud, infrastructure, devops, blockchain, mobility, games, security, mobile development, frontend, programming languages, open source, education, and community events. Users can explore upcoming and past events, view related YouTube channels, and access additional resources like free programming ebooks and data structures and algorithms tutorials.
OpenDevin
OpenDevin is an open-source project aiming to replicate Devin, an autonomous AI software engineer capable of executing complex engineering tasks and collaborating actively with users on software development projects. The project aspires to enhance and innovate upon Devin through the power of the open-source community. Users can contribute to the project by developing core functionalities, frontend interface, or sandboxing solutions, participating in research and evaluation of LLMs in software engineering, and providing feedback and testing on the OpenDevin toolset.
polyfire-js
Polyfire is an all-in-one managed backend for AI apps that allows users to build AI applications directly from the frontend, eliminating the need for a separate backend. It simplifies the process by providing most backend services in just a few lines of code. With Polyfire, users can easily create chatbots, transcribe audio files, generate simple text, manage long-term memory, and generate images. The tool also offers starter guides and tutorials to help users get started quickly and efficiently.
sdfx
SDFX is the ultimate no-code platform for building and sharing AI apps with beautiful UI. It enables the creation of user-friendly interfaces for complex workflows by combining Comfy workflow with a UI. The tool is designed to merge the benefits of form-based UI and graph-node based UI, allowing users to create intricate graphs with a high-level UI overlay. SDFX is fully compatible with ComfyUI, abstracting the need for installing ComfyUI. It offers features like animated graph navigation, node bookmarks, UI debugger, custom nodes manager, app and template export, image and mask editor, and more. The tool compiles as a native app or web app, making it easy to maintain and add new features.
aimeos-laravel
Aimeos Laravel is a professional, full-featured, and ultra-fast Laravel ecommerce package that can be easily integrated into existing Laravel applications. It offers a wide range of features including multi-vendor, multi-channel, and multi-warehouse support, fast performance, support for various product types, subscriptions with recurring payments, multiple payment gateways, full RTL support, flexible pricing options, admin backend, REST and GraphQL APIs, modular structure, SEO optimization, multi-language support, AI-based text translation, mobile optimization, and high-quality source code. The package is highly configurable and extensible, making it suitable for e-commerce SaaS solutions, marketplaces, and online shops with millions of vendors.
llm-ui
llm-ui is a React library designed for LLMs, providing features such as removing broken markdown syntax, adding custom components to LLM output, smoothing out pauses in streamed output, rendering at native frame rate, supporting code blocks for every language with Shiki, and being headless to allow for custom styles. The library aims to enhance the user experience and flexibility when working with LLMs.