├── .github └── ISSUE_TEMPLATE │ ├── bug_report.md │ ├── code_optimization.md │ ├── code_refactoring.md │ └── feature_request.md ├── .gitignore ├── CODE_OF_CONDUCT.md ├── Dockerfile ├── LICENSE ├── README.md ├── docs ├── deploy │ ├── docker部署文档.md │ ├── 常规部署文档.md │ └── 开发环境配置文档.md ├── insight.png ├── run.md └── wechat.jpg ├── pom.xml ├── upupor-data ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── upupor │ │ └── data │ │ ├── component │ │ ├── MemberComponent.java │ │ ├── README.md │ │ ├── model │ │ │ ├── EmailLoginModel.java │ │ │ └── RegisterModel.java │ │ └── service │ │ │ └── MemberComponentService.java │ │ ├── dao │ │ ├── BaseEntity.java │ │ ├── entity │ │ │ ├── Apply.java │ │ │ ├── ApplyDocument.java │ │ │ ├── Attention.java │ │ │ ├── Banner.java │ │ │ ├── BusinessConfig.java │ │ │ ├── Collect.java │ │ │ ├── Comment.java │ │ │ ├── Content.java │ │ │ ├── ContentData.java │ │ │ ├── ContentEditReason.java │ │ │ ├── ContentExtend.java │ │ │ ├── Draft.java │ │ │ ├── Fans.java │ │ │ ├── Feedback.java │ │ │ ├── File.java │ │ │ ├── Member.java │ │ │ ├── MemberConfig.java │ │ │ ├── MemberExtend.java │ │ │ ├── MemberIntegral.java │ │ │ ├── Message.java │ │ │ ├── Radio.java │ │ │ ├── Statement.java │ │ │ ├── Tag.java │ │ │ ├── Todo.java │ │ │ ├── TodoDetail.java │ │ │ ├── ViewHistory.java │ │ │ ├── comparator │ │ │ │ ├── CommentCreateTimeComparator.java │ │ │ │ └── MemberLastLoginTimeComparator.java │ │ │ ├── converter │ │ │ │ └── Converter.java │ │ │ └── enhance │ │ │ │ ├── ApplyEnhance.java │ │ │ │ ├── AttentionEnhance.java │ │ │ │ ├── BannerEnhance.java │ │ │ │ ├── BusinessConfigEnhance.java │ │ │ │ ├── CollectEnhance.java │ │ │ │ ├── CommentEnhance.java │ │ │ │ ├── ContentDataEnhance.java │ │ │ │ ├── ContentEditReasonEnhance.java │ │ │ │ ├── ContentEnhance.java │ │ │ │ ├── ContentExtendEnhance.java │ │ │ │ ├── FansEnhance.java │ │ │ │ ├── MemberConfigEnhance.java │ │ │ │ ├── MemberEnhance.java │ │ │ │ ├── MemberExtendEnhance.java │ │ │ │ ├── MemberIntegralEnhance.java │ │ │ │ ├── MessageEnhance.java │ │ │ │ ├── README.md │ │ │ │ ├── RadioEnhance.java │ │ │ │ ├── StatementEnhance.java │ │ │ │ ├── TagEnhance.java │ │ │ │ ├── TodoEnhance.java │ │ │ │ └── ViewHistoryEnhance.java │ │ ├── mapper │ │ │ ├── ApplyDocumentMapper.java │ │ │ ├── ApplyMapper.java │ │ │ ├── AttentionMapper.java │ │ │ ├── BannerMapper.java │ │ │ ├── BusinessConfigMapper.java │ │ │ ├── CollectMapper.java │ │ │ ├── CommentMapper.java │ │ │ ├── ContentDataMapper.java │ │ │ ├── ContentEditReasonMapper.java │ │ │ ├── ContentExtendMapper.java │ │ │ ├── ContentMapper.java │ │ │ ├── DraftMapper.java │ │ │ ├── FansMapper.java │ │ │ ├── FeedbackMapper.java │ │ │ ├── FileMapper.java │ │ │ ├── MemberConfigMapper.java │ │ │ ├── MemberExtendMapper.java │ │ │ ├── MemberIntegralMapper.java │ │ │ ├── MemberMapper.java │ │ │ ├── MessageMapper.java │ │ │ ├── RadioMapper.java │ │ │ ├── StatementMapper.java │ │ │ ├── TagMapper.java │ │ │ ├── TodoDetailMapper.java │ │ │ ├── TodoMapper.java │ │ │ └── ViewHistoryMapper.java │ │ └── query │ │ │ └── MemberQuery.java │ │ ├── dto │ │ ├── ContentTypeData.java │ │ ├── OperateContentDto.java │ │ ├── OperateMemberDto.java │ │ ├── OperateRadioDto.java │ │ ├── cache │ │ │ └── CacheMemberDto.java │ │ ├── dao │ │ │ ├── CommentNumDto.java │ │ │ ├── LastAndNextContentDto.java │ │ │ └── ListDraftDto.java │ │ ├── page │ │ │ ├── CommentIndexDto.java │ │ │ ├── CommonPageIndexDto.java │ │ │ ├── ContentIndexDto.java │ │ │ ├── EditorIndexDto.java │ │ │ ├── HrefDesc.java │ │ │ ├── MemberIndexDto.java │ │ │ ├── MemberListDto.java │ │ │ ├── RadioIndexDto.java │ │ │ ├── SearchIndexDto.java │ │ │ ├── TagIndexDto.java │ │ │ ├── TodoIndexDto.java │ │ │ ├── ZREADME.md │ │ │ ├── ad │ │ │ │ ├── AbstractAd.java │ │ │ │ ├── CommentAd.java │ │ │ │ ├── ContentAd.java │ │ │ │ ├── MemberAd.java │ │ │ │ └── RadioAd.java │ │ │ ├── apply │ │ │ │ └── ApplyContentDto.java │ │ │ ├── comment │ │ │ │ └── CommentDto.java │ │ │ ├── common │ │ │ │ ├── ApplyDto.java │ │ │ │ ├── BaseListDto.java │ │ │ │ ├── CountTagDto.java │ │ │ │ ├── ListApplyDto.java │ │ │ │ ├── ListAttentionDto.java │ │ │ │ ├── ListBannerDto.java │ │ │ │ ├── ListCollectDto.java │ │ │ │ ├── ListCommentDto.java │ │ │ │ ├── ListContentDto.java │ │ │ │ ├── ListCssPatternDto.java │ │ │ │ ├── ListDailyPointsMemberDto.java │ │ │ │ ├── ListFansDto.java │ │ │ │ ├── ListIntegralDto.java │ │ │ │ ├── ListMemberDto.java │ │ │ │ ├── ListMessageDto.java │ │ │ │ ├── ListRadioDto.java │ │ │ │ ├── ListTodoDto.java │ │ │ │ ├── ListViewHistoryDto.java │ │ │ │ └── TagDto.java │ │ │ └── search │ │ │ │ └── SearchDataDto.java │ │ ├── query │ │ │ ├── ListCommentQuery.java │ │ │ └── MemberIntegralQuery.java │ │ └── seo │ │ │ └── GoogleSeoDto.java │ │ ├── types │ │ ├── ApplySource.java │ │ ├── ApplyStatus.java │ │ ├── AttentionStatus.java │ │ ├── BannerStatus.java │ │ ├── BusinessConfigStatus.java │ │ ├── BusinessConfigType.java │ │ ├── CollectStatus.java │ │ ├── CollectType.java │ │ ├── CommentAgree.java │ │ ├── CommentStatus.java │ │ ├── ContentStatus.java │ │ ├── ContentType.java │ │ ├── DataItemType.java │ │ ├── DataOperationType.java │ │ ├── DraftSource.java │ │ ├── FansStatus.java │ │ ├── FeedBackStatus.java │ │ ├── MemberIntegralStatus.java │ │ ├── MemberIsAdmin.java │ │ ├── MemberStatus.java │ │ ├── MessageStatus.java │ │ ├── MessageType.java │ │ ├── OpenEmail.java │ │ ├── OriginType.java │ │ ├── PinnedStatus.java │ │ ├── PointType.java │ │ ├── RadioStatus.java │ │ ├── SearchContentType.java │ │ ├── TodoStatus.java │ │ ├── UploadStatus.java │ │ ├── ViewTargetType.java │ │ ├── ViewType.java │ │ └── ViewerDeleteStatus.java │ │ └── utils │ │ ├── PageUtils.java │ │ ├── PasswordUtils.java │ │ └── page │ │ └── PageDto.java │ └── resources │ └── mapper │ ├── ApplyDocumentMapper.xml │ ├── ApplyMapper.xml │ ├── AttentionMapper.xml │ ├── BannerMapper.xml │ ├── BuriedPointDataMapper.xml │ ├── CollectMapper.xml │ ├── CommentMapper.xml │ ├── ContentDataMapper.xml │ ├── ContentEditReasonMapper.xml │ ├── ContentExtendMapper.xml │ ├── ContentMapper.xml │ ├── FansMapper.xml │ ├── FeedbackMapper.xml │ ├── FileMapper.xml │ ├── MemberConfigMapper.xml │ ├── MemberExtendMapper.xml │ ├── MemberIntegralMapper.xml │ ├── MemberMapper.xml │ ├── MessageMapper.xml │ ├── RadioMapper.xml │ ├── StatementMapper.xml │ ├── TagMapper.xml │ ├── TodoDetailMapper.xml │ └── TodoMapper.xml ├── upupor-framework ├── pom.xml └── src │ └── main │ └── java │ └── com │ └── upupor │ └── framework │ ├── BusinessException.java │ ├── CcConstant.java │ ├── CcRedis.java │ ├── CcResponse.java │ ├── ErrorCode.java │ ├── algorithm │ └── SnowFlake.java │ ├── common │ ├── CcTemplateConstant.java │ ├── IntegralEnum.java │ └── UserCheckFieldType.java │ ├── config │ ├── Email.java │ ├── ErrorPageConfig.java │ ├── GoogleAd.java │ ├── Minio.java │ ├── Pool.java │ ├── Thumbnails.java │ ├── UpuporConfig.java │ └── enums │ │ └── OssSource.java │ ├── exception │ └── GlobalException.java │ ├── thread │ ├── UpuporForkJoin.java │ ├── UpuporThreadPoolInit.java │ └── completable │ │ ├── CompletableFuturePool.java │ │ └── UpuporAsyncContextDecorator.java │ └── utils │ ├── CcDateUtil.java │ ├── CcUtils.java │ ├── DeflaterUtils.java │ ├── FileUtils.java │ ├── JsonUtils.java │ ├── RedisUtil.java │ ├── SpringContextUtils.java │ ├── SystemUtil.java │ └── ValidationUtil.java ├── upupor-lucene ├── pom.xml └── src │ ├── main │ └── java │ │ └── com │ │ └── upupor │ │ └── lucene │ │ ├── AbstractFlush.java │ │ ├── AbstractGetTargetId.java │ │ ├── LuceneEvent.java │ │ ├── UpuporLucene.java │ │ ├── UpuporLuceneService.java │ │ ├── bean │ │ └── LuceneBean.java │ │ ├── dto │ │ ├── ContentFieldAndSearchDto.java │ │ └── LuceneQueryResultDto.java │ │ └── enums │ │ ├── LuceneDataType.java │ │ ├── LuceneOperationType.java │ │ └── SearchType.java │ └── test │ └── java │ └── com │ └── upupor │ └── lucene │ └── LuceneTest.java ├── upupor-security ├── README.md ├── pom.xml └── src │ └── main │ └── java │ └── com │ └── upupor │ └── security │ ├── limiter │ ├── AbstractLimiter.java │ ├── LimitType.java │ ├── Limiter.java │ ├── LimiterConstant.java │ ├── UpuporLimit.java │ └── package-info.java │ └── sensitive │ ├── AbstractHandleSensitiveWord.java │ ├── SensitiveWord.java │ └── UpuporSensitive.java ├── upupor-service ├── pom.xml └── src │ └── main │ └── java │ └── com │ └── upupor │ └── service │ ├── aggregation │ ├── AdminAggregateService.java │ ├── CommentAggregateService.java │ ├── CommonAggregateService.java │ ├── EditorAggregateService.java │ ├── MemberAggregateService.java │ ├── RadioAggregateService.java │ ├── SearchAggregateService.java │ ├── TagAggregateService.java │ ├── TodoAggregateService.java │ └── ZREADME.md │ ├── base │ ├── ApplyService.java │ ├── AttentionService.java │ ├── BannerService.java │ ├── BusinessConfigService.java │ ├── CollectService.java │ ├── CommentService.java │ ├── ContentService.java │ ├── DraftService.java │ ├── FanService.java │ ├── FeedbackService.java │ ├── FileService.java │ ├── MemberExtendService.java │ ├── MemberIntegralService.java │ ├── MemberService.java │ ├── MessageService.java │ ├── RadioService.java │ ├── TagService.java │ ├── TodoService.java │ ├── ViewerService.java │ └── impl │ │ ├── ApplyServiceImpl.java │ │ ├── AttentionServiceImpl.java │ │ ├── BannerServiceImpl.java │ │ ├── CollectServiceImpl.java │ │ ├── CommentServiceImpl.java │ │ ├── ContentServiceImpl.java │ │ ├── DraftServiceImpl.java │ │ ├── FanServiceImpl.java │ │ ├── FeedbackServiceImpl.java │ │ ├── FileServiceImpl.java │ │ ├── MemberExtendServiceImpl.java │ │ ├── MemberIntegralServiceImpl.java │ │ ├── MemberServiceImpl.java │ │ ├── MessageServiceImpl.java │ │ ├── RadioServiceImpl.java │ │ ├── TagServiceImpl.java │ │ ├── TodoServiceImpl.java │ │ └── ViewerServiceImpl.java │ ├── business │ ├── apply │ │ ├── AbstractApply.java │ │ ├── AdApply.java │ │ ├── ConsultantApply.java │ │ └── TagApply.java │ ├── comment │ │ ├── comment │ │ │ ├── ContentComment.java │ │ │ ├── MessageBoardComment.java │ │ │ ├── RadioComment.java │ │ │ └── abstracts │ │ │ │ └── AbstractComment.java │ │ ├── list │ │ │ ├── ContentCommentList.java │ │ │ ├── MemberBoardCommentList.java │ │ │ ├── RadioCommentList.java │ │ │ └── abstracts │ │ │ │ └── AbstractCommentList.java │ │ └── replay │ │ │ ├── AbstractReplyComment.java │ │ │ ├── ContentReply.java │ │ │ ├── MessageBoardReply.java │ │ │ └── RadioReply.java │ ├── content │ │ ├── AbstractContent.java │ │ ├── PublishedContent.java │ │ └── UnpublishedContent.java │ ├── editor │ │ ├── AbstractEditor.java │ │ ├── Create.java │ │ ├── Edit.java │ │ └── UpdateStatus.java │ ├── email │ │ └── TrueSend.java │ ├── links │ │ ├── LinkBuilderInstance.java │ │ ├── abstracts │ │ │ ├── AbstractBuildLink.java │ │ │ ├── BusinessLinkType.java │ │ │ ├── MsgType.java │ │ │ └── dto │ │ │ │ ├── ContentLinkParamDto.java │ │ │ │ ├── MemberProfileLinkParamDto.java │ │ │ │ ├── MessageBoardLinkParamDto.java │ │ │ │ ├── RadioLinkParamDto.java │ │ │ │ └── parent │ │ │ │ └── LinkParamDto.java │ │ └── builder │ │ │ ├── ContentLink.java │ │ │ ├── MemberProfileLink.java │ │ │ ├── MessageBoardLink.java │ │ │ └── RadioLink.java │ ├── lucene │ │ ├── LuceneService.java │ │ ├── flush │ │ │ ├── FlushContent.java │ │ │ ├── FlushMember.java │ │ │ └── FlushRadio.java │ │ └── get_id │ │ │ ├── ContentHandler.java │ │ │ ├── MemberHandler.java │ │ │ └── RadioHandler.java │ ├── manage │ │ ├── AbstractManage.java │ │ ├── ManageDto.java │ │ ├── business │ │ │ ├── ApplyCommitManage.java │ │ │ ├── ApplyManage.java │ │ │ ├── AttentionManage.java │ │ │ ├── BgStyleManage.java │ │ │ ├── CollectManage.java │ │ │ ├── ContentManage.java │ │ │ ├── ContentSettings.java │ │ │ ├── DefaultContentTypeManage.java │ │ │ ├── DraftManage.java │ │ │ ├── EditUserInfoManage.java │ │ │ ├── FansManage.java │ │ │ ├── FeedbackManage.java │ │ │ ├── IntegraManage.java │ │ │ ├── MessageManage.java │ │ │ ├── ProfilePhotoManage.java │ │ │ └── RadioManage.java │ │ └── service │ │ │ ├── ApplyManageService.java │ │ │ ├── ContentManageService.java │ │ │ └── impl │ │ │ ├── ApplyManageServiceImpl.java │ │ │ └── ContentManageServiceImpl.java │ ├── member │ │ ├── MemberOperateService.java │ │ ├── abstracts │ │ │ └── AbstractMember.java │ │ ├── business │ │ │ ├── BgSetting.java │ │ │ ├── DefaultContentType.java │ │ │ ├── DoDailyPoints.java │ │ │ ├── EditProfile.java │ │ │ ├── Login.java │ │ │ ├── Logout.java │ │ │ ├── Register.java │ │ │ ├── ResetPassword.java │ │ │ ├── SendVerifyCode.java │ │ │ ├── Via.java │ │ │ └── data │ │ │ │ └── LoginSuccessData.java │ │ └── common │ │ │ └── MemberBusiness.java │ ├── message │ │ ├── AbstractMessage.java │ │ ├── MessageSend.java │ │ ├── channel │ │ │ ├── Email.java │ │ │ ├── Inner.java │ │ │ └── Readme.md │ │ └── model │ │ │ └── MessageModel.java │ ├── profile │ │ ├── AbstractProfile.java │ │ ├── AttentionProfile.java │ │ ├── ContentProfile.java │ │ ├── FansProfile.java │ │ ├── MessageProfile.java │ │ ├── RadioProfile.java │ │ └── dto │ │ │ └── Query.java │ ├── search │ │ ├── AbstractSearchResultRender.java │ │ ├── ContentSearchResultRender.java │ │ ├── MemberSearchResultRender.java │ │ ├── RadioSearchResultRender.java │ │ └── comparator │ │ │ └── SearchDataDtoCreateTimeComparator.java │ ├── task │ │ ├── TaskCommonDataService.java │ │ ├── TaskService.java │ │ └── sitemap │ │ │ ├── AbstractSiteMap.java │ │ │ ├── ContentSiteMap.java │ │ │ ├── ContentTypeTagSiteMap.java │ │ │ ├── MemberProfileSiteMap.java │ │ │ ├── PageSiteMap.java │ │ │ ├── RadioSiteMap.java │ │ │ ├── TagSiteMap.java │ │ │ ├── enums │ │ │ └── SiteMapType.java │ │ │ └── model │ │ │ └── SiteDataModel.java │ └── viewhistory │ │ ├── AbstractViewHistory.java │ │ ├── ContentViewHistory.java │ │ ├── ProfileAttentionViewHistory.java │ │ ├── ProfileContentViewHistory.java │ │ ├── ProfileFansViewHistory.java │ │ ├── ProfileMessageViewHistory.java │ │ ├── ProfileRadioViewHistory.java │ │ └── RadioViewHistory.java │ ├── listener │ ├── CommentListener.java │ ├── ContentListener.java │ ├── EmailListener.java │ ├── LuceneListener.java │ ├── MemberEventListener.java │ ├── UpuporListener.java │ └── event │ │ ├── AttentionUserEvent.java │ │ ├── BuriedPointDataEvent.java │ │ ├── CompressContentEvent.java │ │ ├── ContentLikeEvent.java │ │ ├── EmailEvent.java │ │ ├── EmailTemplateReplaceAndSendEvent.java │ │ ├── GenerateGoogleSiteMapEvent.java │ │ ├── InitLuceneIndexEvent.java │ │ ├── InitSensitiveWordEvent.java │ │ ├── MemberLoginEvent.java │ │ ├── MemberRegisterEvent.java │ │ ├── PublishContentEvent.java │ │ ├── RenderSiteMapEvent.java │ │ ├── ReplayCommentEvent.java │ │ ├── ToCommentSuccessEvent.java │ │ └── ViewerEvent.java │ ├── outer │ ├── NotValid.java │ └── req │ │ ├── AddApplyDocumentReq.java │ │ ├── AddApplyReq.java │ │ ├── AddAttentionReq.java │ │ ├── AddCollectReq.java │ │ ├── AddCommentReq.java │ │ ├── AddConsultantReq.java │ │ ├── AddFeedbackReq.java │ │ ├── AddRadioReq.java │ │ ├── AddTagReq.java │ │ ├── AddTodoReq.java │ │ ├── BatchHandleExceptionUserReq.java │ │ ├── DelApplyReq.java │ │ ├── DelAttentionReq.java │ │ ├── DelFanReq.java │ │ ├── DelRadioReq.java │ │ ├── GetCommonReq.java │ │ ├── GetContentReq.java │ │ ├── GetEditorReq.java │ │ ├── GetMemberIntegralReq.java │ │ ├── ListCommentReq.java │ │ ├── ListContentReq.java │ │ ├── ListMessageReq.java │ │ ├── PinnedReq.java │ │ ├── SetContentStatusReq.java │ │ ├── SetKeywordsReq.java │ │ ├── UpdateApplyReq.java │ │ ├── UpdateCollectReq.java │ │ ├── UpdateCommentReq.java │ │ ├── UpdateLikeReq.java │ │ ├── UpdateMessageReq.java │ │ ├── UpdateTodoDoneStatus.java │ │ ├── ZREADME.md │ │ ├── content │ │ ├── AutoSaveContentReq.java │ │ ├── BaseContentReq.java │ │ ├── CleanDraftReq.java │ │ ├── CreateContentReq.java │ │ ├── DeleteDraftReq.java │ │ ├── ExistContentReq.java │ │ ├── ExistsDraftReq.java │ │ ├── UpdateContentReq.java │ │ └── UpdateStatusReq.java │ │ └── member │ │ ├── AddMemberReq.java │ │ ├── BaseMemberReq.java │ │ ├── MemberLoginReq.java │ │ ├── SendVerifyCodeReq.java │ │ ├── UpdateCssReq.java │ │ ├── UpdateDefaultContentTypeReq.java │ │ ├── UpdateMemberReq.java │ │ ├── UpdatePasswordReq.java │ │ └── UpdateViaReq.java │ └── utils │ ├── Asserts.java │ ├── AvatarHelper.java │ ├── SessionUtils.java │ ├── UpuporFileUtils.java │ └── oss │ ├── AbstractInputSteam.java │ ├── AbstractOss.java │ ├── FileUpload.java │ ├── enums │ ├── FileDic.java │ ├── IsAsync.java │ └── IsImg.java │ ├── sources │ └── MinioOss.java │ └── steam │ ├── AudioSteam.java │ ├── ImgSteam.java │ └── NormalFileSteam.java ├── upupor-task ├── pom.xml └── src │ └── main │ └── java │ └── com │ └── upupor │ └── task │ ├── CountTagScheduled.java │ ├── DetectUserOperationScheduled.java │ ├── GenerateSiteMapScheduled.java │ ├── MemberScheduled.java │ └── SystemScheduled.java └── upupor-web ├── pom.xml └── src ├── main ├── java │ └── com │ │ └── upupor │ │ └── web │ │ ├── Swagger2Config.java │ │ ├── UpuporWebApplication.java │ │ ├── api │ │ ├── ApplyController.java │ │ ├── AttentionController.java │ │ ├── CollectController.java │ │ ├── CommentController.java │ │ ├── ContentController.java │ │ ├── EditorDraftController.java │ │ ├── FansController.java │ │ ├── FeedbackController.java │ │ ├── MemberController.java │ │ ├── MessageController.java │ │ ├── RadioController.java │ │ ├── SeoController.java │ │ ├── TodoController.java │ │ ├── UploadController.java │ │ └── admin │ │ │ └── AdminController.java │ │ ├── aspects │ │ ├── ControllerAspectAspect.java │ │ ├── LuceneAspectAspect.java │ │ ├── PageAspectAspect.java │ │ ├── SensitiveWordAspect.java │ │ └── service │ │ │ ├── OrderConstant.java │ │ │ ├── WhiteService.java │ │ │ ├── checker │ │ │ ├── BaseChecker.java │ │ │ ├── Checker.java │ │ │ ├── controller │ │ │ │ ├── AdminUrlChecker.java │ │ │ │ ├── ControllerAspectChecker.java │ │ │ │ ├── LimiterChecker.java │ │ │ │ ├── RequestArgsChecker.java │ │ │ │ ├── WhiteChecker.java │ │ │ │ └── dto │ │ │ │ │ └── ControllerCheckerDto.java │ │ │ └── page │ │ │ │ ├── AdminPageChecker.java │ │ │ │ ├── PageAspectChecker.java │ │ │ │ ├── PageIsNeedLoginChecker.java │ │ │ │ ├── PageLimiterChecker.java │ │ │ │ └── dto │ │ │ │ └── PageCheckDto.java │ │ │ ├── sensitive │ │ │ ├── CommentHandleSensitiveWord.java │ │ │ ├── ContentExtendHandleSensitiveWord.java │ │ │ ├── ContentHandleSensitiveWord.java │ │ │ ├── MemberHandleSensitiveWord.java │ │ │ └── RadioHandleSensitiveWord.java │ │ │ └── view │ │ │ ├── DefaultTitle.java │ │ │ ├── DraftCount.java │ │ │ ├── IsDailyPoints.java │ │ │ ├── PrepareData.java │ │ │ ├── SetKeyWords.java │ │ │ ├── SetLatestNewComment.java │ │ │ ├── SetResponseTime.java │ │ │ ├── SetUpuporConfig.java │ │ │ ├── SetUserDefaultContentType.java │ │ │ ├── SettingBgStyle.java │ │ │ ├── TagCountFromRedis.java │ │ │ ├── UnReadMessageCount.java │ │ │ └── ViewData.java │ │ ├── listener │ │ ├── UpuporBusinessListener.java │ │ └── UpuporStartupRunner.java │ │ ├── outer │ │ └── OuterController.java │ │ ├── page │ │ ├── controller │ │ │ ├── AdminPageJumpController.java │ │ │ ├── ContentJumpController.java │ │ │ ├── EditorPageJumpController.java │ │ │ ├── ErrorPageJumpController.java │ │ │ ├── MemberManageJumpController.java │ │ │ ├── MemberProfilePageJumpController.java │ │ │ ├── TestEmailJumpController.java │ │ │ └── ViewController.java │ │ └── view_data │ │ │ ├── AbstractView.java │ │ │ ├── Query.java │ │ │ ├── business │ │ │ ├── ApplyAdView.java │ │ │ ├── ApplyConsultantView.java │ │ │ ├── ApplyTagView.java │ │ │ ├── DailyPoints.java │ │ │ ├── FeedbackView.java │ │ │ ├── IntegralRulesView.java │ │ │ ├── SearchView.java │ │ │ └── TagContentView.java │ │ │ ├── comment │ │ │ └── CommentList.java │ │ │ ├── content │ │ │ ├── AllContentView.java │ │ │ ├── ContentDetailView.java │ │ │ ├── DraftContentDetailView.java │ │ │ ├── NewContentView.java │ │ │ ├── RecentlyEditedContentView.java │ │ │ └── ReprintContentView.java │ │ │ ├── footer │ │ │ ├── AboutAdView.java │ │ │ ├── BrandStoryView.java │ │ │ ├── BusinessCooperationView.java │ │ │ ├── DeveloperView.java │ │ │ ├── LogoDesignView.java │ │ │ ├── OpenSourceView.java │ │ │ ├── PinnedView.java │ │ │ ├── ThanksView.java │ │ │ └── VisionView.java │ │ │ ├── history │ │ │ └── HistoryView.java │ │ │ ├── member │ │ │ ├── ForgetPasswordView.java │ │ │ ├── LoginView.java │ │ │ ├── LogoutView.java │ │ │ ├── RegisterView.java │ │ │ ├── UnSubscribeEmailView.java │ │ │ └── UserListView.java │ │ │ ├── ourhome │ │ │ └── Earth.java │ │ │ ├── radio │ │ │ ├── CreateRadioView.java │ │ │ ├── RadioDetailView.java │ │ │ ├── RadioListView.java │ │ │ └── RecordView.java │ │ │ ├── todo │ │ │ └── TodoListView.java │ │ │ └── views │ │ │ └── MarkdownView.java │ │ ├── router │ │ └── RouterPageJumpController.java │ │ └── utils │ │ ├── CcEmailUtils.java │ │ └── HtmlTemplateUtils.java └── resources │ ├── application.yml │ ├── banner.txt │ ├── db │ └── migration │ │ ├── V20201002012209__init_database.sql │ │ ├── V20201002013429__init_tag.sql │ │ ├── V20201002014408__table_slogan_add_column_bg_style.sql │ │ ├── V20201002021607__add_slogan_permission_table.sql │ │ ├── V20201002024307__add_slogan_path_index.sql │ │ ├── V20201002115014__member_extend_add_bg_img.sql │ │ ├── V20201002210307__add_table_css_pattern.sql │ │ ├── V20201002211443__add_column_css_parttern_name.sql │ │ ├── V20201002230822__add_column_user_id.sql │ │ ├── V20201006220450__alter_bg_img_length.sql │ │ ├── V20201015010756__content_add_column_initial_release_status.sql │ │ ├── V20201106001830__add_member_config.sql │ │ ├── V20201115201939__create_radio_table.sql │ │ ├── V20201116233935__add_comment_source_radio.sql │ │ ├── V20201117220949__create_file_md5.sql │ │ ├── V20201124233346__file_table_add_user_id.sql │ │ ├── V20201127233500__file_add_processing_status.sql │ │ ├── V20201212122101__add_content_latest_comment_time.sql │ │ ├── V20201212132310__add_radio_latest_comment_time.sql │ │ ├── V20210122230733__member_add_open_email.sql │ │ ├── V20210122233120__insert_into_member_config.sql │ │ ├── V20210127231406__create_table_viewer.sql │ │ ├── V20210214002138__modify_radio_target_type_comment.sql │ │ ├── V20210601001541__member_add_is_admin.sql │ │ ├── V20210607004504__content_add_keywords.sql │ │ ├── V20210718230518__init_todo_table.sql │ │ ├── V20211224181152__delete_table_ad.sql │ │ ├── V20211228161807__create_viewer_history.sql │ │ ├── V20220107180116__content_extend_add_markdown.sql │ │ ├── V20220107224916__comment_add_markdown.sql │ │ ├── V20220108155314__add_sys_update_time.sql │ │ ├── V20220127230734__add_business_config.sql │ │ ├── V20220127232940__migrate_seo_to_business_config.sql │ │ ├── V20220128000635__business_config_add_name.sql │ │ ├── V20220128003221__migrate_bg_css_to_business_config.sql │ │ ├── V20220128004150__delete_table_seo_and_css_pattern.sql │ │ ├── V20220128005913__delete_table_slogan_slogan_path.sql │ │ ├── V20220128015015__remove_enter_word.sql │ │ ├── V20220128015852__modify_business_config_value_type.sql │ │ ├── V20220212005635__member_config_add_defaultContentType.sql │ │ ├── V20220224020915__add_edit_time.sql │ │ ├── V20220306212949__drop_table_buried_point_data.sql │ │ ├── V20220425015631__del_member_config_bg_img.sql │ │ ├── V20220724011407__remove_content_field.sql │ │ ├── V20220724011408__support_more_draft_content.sql │ │ ├── V20220905003820__refactor_viewer.sql │ │ ├── V20220911112233__support_user_name_login.sql │ │ ├── V20221202201900__remove_business_config_business_id_column.sql │ │ ├── V20221203165022__remove_emergency_code.sql │ │ ├── V20221203222642__remove_member_unuse_field.sql │ │ ├── V20230119174357__comment_add_floor_num.sql │ │ ├── V20230122030607__comment_add_be_user_id.sql │ │ ├── V20230122184234__add_floor_num.sql │ │ ├── V20230129014609__comment_unique_target_id_and_floor_num.sql │ │ ├── V20230206100615__add_content_id_unique.sql │ │ ├── V20230208100253__migration_record_to_share.sql │ │ └── V20230208110040__migration_draft_workplace_and_record_to_share.sql │ ├── logback.xml │ ├── static │ ├── asserts │ │ ├── bottom.png │ │ ├── earth │ │ │ ├── 2021earth.jpeg │ │ │ ├── PIA00452_modest.jpeg │ │ │ └── Voyager_blue_dot.svg │ │ ├── fastjson.jpeg │ │ ├── flyway.png │ │ ├── guava.png │ │ ├── iconOne.png │ │ ├── iconSecond.png │ │ ├── iconThird.png │ │ ├── lblogo.jpeg │ │ ├── liyanggyang.png │ │ ├── logoOne.png │ │ ├── logoSecond.png │ │ ├── lombok.webp │ │ ├── lucene.png │ │ ├── mybatis-plus.svg │ │ ├── pay │ │ │ ├── weixin.png │ │ │ └── zhifubao.png │ │ ├── qa_share_workplace.png │ │ ├── qianjiajia.png │ │ ├── semantic-ui.png │ │ ├── sweetalert.svg │ │ ├── team.jpeg │ │ ├── thymeleaf.png │ │ ├── tika.png │ │ ├── top.png │ │ ├── upupor-wechat.png │ │ ├── upupor-weibo.jpg │ │ ├── uricon.ico │ │ ├── wechat.png │ │ ├── wujinyi.png │ │ ├── wuruifen.png │ │ └── xiaoguanglin.png │ ├── bootstrap │ │ ├── css │ │ │ └── 5 │ │ │ │ ├── bootstrap-grid.min.css │ │ │ │ ├── bootstrap-grid.rtl.min.css │ │ │ │ ├── bootstrap-reboot.min.css │ │ │ │ ├── bootstrap-reboot.rtl.min.css │ │ │ │ ├── bootstrap-utilities.min.css │ │ │ │ ├── bootstrap-utilities.rtl.min.css │ │ │ │ ├── bootstrap.min.css │ │ │ │ └── bootstrap.rtl.min.css │ │ ├── icons │ │ │ ├── bootstrap-icons.css │ │ │ └── fonts │ │ │ │ ├── bootstrap-icons.woff │ │ │ │ └── bootstrap-icons.woff2 │ │ └── js │ │ │ ├── 5 │ │ │ ├── bootstrap.bundle.min.js │ │ │ ├── bootstrap.esm.min.js │ │ │ └── bootstrap.min.js │ │ │ ├── bootstrap.bundle.min.js │ │ │ ├── bootstrap.min.js │ │ │ ├── jquery-1.12.4.min.js │ │ │ ├── npm.js │ │ │ └── popper.min.js │ ├── compatible │ │ └── js │ │ │ ├── css3-mediaqueries.js │ │ │ ├── html5shiv.min.js │ │ │ ├── lazysizes.min.js │ │ │ └── respond.min.js │ ├── css │ │ ├── admin │ │ │ ├── admin.css │ │ │ └── content.css │ │ ├── business │ │ │ ├── ad-apply.css │ │ │ ├── consultant-apply.css │ │ │ └── tag-apply.css │ │ ├── common │ │ │ └── img.css │ │ ├── content │ │ │ ├── content.css │ │ │ ├── history.css │ │ │ └── list.css │ │ ├── cv.css │ │ ├── editor │ │ │ └── editor.css │ │ ├── error │ │ │ └── error.css │ │ ├── feedback │ │ │ └── feedback.css │ │ ├── foot │ │ │ ├── business-cooperation.css │ │ │ ├── foot-item.css │ │ │ ├── sitemap.css │ │ │ └── version.css │ │ ├── integral │ │ │ └── integral.css │ │ ├── operate │ │ │ └── daily-points.css │ │ ├── photograph │ │ │ └── photograph.css │ │ ├── pinned │ │ │ └── index.css │ │ ├── profile │ │ │ ├── attention.css │ │ │ ├── fans.css │ │ │ ├── message.css │ │ │ └── profile.css │ │ ├── radio-station │ │ │ ├── create.css │ │ │ ├── index.css │ │ │ ├── list.css │ │ │ └── record.css │ │ ├── search │ │ │ └── search.css │ │ ├── tag │ │ │ └── tag.css │ │ ├── todo │ │ │ └── index.css │ │ ├── user │ │ │ ├── forget-password.css │ │ │ ├── index.css │ │ │ ├── list.css │ │ │ ├── login.css │ │ │ ├── logout.css │ │ │ ├── manage │ │ │ │ ├── apply-commit.css │ │ │ │ ├── apply.css │ │ │ │ ├── attention.css │ │ │ │ ├── bg-style-settings.css │ │ │ │ ├── collect.css │ │ │ │ ├── content.css │ │ │ │ ├── default-content-setting.css │ │ │ │ ├── edit-user-info.css │ │ │ │ ├── fans.css │ │ │ │ ├── feedback.css │ │ │ │ ├── integral.css │ │ │ │ ├── message.css │ │ │ │ ├── radio.css │ │ │ │ └── upload-profile-photo.css │ │ │ └── register.css │ │ └── view │ │ │ └── index.css │ ├── icons │ │ ├── all.png │ │ ├── contents │ │ │ ├── all.svg │ │ │ ├── new.svg │ │ │ ├── reproduce.svg │ │ │ └── update.svg │ │ ├── eco-leaf-svgrepo-com.svg │ │ ├── flash.svg │ │ ├── record.svg │ │ ├── system │ │ │ ├── apply.png │ │ │ ├── attention.png │ │ │ ├── collection.png │ │ │ ├── comment-yellow.png │ │ │ ├── comment.png │ │ │ ├── content-time.png │ │ │ ├── draft.svg │ │ │ ├── email.png │ │ │ ├── fans.png │ │ │ ├── footer │ │ │ │ ├── 3361607101759_.pic_hd.jpg │ │ │ │ ├── ad.svg │ │ │ │ ├── brand-story.svg │ │ │ │ ├── business-co.svg │ │ │ │ ├── design.svg │ │ │ │ ├── sina.svg │ │ │ │ ├── teamwork.svg │ │ │ │ ├── telegram.svg │ │ │ │ ├── thanks.svg │ │ │ │ ├── vision.svg │ │ │ │ ├── wechat.svg │ │ │ │ └── zhiding.svg │ │ │ ├── goutong.png │ │ │ ├── jifen2.svg │ │ │ ├── liulan.png │ │ │ ├── login.svg │ │ │ ├── manage3.svg │ │ │ ├── message.svg │ │ │ ├── nickname.png │ │ │ ├── profile.svg │ │ │ ├── radio.svg │ │ │ ├── recommand.png │ │ │ ├── register-time.png │ │ │ ├── register.svg │ │ │ ├── rule.png │ │ │ ├── settings.svg │ │ │ ├── topic.png │ │ │ ├── undo.svg │ │ │ ├── upload-radio.svg │ │ │ ├── zan.png │ │ │ └── zhishi.svg │ │ ├── todo.svg │ │ ├── v.svg │ │ ├── without_comment.svg │ │ └── write │ │ │ ├── ChatGPT.svg │ │ │ ├── home.png │ │ │ ├── write-content.png │ │ │ ├── write-qa.png │ │ │ ├── write-record.png │ │ │ ├── write-share.png │ │ │ ├── write-tech.png │ │ │ └── write-work.png │ ├── js │ │ ├── admin │ │ │ ├── admin.js │ │ │ └── content.js │ │ ├── business │ │ │ ├── ad-apply.js │ │ │ ├── consultant-apply.js │ │ │ └── tag-apply.js │ │ ├── check.js │ │ ├── comment │ │ │ └── index.js │ │ ├── common │ │ │ ├── comment.js │ │ │ └── common.js │ │ ├── content │ │ │ ├── content.js │ │ │ ├── history.js │ │ │ └── list.js │ │ ├── cropper.min.css │ │ ├── cropper.min.js │ │ ├── cv.js │ │ ├── editor │ │ │ └── editor.js │ │ ├── error │ │ │ └── error.js │ │ ├── feedback │ │ │ └── feedback.js │ │ ├── foot │ │ │ ├── business-cooperation.js │ │ │ ├── foot-item.js │ │ │ ├── sitemap.js │ │ │ └── version.js │ │ ├── integral │ │ │ └── integral.js │ │ ├── navbar.js │ │ ├── operate │ │ │ └── daily-points.js │ │ ├── photograph │ │ │ └── photograph.js │ │ ├── pinned │ │ │ └── index.js │ │ ├── profile │ │ │ ├── attention.js │ │ │ ├── fans.js │ │ │ ├── message.js │ │ │ └── profile.js │ │ ├── radio-station │ │ │ ├── common.js │ │ │ ├── create.js │ │ │ ├── index.js │ │ │ ├── list.js │ │ │ └── record.js │ │ ├── report │ │ │ └── goaccess.js │ │ ├── search │ │ │ └── search.js │ │ ├── tag │ │ │ └── tag.js │ │ ├── todo │ │ │ └── index.js │ │ ├── user │ │ │ ├── forget-password.js │ │ │ ├── index.js │ │ │ ├── list.js │ │ │ ├── login.js │ │ │ ├── logout.js │ │ │ ├── manage │ │ │ │ ├── apply-commit.js │ │ │ │ ├── apply.js │ │ │ │ ├── attention.js │ │ │ │ ├── bg-style-settings.js │ │ │ │ ├── collect.js │ │ │ │ ├── content.js │ │ │ │ ├── default-content-setting.js │ │ │ │ ├── edit-user-info.js │ │ │ │ ├── fans.js │ │ │ │ ├── feedback.js │ │ │ │ ├── integral.js │ │ │ │ ├── message.js │ │ │ │ ├── radio.js │ │ │ │ └── upload-profile-photo.js │ │ │ └── register.js │ │ ├── utils.js │ │ └── view │ │ │ └── index.js │ ├── pages │ │ └── business-co.png │ ├── plugins │ │ ├── README.md │ │ ├── cherry │ │ │ ├── addons │ │ │ │ ├── cherry-code-block-mermaid-plugin.d.ts │ │ │ │ ├── cherry-code-block-mermaid-plugin.js │ │ │ │ ├── cherry-code-block-plantuml-plugin.d.ts │ │ │ │ └── cherry-code-block-plantuml-plugin.js │ │ │ ├── cherry-markdown.core.common.d.ts │ │ │ ├── cherry-markdown.core.common.js │ │ │ ├── cherry-markdown.core.d.ts │ │ │ ├── cherry-markdown.core.js │ │ │ ├── cherry-markdown.css │ │ │ ├── cherry-markdown.d.ts │ │ │ ├── cherry-markdown.engine.core.common.d.ts │ │ │ ├── cherry-markdown.engine.core.common.js │ │ │ ├── cherry-markdown.engine.core.d.ts │ │ │ ├── cherry-markdown.engine.core.esm.d.ts │ │ │ ├── cherry-markdown.engine.core.esm.js │ │ │ ├── cherry-markdown.engine.core.js │ │ │ ├── cherry-markdown.esm.d.ts │ │ │ ├── cherry-markdown.esm.js │ │ │ ├── cherry-markdown.js │ │ │ ├── cherry-markdown.js.map │ │ │ ├── cherry-markdown.min.css │ │ │ ├── cherry-markdown.min.d.ts │ │ │ ├── cherry-markdown.min.js │ │ │ ├── fonts │ │ │ │ ├── ch-icon.eot │ │ │ │ ├── ch-icon.svg │ │ │ │ ├── ch-icon.ttf │ │ │ │ ├── ch-icon.woff │ │ │ │ └── ch-icon.woff2 │ │ │ └── types │ │ │ │ ├── Cherry.config.d.ts │ │ │ │ ├── Cherry.d.ts │ │ │ │ ├── CherryStatic.d.ts │ │ │ │ ├── Editor.d.ts │ │ │ │ ├── Engine.d.ts │ │ │ │ ├── Event.d.ts │ │ │ │ ├── Factory.d.ts │ │ │ │ ├── Logger.d.ts │ │ │ │ ├── Previewer.d.ts │ │ │ │ ├── Sanitizer.d.ts │ │ │ │ ├── UrlCache.d.ts │ │ │ │ ├── addons │ │ │ │ ├── cherry-code-block-mermaid-plugin.d.ts │ │ │ │ └── cherry-code-block-plantuml-plugin.d.ts │ │ │ │ ├── core │ │ │ │ ├── HookCenter.d.ts │ │ │ │ ├── HooksConfig.d.ts │ │ │ │ ├── ParagraphBase.d.ts │ │ │ │ ├── SyntaxBase.d.ts │ │ │ │ └── hooks │ │ │ │ │ ├── AutoLink.d.ts │ │ │ │ │ ├── BackgroundColor.d.ts │ │ │ │ │ ├── Blockquote.d.ts │ │ │ │ │ ├── Br.d.ts │ │ │ │ │ ├── CodeBlock.d.ts │ │ │ │ │ ├── Color.d.ts │ │ │ │ │ ├── CommentReference.d.ts │ │ │ │ │ ├── Detail.d.ts │ │ │ │ │ ├── Emoji.config.d.ts │ │ │ │ │ ├── Emoji.d.ts │ │ │ │ │ ├── Emphasis.d.ts │ │ │ │ │ ├── Footnote.d.ts │ │ │ │ │ ├── Header.d.ts │ │ │ │ │ ├── HighLight.d.ts │ │ │ │ │ ├── Hr.d.ts │ │ │ │ │ ├── HtmlBlock.d.ts │ │ │ │ │ ├── Image.d.ts │ │ │ │ │ ├── InlineCode.d.ts │ │ │ │ │ ├── InlineMath.d.ts │ │ │ │ │ ├── Link.d.ts │ │ │ │ │ ├── List.d.ts │ │ │ │ │ ├── MathBlock.d.ts │ │ │ │ │ ├── Panel.d.ts │ │ │ │ │ ├── Paragraph.d.ts │ │ │ │ │ ├── Ruby.d.ts │ │ │ │ │ ├── Size.d.ts │ │ │ │ │ ├── Strikethrough.d.ts │ │ │ │ │ ├── Sub.d.ts │ │ │ │ │ ├── Suggester.d.ts │ │ │ │ │ ├── Sup.d.ts │ │ │ │ │ ├── Table.d.ts │ │ │ │ │ ├── Toc.d.ts │ │ │ │ │ ├── Transfer.d.ts │ │ │ │ │ └── Underline.d.ts │ │ │ │ ├── index.core.d.ts │ │ │ │ ├── index.d.ts │ │ │ │ ├── index.engine.core.d.ts │ │ │ │ ├── index.engine.d.ts │ │ │ │ ├── libs │ │ │ │ └── rawdeflate.d.ts │ │ │ │ ├── locales │ │ │ │ ├── en_US.d.ts │ │ │ │ ├── index.d.ts │ │ │ │ └── zh_CN.d.ts │ │ │ │ ├── toolbars │ │ │ │ ├── Bubble.d.ts │ │ │ │ ├── BubbleTable.d.ts │ │ │ │ ├── FloatMenu.d.ts │ │ │ │ ├── HookCenter.d.ts │ │ │ │ ├── MenuBase.d.ts │ │ │ │ ├── PreviewerBubble.d.ts │ │ │ │ ├── Sidebar.d.ts │ │ │ │ ├── Toolbar.d.ts │ │ │ │ └── hooks │ │ │ │ │ ├── Audio.d.ts │ │ │ │ │ ├── BarTable.d.ts │ │ │ │ │ ├── Bold.d.ts │ │ │ │ │ ├── Br.d.ts │ │ │ │ │ ├── CheckList.d.ts │ │ │ │ │ ├── Code.d.ts │ │ │ │ │ ├── CodeTheme.d.ts │ │ │ │ │ ├── Color.d.ts │ │ │ │ │ ├── Copy.d.ts │ │ │ │ │ ├── Detail.d.ts │ │ │ │ │ ├── DrawIo.d.ts │ │ │ │ │ ├── Export.d.ts │ │ │ │ │ ├── File.d.ts │ │ │ │ │ ├── Formula.d.ts │ │ │ │ │ ├── FullScreen.d.ts │ │ │ │ │ ├── Graph.d.ts │ │ │ │ │ ├── H1.d.ts │ │ │ │ │ ├── H2.d.ts │ │ │ │ │ ├── H3.d.ts │ │ │ │ │ ├── Header.d.ts │ │ │ │ │ ├── Hr.d.ts │ │ │ │ │ ├── Image.d.ts │ │ │ │ │ ├── Insert.d.ts │ │ │ │ │ ├── Italic.d.ts │ │ │ │ │ ├── LineTable.d.ts │ │ │ │ │ ├── Link.d.ts │ │ │ │ │ ├── List.d.ts │ │ │ │ │ ├── MobilePreview.d.ts │ │ │ │ │ ├── Ol.d.ts │ │ │ │ │ ├── Panel.d.ts │ │ │ │ │ ├── Pdf.d.ts │ │ │ │ │ ├── QuickTable.d.ts │ │ │ │ │ ├── Quote.d.ts │ │ │ │ │ ├── Redo.d.ts │ │ │ │ │ ├── Ruby.d.ts │ │ │ │ │ ├── Settings.d.ts │ │ │ │ │ ├── Size.d.ts │ │ │ │ │ ├── Split.d.ts │ │ │ │ │ ├── Strikethrough.d.ts │ │ │ │ │ ├── Sub.d.ts │ │ │ │ │ ├── Sup.d.ts │ │ │ │ │ ├── SwitchModel.d.ts │ │ │ │ │ ├── Table.d.ts │ │ │ │ │ ├── Theme.d.ts │ │ │ │ │ ├── Toc.d.ts │ │ │ │ │ ├── TogglePreview.d.ts │ │ │ │ │ ├── Ul.d.ts │ │ │ │ │ ├── Underline.d.ts │ │ │ │ │ ├── Undo.d.ts │ │ │ │ │ ├── Video.d.ts │ │ │ │ │ └── Word.d.ts │ │ │ │ └── utils │ │ │ │ ├── config.d.ts │ │ │ │ ├── copy.d.ts │ │ │ │ ├── dialog.d.ts │ │ │ │ ├── dom.d.ts │ │ │ │ ├── env.d.ts │ │ │ │ ├── error.d.ts │ │ │ │ ├── event.d.ts │ │ │ │ ├── export.d.ts │ │ │ │ ├── file.d.ts │ │ │ │ ├── htmlparser.d.ts │ │ │ │ ├── image.d.ts │ │ │ │ ├── imgSizeHander.d.ts │ │ │ │ ├── lazyLoadImg.d.ts │ │ │ │ ├── lineFeed.d.ts │ │ │ │ ├── lookbehind-replace.d.ts │ │ │ │ ├── mathjax.d.ts │ │ │ │ ├── myersDiff.d.ts │ │ │ │ ├── pasteHelper.d.ts │ │ │ │ ├── recount-pos.d.ts │ │ │ │ ├── regexp.d.ts │ │ │ │ ├── sanitize.d.ts │ │ │ │ ├── selection.d.ts │ │ │ │ └── tableContentHander.d.ts │ │ ├── clipboard │ │ │ └── clipboard.min.js │ │ ├── crop │ │ │ ├── cropper.min.css │ │ │ └── cropper.min.js │ │ ├── goup │ │ │ └── jquery.goup.min.js │ │ ├── jquery │ │ │ └── jquery-3.6.0.min.js │ │ ├── normalize │ │ │ └── normalize.css │ │ ├── record │ │ │ ├── extensions │ │ │ │ ├── frequency.histogram.view.js │ │ │ │ └── lib.fft.js │ │ │ └── recorder.mp3.min.js │ │ ├── sweetalert │ │ │ └── sweetalert.min.js │ │ └── viewerjs │ │ │ ├── viewer.min.css │ │ │ └── viewer.min.js │ ├── popper │ │ └── popper.min.js │ ├── semantic-ui │ │ ├── components │ │ │ ├── accordion.min.css │ │ │ ├── ad.min.css │ │ │ ├── breadcrumb.min.css │ │ │ ├── button.min.css │ │ │ ├── card.min.css │ │ │ ├── checkbox.min.css │ │ │ ├── comment.min.css │ │ │ ├── container.min.css │ │ │ ├── dimmer.min.css │ │ │ ├── divider.min.css │ │ │ ├── dropdown.min.css │ │ │ ├── embed.min.css │ │ │ ├── feed.min.css │ │ │ ├── flag.min.css │ │ │ ├── form.min.css │ │ │ ├── grid.min.css │ │ │ ├── header.min.css │ │ │ ├── icon.min.css │ │ │ ├── image.min.css │ │ │ ├── input.min.css │ │ │ ├── item.min.css │ │ │ ├── label.min.css │ │ │ ├── list.min.css │ │ │ ├── loader.min.css │ │ │ ├── menu.min.css │ │ │ ├── message.min.css │ │ │ ├── modal.min.css │ │ │ ├── nag.min.css │ │ │ ├── placeholder.min.css │ │ │ ├── popup.min.css │ │ │ ├── progress.min.css │ │ │ ├── rail.min.css │ │ │ ├── rating.min.css │ │ │ ├── reset.min.css │ │ │ ├── reveal.min.css │ │ │ ├── search.min.css │ │ │ ├── segment.min.css │ │ │ ├── shape.min.css │ │ │ ├── sidebar.min.css │ │ │ ├── site.min.css │ │ │ ├── statistic.min.css │ │ │ ├── step.min.css │ │ │ ├── sticky.min.css │ │ │ ├── tab.min.css │ │ │ ├── table.min.css │ │ │ ├── transition.min.css │ │ │ └── video.min.css │ │ ├── semantic.min.css │ │ └── themes │ │ │ └── default │ │ │ └── assets │ │ │ ├── fonts │ │ │ ├── brand-icons.eot │ │ │ ├── brand-icons.svg │ │ │ ├── brand-icons.ttf │ │ │ ├── brand-icons.woff │ │ │ ├── brand-icons.woff2 │ │ │ ├── icons.eot │ │ │ ├── icons.otf │ │ │ ├── icons.svg │ │ │ ├── icons.ttf │ │ │ ├── icons.woff │ │ │ ├── icons.woff2 │ │ │ ├── outline-icons.eot │ │ │ ├── outline-icons.svg │ │ │ ├── outline-icons.ttf │ │ │ ├── outline-icons.woff │ │ │ └── outline-icons.woff2 │ │ │ └── images │ │ │ └── flags.png │ └── system │ │ ├── LinkedIn.png │ │ ├── empty.png │ │ ├── facebook.png │ │ ├── profile-photo.png │ │ ├── qq_zone.png │ │ ├── twitter.png │ │ └── weibo.png │ └── templates │ ├── business │ ├── ad-apply.html │ ├── consultant-apply.html │ └── tag-apply.html │ ├── comment │ └── index.html │ ├── components │ ├── markdown.html │ └── our-home.html │ ├── content │ ├── index.html │ ├── list.html │ └── type.html │ ├── editor │ └── editor.html │ ├── email │ ├── email-template.html │ └── 邮件API.txt │ ├── error │ ├── 404.html │ └── 500.html │ ├── feedback │ └── index.html │ ├── foot │ ├── about-ad.html │ ├── brand-story.html │ ├── business-cooperation.html │ ├── developer.html │ ├── logo-design.html │ ├── opensource.html │ ├── pinned.html │ ├── thanks.html │ └── vision.html │ ├── fragments │ ├── business.html │ ├── comment.html │ ├── common.html │ ├── editor.html │ ├── icon.html │ ├── index.html │ ├── manage.html │ ├── member.html │ ├── navbar.html │ ├── page.html │ ├── profile.html │ └── social.html │ ├── index.html │ ├── integral │ └── index.html │ ├── layout │ ├── footer.html │ ├── head.html │ └── navbar.html │ ├── operate │ └── daily-points.html │ ├── profile │ ├── attention.html │ ├── content.html │ ├── fans.html │ ├── message.html │ └── radio.html │ ├── radio-station │ ├── create.html │ ├── index.html │ ├── list.html │ └── record.html │ ├── search │ └── index.html │ ├── seo │ ├── google-sitemap-api.txt │ └── google-sitemap.html │ ├── tag │ └── index.html │ ├── templates │ └── user-like.html │ ├── todo │ └── index.html │ ├── user │ ├── admin │ │ ├── admin.html │ │ └── content.html │ ├── forget-password.html │ ├── list.html │ ├── login.html │ ├── logout.html │ ├── manage │ │ ├── apply-commit.html │ │ ├── apply.html │ │ ├── attention.html │ │ ├── bg-style-settings.html │ │ ├── collect.html │ │ ├── content-settings.html │ │ ├── content.html │ │ ├── default-content-setting.html │ │ ├── draft.html │ │ ├── edit-user-info.html │ │ ├── fan.html │ │ ├── feedback.html │ │ ├── integral-record.html │ │ ├── message.html │ │ ├── radio.html │ │ └── upload-profile-photo.html │ ├── register.html │ └── unsubscribe-mail.html │ └── view │ └── index.html └── test └── java └── com └── upupor └── test ├── UpuporApplicationTests.java ├── UpuporLimiterTest.java ├── UpuporLuceneTest.java └── UuIdTest.java /.github/ISSUE_TEMPLATE/bug_report.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: 提交网站Bug或漏洞 3 | about: 提交Bug或漏洞,来帮助upupor更好的发展 4 | title: '【Bug或漏洞】' 5 | labels: '' 6 | assignees: '' 7 | 8 | --- 9 | 10 | **Bug描述** 11 | 12 | 13 | **Bug复现步骤** 14 | 15 | 16 | **期待的正确结果** 17 | 18 | 19 | **Bug截图** 20 | 21 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/code_optimization.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: 代码优化 3 | about: 优化部分代码,让upupor一点一点变好 4 | title: '【代码优化】' 5 | labels: '' 6 | assignees: '' 7 | 8 | --- 9 | 10 | **描述需要优化的内容** 11 | 12 | 13 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/code_refactoring.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: 代码重构 3 | about: 重构已有代码,让upupor代码更加优雅和健壮 4 | title: '【代码重构】' 5 | labels: '' 6 | assignees: '' 7 | 8 | --- 9 | 10 | **描述重构的内容** 11 | 12 | 13 | **描述实现重构的一些设想** 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/feature_request.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: 新功能建议 3 | about: 建议upupor加入新的功能 4 | title: '【新功能】' 5 | labels: '' 6 | assignees: '' 7 | 8 | --- 9 | 10 | **您期望的新特性描述** 11 | 12 | 13 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # maven ignore 2 | target/ 3 | disconf/ 4 | *.jar 5 | *.war 6 | *.zip 7 | *.tar 8 | *.tar.gz 9 | 10 | # eclipse ignore 11 | .settings/ 12 | .project 13 | .classpath 14 | 15 | # idea ignore 16 | .idea/ 17 | *.ipr 18 | *.iml 19 | *.iws 20 | 21 | # temp ignore 22 | *.log 23 | *.cache 24 | *.diff 25 | *.patch 26 | *.tmp 27 | .logs 28 | logs/ 29 | 30 | /bin/ 31 | *.class 32 | 33 | # Mobile Tools for Java (J2ME) 34 | .mtj.tmp/ 35 | 36 | # Package Files # 37 | *.ear 38 | 39 | .gradle 40 | build 41 | codingvcr.iml 42 | out 43 | doc/*.adoc 44 | .DS_Store 45 | */.DS_Store 46 | -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- 1 | FROM openjdk:8-jdk-alpine 2 | ARG JAR_FILE=upupor-web/target/*.jar 3 | COPY ${JAR_FILE} app.jar 4 | ENTRYPOINT ["java","-jar","/app.jar","-Xmx1024m","-Xms1024m"] -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2021-2022 yangrunkang 4 | 5 | Author: yangrunkang 6 | Email: yangrunkang53@gmail.com 7 | 8 | Permission is hereby granted, free of charge, to any person obtaining a copy 9 | of this software and associated documentation files (the "Software"), to deal 10 | in the Software without restriction, including without limitation the rights 11 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | copies of the Software, and to permit persons to whom the Software is 13 | furnished to do so, subject to the following conditions: 14 | 15 | The above copyright notice and this permission notice shall be included in all 16 | copies or substantial portions of the Software. 17 | 18 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 24 | SOFTWARE. 25 | -------------------------------------------------------------------------------- /docs/insight.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yangrunkang/upupor/c940ee60c6af6de5f16980150be34018fdc330db/docs/insight.png -------------------------------------------------------------------------------- /docs/wechat.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yangrunkang/upupor/c940ee60c6af6de5f16980150be34018fdc330db/docs/wechat.jpg -------------------------------------------------------------------------------- /upupor-data/src/main/java/com/upupor/data/component/README.md: -------------------------------------------------------------------------------- 1 | ## bu,即business,业务的缩写 2 | 3 | 这里以Model为基础来实现基于DB的业务,与具体的Service层逻辑无关,即这个只提供纯粹的,最小化的,粒度最细的服务 4 | 5 | ## 服务提供形式 6 | 7 | `@Component` 以组件的形式对外提供服务 8 | 9 | 10 | ## 接口类命名方式 11 | 12 | 业务实体名 + Component 13 | 14 | eg: 15 | 16 | - 用户组件 MemberComponent 17 | 18 | 19 | ## 接口实现类命名方式 20 | 21 | 在[接口类命名方式]基础上 + Service 22 | 23 | eg: 24 | 25 | - 用户组件实现 MemberComponentService 26 | 27 | 28 | ## 接口方法命名方式 29 | 30 | business名 + Model后缀 31 | 32 | eg: 33 | 34 | - 登录模型命名为loginModel() 35 | - 注册模型命名为registerModel() 36 | 37 | 38 | ## 包结构 39 | 40 | |-model 模型实体定义 41 | 42 | |-service 服务实现 43 | 44 | |接口定义 45 | -------------------------------------------------------------------------------- /upupor-data/src/main/java/com/upupor/data/dao/entity/enhance/README.md: -------------------------------------------------------------------------------- 1 | 实体增强,用于剥离实体中的冗余字段。 2 | 3 | ---- 4 | 实体增强类的格式: 5 | ``` 6 | private Entity entity; 7 | private 冗余字段 ...; // n个 8 | ``` -------------------------------------------------------------------------------- /upupor-data/src/main/java/com/upupor/data/dto/page/ZREADME.md: -------------------------------------------------------------------------------- 1 | 页面数据的DTO -------------------------------------------------------------------------------- /upupor-framework/src/main/java/com/upupor/framework/config/Email.java: -------------------------------------------------------------------------------- 1 | package com.upupor.framework.config; 2 | 3 | import lombok.Data; 4 | 5 | /** 6 | * @author cruise 7 | * @createTime 2022-01-19 11:59 8 | */ 9 | @Data 10 | public class Email { 11 | private Integer onOff; 12 | private String senderNickName; 13 | private String senderAccountName; 14 | private String accessKeyId; 15 | private String accessKeySecret; 16 | } 17 | -------------------------------------------------------------------------------- /upupor-framework/src/main/java/com/upupor/framework/config/GoogleAd.java: -------------------------------------------------------------------------------- 1 | package com.upupor.framework.config; 2 | 3 | import lombok.Data; 4 | 5 | /** 6 | * @author cruise 7 | * @createTime 2022-01-19 11:59 8 | */ 9 | @Data 10 | public class GoogleAd { 11 | private String dataAdClientId; 12 | private String rightSlot; 13 | private String feedSlot; 14 | } 15 | -------------------------------------------------------------------------------- /upupor-framework/src/main/java/com/upupor/framework/config/Pool.java: -------------------------------------------------------------------------------- 1 | package com.upupor.framework.config; 2 | 3 | import lombok.Data; 4 | 5 | /** 6 | * @author cruise 7 | * @createTime 2022-01-19 11:58 8 | */ 9 | @Data 10 | public class Pool { 11 | private Integer corePoolSize; 12 | private Integer maxPoolSize; 13 | private Integer keepAliveSeconds; 14 | private Integer queueCapacity; 15 | } -------------------------------------------------------------------------------- /upupor-framework/src/main/java/com/upupor/framework/config/Thumbnails.java: -------------------------------------------------------------------------------- 1 | package com.upupor.framework.config; 2 | 3 | import lombok.Data; 4 | 5 | /** 6 | * @author cruise 7 | * @createTime 2022-01-19 11:59 8 | */ 9 | @Data 10 | public class Thumbnails { 11 | private Double outputQuality; 12 | private String allows; 13 | } 14 | 15 | -------------------------------------------------------------------------------- /upupor-framework/src/main/java/com/upupor/framework/thread/UpuporForkJoin.java: -------------------------------------------------------------------------------- 1 | package com.upupor.framework.thread; 2 | 3 | import java.util.concurrent.ForkJoinPool; 4 | 5 | /** 6 | * UpuporForkJoin 7 | * 8 | * @author Yang Runkang (cruise) 9 | * @date 1/9/23 15:39 10 | */ 11 | public class UpuporForkJoin { 12 | static final ForkJoinPool commentListForkJoin = new ForkJoinPool(); 13 | 14 | public static ForkJoinPool commentListForkJoin() { 15 | return commentListForkJoin; 16 | } 17 | 18 | } 19 | -------------------------------------------------------------------------------- /upupor-security/README.md: -------------------------------------------------------------------------------- 1 | ### upupor限制模块 2 | 主要处理一下内容: 3 | - 限流 4 | - 敏感词 -------------------------------------------------------------------------------- /upupor-service/src/main/java/com/upupor/service/aggregation/ZREADME.md: -------------------------------------------------------------------------------- 1 | 页面的聚合数据对象,主要是针对不同的页面,方便及时响应 -------------------------------------------------------------------------------- /upupor-service/src/main/java/com/upupor/service/business/message/channel/Readme.md: -------------------------------------------------------------------------------- 1 | 发信渠道,目前支持: 2 | 1. 邮件 3 | 2. 站内信 -------------------------------------------------------------------------------- /upupor-service/src/main/java/com/upupor/service/outer/req/ZREADME.md: -------------------------------------------------------------------------------- 1 | Get开头-用于获取 Add开头-用于添加 Update开头-用于更新 List开头-用于获取列表 -------------------------------------------------------------------------------- /upupor-web/src/main/resources/banner.txt: -------------------------------------------------------------------------------- 1 | ${AnsiColor.BLUE} 2 | ooooo ooo oooooo oooooo oooo .o8 3 | `888' `8' `888. `888. .8' "888 4 | 888 8 oo.ooooo. oooo oooo oo.ooooo. .ooooo. oooo d8b `888. .8888. .8' .ooooo. 888oooo. 5 | 888 8 888' `88b `888 `888 888' `88b d88' `88b `888""8P `888 .8'`888. .8' d88' `88b d88' `88b 6 | 888 8 888 888 888 888 888 888 888 888 888 `888.8' `888.8' 888ooo888 888 888 7 | `88. .8' 888 888 888 888 888 888 888 888 888 `888' `888' 888 .o 888 888 8 | `YbodP' 888bod8P' `V88V"V8P' 888bod8P' `Y8bod8P' d888b `8' `8' `Y8bod8P' `Y8bod8P' 9 | 888 888 10 | o888o o888o 11 | ${AnsiColor.BRIGHT_YELLOW} 12 | ::: Spring-Boot ${spring-boot.version} ::: ${application.name} (version:${application.version}) 13 | ::: 开源地址(OpenSource): https://github.com/yangrunkang/upupor 14 | ::: 邮箱(Email): yangrunkang53@gmail 15 | ::: 手机(Phone): 13955196045 / 17607675610 16 | :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 17 | -------------------------------------------------------------------------------- /upupor-web/src/main/resources/db/migration/V20201002024307__add_slogan_path_index.sql: -------------------------------------------------------------------------------- 1 | /* 2 | * MIT License 3 | * 4 | * Copyright (c) 2021-2022 yangrunkang 5 | * 6 | * Author: yangrunkang 7 | * Email: yangrunkang53@gmail.com 8 | * 9 | * Permission is hereby granted, free of charge, to any person obtaining a copy 10 | * of this software and associated documentation files (the "Software"), to deal 11 | * in the Software without restriction, including without limitation the rights 12 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 13 | * copies of the Software, and to permit persons to whom the Software is 14 | * furnished to do so, subject to the following conditions: 15 | * 16 | * The above copyright notice and this permission notice shall be included in all 17 | * copies or substantial portions of the Software. 18 | * 19 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 20 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 21 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 22 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 23 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 24 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 25 | * SOFTWARE. 26 | */ 27 | 28 | CREATE INDEX slogan_path_index ON slogan_path(path); -------------------------------------------------------------------------------- /upupor-web/src/main/resources/db/migration/V20211224181152__delete_table_ad.sql: -------------------------------------------------------------------------------- 1 | /* 2 | * MIT License 3 | * 4 | * Copyright (c) 2021-2022 yangrunkang 5 | * 6 | * Author: yangrunkang 7 | * Email: yangrunkang53@gmail.com 8 | * 9 | * Permission is hereby granted, free of charge, to any person obtaining a copy 10 | * of this software and associated documentation files (the "Software"), to deal 11 | * in the Software without restriction, including without limitation the rights 12 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 13 | * copies of the Software, and to permit persons to whom the Software is 14 | * furnished to do so, subject to the following conditions: 15 | * 16 | * The above copyright notice and this permission notice shall be included in all 17 | * copies or substantial portions of the Software. 18 | * 19 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 20 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 21 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 22 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 23 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 24 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 25 | * SOFTWARE. 26 | */ 27 | 28 | drop table ad; -------------------------------------------------------------------------------- /upupor-web/src/main/resources/db/migration/V20220108155314__add_sys_update_time.sql: -------------------------------------------------------------------------------- 1 | 2 | alter table content_data add column 3 | `sys_update_time` datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '系统更新时间'; 4 | 5 | alter table css_pattern add column 6 | `sys_update_time` datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '系统更新时间'; 7 | 8 | alter table slogan_path add column 9 | `sys_update_time` datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '系统更新时间'; 10 | 11 | 12 | -------------------------------------------------------------------------------- /upupor-web/src/main/resources/db/migration/V20220306212949__drop_table_buried_point_data.sql: -------------------------------------------------------------------------------- 1 | /* 2 | * MIT License 3 | * 4 | * Copyright (c) 2021-2022 yangrunkang 5 | * 6 | * Author: yangrunkang 7 | * Email: yangrunkang53@gmail.com 8 | * 9 | * Permission is hereby granted, free of charge, to any person obtaining a copy 10 | * of this software and associated documentation files (the "Software"), to deal 11 | * in the Software without restriction, including without limitation the rights 12 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 13 | * copies of the Software, and to permit persons to whom the Software is 14 | * furnished to do so, subject to the following conditions: 15 | * 16 | * The above copyright notice and this permission notice shall be included in all 17 | * copies or substantial portions of the Software. 18 | * 19 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 20 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 21 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 22 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 23 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 24 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 25 | * SOFTWARE. 26 | */ 27 | 28 | drop table if exists buried_point_data; -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/asserts/bottom.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yangrunkang/upupor/c940ee60c6af6de5f16980150be34018fdc330db/upupor-web/src/main/resources/static/asserts/bottom.png -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/asserts/earth/2021earth.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yangrunkang/upupor/c940ee60c6af6de5f16980150be34018fdc330db/upupor-web/src/main/resources/static/asserts/earth/2021earth.jpeg -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/asserts/earth/PIA00452_modest.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yangrunkang/upupor/c940ee60c6af6de5f16980150be34018fdc330db/upupor-web/src/main/resources/static/asserts/earth/PIA00452_modest.jpeg -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/asserts/fastjson.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yangrunkang/upupor/c940ee60c6af6de5f16980150be34018fdc330db/upupor-web/src/main/resources/static/asserts/fastjson.jpeg -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/asserts/flyway.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yangrunkang/upupor/c940ee60c6af6de5f16980150be34018fdc330db/upupor-web/src/main/resources/static/asserts/flyway.png -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/asserts/guava.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yangrunkang/upupor/c940ee60c6af6de5f16980150be34018fdc330db/upupor-web/src/main/resources/static/asserts/guava.png -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/asserts/iconOne.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yangrunkang/upupor/c940ee60c6af6de5f16980150be34018fdc330db/upupor-web/src/main/resources/static/asserts/iconOne.png -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/asserts/iconSecond.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yangrunkang/upupor/c940ee60c6af6de5f16980150be34018fdc330db/upupor-web/src/main/resources/static/asserts/iconSecond.png -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/asserts/iconThird.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yangrunkang/upupor/c940ee60c6af6de5f16980150be34018fdc330db/upupor-web/src/main/resources/static/asserts/iconThird.png -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/asserts/lblogo.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yangrunkang/upupor/c940ee60c6af6de5f16980150be34018fdc330db/upupor-web/src/main/resources/static/asserts/lblogo.jpeg -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/asserts/liyanggyang.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yangrunkang/upupor/c940ee60c6af6de5f16980150be34018fdc330db/upupor-web/src/main/resources/static/asserts/liyanggyang.png -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/asserts/logoOne.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yangrunkang/upupor/c940ee60c6af6de5f16980150be34018fdc330db/upupor-web/src/main/resources/static/asserts/logoOne.png -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/asserts/logoSecond.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yangrunkang/upupor/c940ee60c6af6de5f16980150be34018fdc330db/upupor-web/src/main/resources/static/asserts/logoSecond.png -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/asserts/lombok.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yangrunkang/upupor/c940ee60c6af6de5f16980150be34018fdc330db/upupor-web/src/main/resources/static/asserts/lombok.webp -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/asserts/lucene.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yangrunkang/upupor/c940ee60c6af6de5f16980150be34018fdc330db/upupor-web/src/main/resources/static/asserts/lucene.png -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/asserts/pay/weixin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yangrunkang/upupor/c940ee60c6af6de5f16980150be34018fdc330db/upupor-web/src/main/resources/static/asserts/pay/weixin.png -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/asserts/pay/zhifubao.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yangrunkang/upupor/c940ee60c6af6de5f16980150be34018fdc330db/upupor-web/src/main/resources/static/asserts/pay/zhifubao.png -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/asserts/qa_share_workplace.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yangrunkang/upupor/c940ee60c6af6de5f16980150be34018fdc330db/upupor-web/src/main/resources/static/asserts/qa_share_workplace.png -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/asserts/qianjiajia.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yangrunkang/upupor/c940ee60c6af6de5f16980150be34018fdc330db/upupor-web/src/main/resources/static/asserts/qianjiajia.png -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/asserts/semantic-ui.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yangrunkang/upupor/c940ee60c6af6de5f16980150be34018fdc330db/upupor-web/src/main/resources/static/asserts/semantic-ui.png -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/asserts/team.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yangrunkang/upupor/c940ee60c6af6de5f16980150be34018fdc330db/upupor-web/src/main/resources/static/asserts/team.jpeg -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/asserts/thymeleaf.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yangrunkang/upupor/c940ee60c6af6de5f16980150be34018fdc330db/upupor-web/src/main/resources/static/asserts/thymeleaf.png -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/asserts/tika.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yangrunkang/upupor/c940ee60c6af6de5f16980150be34018fdc330db/upupor-web/src/main/resources/static/asserts/tika.png -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/asserts/top.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yangrunkang/upupor/c940ee60c6af6de5f16980150be34018fdc330db/upupor-web/src/main/resources/static/asserts/top.png -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/asserts/upupor-wechat.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yangrunkang/upupor/c940ee60c6af6de5f16980150be34018fdc330db/upupor-web/src/main/resources/static/asserts/upupor-wechat.png -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/asserts/upupor-weibo.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yangrunkang/upupor/c940ee60c6af6de5f16980150be34018fdc330db/upupor-web/src/main/resources/static/asserts/upupor-weibo.jpg -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/asserts/uricon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yangrunkang/upupor/c940ee60c6af6de5f16980150be34018fdc330db/upupor-web/src/main/resources/static/asserts/uricon.ico -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/asserts/wechat.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yangrunkang/upupor/c940ee60c6af6de5f16980150be34018fdc330db/upupor-web/src/main/resources/static/asserts/wechat.png -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/asserts/wujinyi.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yangrunkang/upupor/c940ee60c6af6de5f16980150be34018fdc330db/upupor-web/src/main/resources/static/asserts/wujinyi.png -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/asserts/wuruifen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yangrunkang/upupor/c940ee60c6af6de5f16980150be34018fdc330db/upupor-web/src/main/resources/static/asserts/wuruifen.png -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/asserts/xiaoguanglin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yangrunkang/upupor/c940ee60c6af6de5f16980150be34018fdc330db/upupor-web/src/main/resources/static/asserts/xiaoguanglin.png -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/bootstrap/icons/fonts/bootstrap-icons.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yangrunkang/upupor/c940ee60c6af6de5f16980150be34018fdc330db/upupor-web/src/main/resources/static/bootstrap/icons/fonts/bootstrap-icons.woff -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/bootstrap/icons/fonts/bootstrap-icons.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yangrunkang/upupor/c940ee60c6af6de5f16980150be34018fdc330db/upupor-web/src/main/resources/static/bootstrap/icons/fonts/bootstrap-icons.woff2 -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/bootstrap/js/npm.js: -------------------------------------------------------------------------------- 1 | // This file is autogenerated via the `commonjs` Grunt task. You can require() this file in a CommonJS environment. 2 | require('../../js/transition.js') 3 | require('../../js/alert.js') 4 | require('../../js/button.js') 5 | require('../../js/carousel.js') 6 | require('../../js/collapse.js') 7 | require('../../js/dropdown.js') 8 | require('../../js/modal.js') 9 | require('../../js/tooltip.js') 10 | require('../../js/popover.js') 11 | require('../../js/scrollspy.js') 12 | require('../../js/tab.js') 13 | require('../../js/affix.js') -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/css/admin/admin.css: -------------------------------------------------------------------------------- 1 | /* 2 | * MIT License 3 | * 4 | * Copyright (c) 2021-2022 yangrunkang 5 | * 6 | * Author: yangrunkang 7 | * Email: yangrunkang53@gmail.com 8 | * 9 | * Permission is hereby granted, free of charge, to any person obtaining a copy 10 | * of this software and associated documentation files (the "Software"), to deal 11 | * in the Software without restriction, including without limitation the rights 12 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 13 | * copies of the Software, and to permit persons to whom the Software is 14 | * furnished to do so, subject to the following conditions: 15 | * 16 | * The above copyright notice and this permission notice shall be included in all 17 | * copies or substantial portions of the Software. 18 | * 19 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 20 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 21 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 22 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 23 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 24 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 25 | * SOFTWARE. 26 | */ 27 | 28 | -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/css/admin/content.css: -------------------------------------------------------------------------------- 1 | /* 2 | * MIT License 3 | * 4 | * Copyright (c) 2021-2022 yangrunkang 5 | * 6 | * Author: yangrunkang 7 | * Email: yangrunkang53@gmail.com 8 | * 9 | * Permission is hereby granted, free of charge, to any person obtaining a copy 10 | * of this software and associated documentation files (the "Software"), to deal 11 | * in the Software without restriction, including without limitation the rights 12 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 13 | * copies of the Software, and to permit persons to whom the Software is 14 | * furnished to do so, subject to the following conditions: 15 | * 16 | * The above copyright notice and this permission notice shall be included in all 17 | * copies or substantial portions of the Software. 18 | * 19 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 20 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 21 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 22 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 23 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 24 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 25 | * SOFTWARE. 26 | */ 27 | 28 | -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/css/business/consultant-apply.css: -------------------------------------------------------------------------------- 1 | /* 2 | * MIT License 3 | * 4 | * Copyright (c) 2021-2022 yangrunkang 5 | * 6 | * Author: yangrunkang 7 | * Email: yangrunkang53@gmail.com 8 | * 9 | * Permission is hereby granted, free of charge, to any person obtaining a copy 10 | * of this software and associated documentation files (the "Software"), to deal 11 | * in the Software without restriction, including without limitation the rights 12 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 13 | * copies of the Software, and to permit persons to whom the Software is 14 | * furnished to do so, subject to the following conditions: 15 | * 16 | * The above copyright notice and this permission notice shall be included in all 17 | * copies or substantial portions of the Software. 18 | * 19 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 20 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 21 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 22 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 23 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 24 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 25 | * SOFTWARE. 26 | */ 27 | 28 | h2 { 29 | text-align: center; 30 | } -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/css/business/tag-apply.css: -------------------------------------------------------------------------------- 1 | /* 2 | * MIT License 3 | * 4 | * Copyright (c) 2021-2022 yangrunkang 5 | * 6 | * Author: yangrunkang 7 | * Email: yangrunkang53@gmail.com 8 | * 9 | * Permission is hereby granted, free of charge, to any person obtaining a copy 10 | * of this software and associated documentation files (the "Software"), to deal 11 | * in the Software without restriction, including without limitation the rights 12 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 13 | * copies of the Software, and to permit persons to whom the Software is 14 | * furnished to do so, subject to the following conditions: 15 | * 16 | * The above copyright notice and this permission notice shall be included in all 17 | * copies or substantial portions of the Software. 18 | * 19 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 20 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 21 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 22 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 23 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 24 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 25 | * SOFTWARE. 26 | */ 27 | 28 | -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/css/content/content.css: -------------------------------------------------------------------------------- 1 | /* 2 | * MIT License 3 | * 4 | * Copyright (c) 2021-2022 yangrunkang 5 | * 6 | * Author: yangrunkang 7 | * Email: yangrunkang53@gmail.com 8 | * 9 | * Permission is hereby granted, free of charge, to any person obtaining a copy 10 | * of this software and associated documentation files (the "Software"), to deal 11 | * in the Software without restriction, including without limitation the rights 12 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 13 | * copies of the Software, and to permit persons to whom the Software is 14 | * furnished to do so, subject to the following conditions: 15 | * 16 | * The above copyright notice and this permission notice shall be included in all 17 | * copies or substantial portions of the Software. 18 | * 19 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 20 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 21 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 22 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 23 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 24 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 25 | * SOFTWARE. 26 | */ 27 | .copy-url { 28 | cursor: pointer; 29 | } -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/css/content/history.css: -------------------------------------------------------------------------------- 1 | /* 2 | * MIT License 3 | * 4 | * Copyright (c) 2021-2022 yangrunkang 5 | * 6 | * Author: yangrunkang 7 | * Email: yangrunkang53@gmail.com 8 | * 9 | * Permission is hereby granted, free of charge, to any person obtaining a copy 10 | * of this software and associated documentation files (the "Software"), to deal 11 | * in the Software without restriction, including without limitation the rights 12 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 13 | * copies of the Software, and to permit persons to whom the Software is 14 | * furnished to do so, subject to the following conditions: 15 | * 16 | * The above copyright notice and this permission notice shall be included in all 17 | * copies or substantial portions of the Software. 18 | * 19 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 20 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 21 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 22 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 23 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 24 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 25 | * SOFTWARE. 26 | */ 27 | -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/css/content/list.css: -------------------------------------------------------------------------------- 1 | /* 2 | * MIT License 3 | * 4 | * Copyright (c) 2021-2022 yangrunkang 5 | * 6 | * Author: yangrunkang 7 | * Email: yangrunkang53@gmail.com 8 | * 9 | * Permission is hereby granted, free of charge, to any person obtaining a copy 10 | * of this software and associated documentation files (the "Software"), to deal 11 | * in the Software without restriction, including without limitation the rights 12 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 13 | * copies of the Software, and to permit persons to whom the Software is 14 | * furnished to do so, subject to the following conditions: 15 | * 16 | * The above copyright notice and this permission notice shall be included in all 17 | * copies or substantial portions of the Software. 18 | * 19 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 20 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 21 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 22 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 23 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 24 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 25 | * SOFTWARE. 26 | */ -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/css/error/error.css: -------------------------------------------------------------------------------- 1 | /* 2 | * MIT License 3 | * 4 | * Copyright (c) 2021-2022 yangrunkang 5 | * 6 | * Author: yangrunkang 7 | * Email: yangrunkang53@gmail.com 8 | * 9 | * Permission is hereby granted, free of charge, to any person obtaining a copy 10 | * of this software and associated documentation files (the "Software"), to deal 11 | * in the Software without restriction, including without limitation the rights 12 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 13 | * copies of the Software, and to permit persons to whom the Software is 14 | * furnished to do so, subject to the following conditions: 15 | * 16 | * The above copyright notice and this permission notice shall be included in all 17 | * copies or substantial portions of the Software. 18 | * 19 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 20 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 21 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 22 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 23 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 24 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 25 | * SOFTWARE. 26 | */ 27 | 28 | -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/css/feedback/feedback.css: -------------------------------------------------------------------------------- 1 | /* 2 | * MIT License 3 | * 4 | * Copyright (c) 2021-2022 yangrunkang 5 | * 6 | * Author: yangrunkang 7 | * Email: yangrunkang53@gmail.com 8 | * 9 | * Permission is hereby granted, free of charge, to any person obtaining a copy 10 | * of this software and associated documentation files (the "Software"), to deal 11 | * in the Software without restriction, including without limitation the rights 12 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 13 | * copies of the Software, and to permit persons to whom the Software is 14 | * furnished to do so, subject to the following conditions: 15 | * 16 | * The above copyright notice and this permission notice shall be included in all 17 | * copies or substantial portions of the Software. 18 | * 19 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 20 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 21 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 22 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 23 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 24 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 25 | * SOFTWARE. 26 | */ 27 | 28 | h2 { 29 | color: white; 30 | } -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/css/foot/business-cooperation.css: -------------------------------------------------------------------------------- 1 | /* 2 | * MIT License 3 | * 4 | * Copyright (c) 2021-2022 yangrunkang 5 | * 6 | * Author: yangrunkang 7 | * Email: yangrunkang53@gmail.com 8 | * 9 | * Permission is hereby granted, free of charge, to any person obtaining a copy 10 | * of this software and associated documentation files (the "Software"), to deal 11 | * in the Software without restriction, including without limitation the rights 12 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 13 | * copies of the Software, and to permit persons to whom the Software is 14 | * furnished to do so, subject to the following conditions: 15 | * 16 | * The above copyright notice and this permission notice shall be included in all 17 | * copies or substantial portions of the Software. 18 | * 19 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 20 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 21 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 22 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 23 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 24 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 25 | * SOFTWARE. 26 | */ 27 | 28 | -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/css/foot/sitemap.css: -------------------------------------------------------------------------------- 1 | /* 2 | * MIT License 3 | * 4 | * Copyright (c) 2021-2022 yangrunkang 5 | * 6 | * Author: yangrunkang 7 | * Email: yangrunkang53@gmail.com 8 | * 9 | * Permission is hereby granted, free of charge, to any person obtaining a copy 10 | * of this software and associated documentation files (the "Software"), to deal 11 | * in the Software without restriction, including without limitation the rights 12 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 13 | * copies of the Software, and to permit persons to whom the Software is 14 | * furnished to do so, subject to the following conditions: 15 | * 16 | * The above copyright notice and this permission notice shall be included in all 17 | * copies or substantial portions of the Software. 18 | * 19 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 20 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 21 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 22 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 23 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 24 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 25 | * SOFTWARE. 26 | */ 27 | 28 | -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/css/foot/version.css: -------------------------------------------------------------------------------- 1 | /* 2 | * MIT License 3 | * 4 | * Copyright (c) 2021-2022 yangrunkang 5 | * 6 | * Author: yangrunkang 7 | * Email: yangrunkang53@gmail.com 8 | * 9 | * Permission is hereby granted, free of charge, to any person obtaining a copy 10 | * of this software and associated documentation files (the "Software"), to deal 11 | * in the Software without restriction, including without limitation the rights 12 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 13 | * copies of the Software, and to permit persons to whom the Software is 14 | * furnished to do so, subject to the following conditions: 15 | * 16 | * The above copyright notice and this permission notice shall be included in all 17 | * copies or substantial portions of the Software. 18 | * 19 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 20 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 21 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 22 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 23 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 24 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 25 | * SOFTWARE. 26 | */ 27 | 28 | -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/css/photograph/photograph.css: -------------------------------------------------------------------------------- 1 | /* 2 | * MIT License 3 | * 4 | * Copyright (c) 2021-2022 yangrunkang 5 | * 6 | * Author: yangrunkang 7 | * Email: yangrunkang53@gmail.com 8 | * 9 | * Permission is hereby granted, free of charge, to any person obtaining a copy 10 | * of this software and associated documentation files (the "Software"), to deal 11 | * in the Software without restriction, including without limitation the rights 12 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 13 | * copies of the Software, and to permit persons to whom the Software is 14 | * furnished to do so, subject to the following conditions: 15 | * 16 | * The above copyright notice and this permission notice shall be included in all 17 | * copies or substantial portions of the Software. 18 | * 19 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 20 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 21 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 22 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 23 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 24 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 25 | * SOFTWARE. 26 | */ 27 | 28 | -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/css/pinned/index.css: -------------------------------------------------------------------------------- 1 | /* 2 | * MIT License 3 | * 4 | * Copyright (c) 2021-2022 yangrunkang 5 | * 6 | * Author: yangrunkang 7 | * Email: yangrunkang53@gmail.com 8 | * 9 | * Permission is hereby granted, free of charge, to any person obtaining a copy 10 | * of this software and associated documentation files (the "Software"), to deal 11 | * in the Software without restriction, including without limitation the rights 12 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 13 | * copies of the Software, and to permit persons to whom the Software is 14 | * furnished to do so, subject to the following conditions: 15 | * 16 | * The above copyright notice and this permission notice shall be included in all 17 | * copies or substantial portions of the Software. 18 | * 19 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 20 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 21 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 22 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 23 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 24 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 25 | * SOFTWARE. 26 | */ 27 | 28 | -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/css/profile/attention.css: -------------------------------------------------------------------------------- 1 | /* 2 | * MIT License 3 | * 4 | * Copyright (c) 2021-2022 yangrunkang 5 | * 6 | * Author: yangrunkang 7 | * Email: yangrunkang53@gmail.com 8 | * 9 | * Permission is hereby granted, free of charge, to any person obtaining a copy 10 | * of this software and associated documentation files (the "Software"), to deal 11 | * in the Software without restriction, including without limitation the rights 12 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 13 | * copies of the Software, and to permit persons to whom the Software is 14 | * furnished to do so, subject to the following conditions: 15 | * 16 | * The above copyright notice and this permission notice shall be included in all 17 | * copies or substantial portions of the Software. 18 | * 19 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 20 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 21 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 22 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 23 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 24 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 25 | * SOFTWARE. 26 | */ 27 | 28 | -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/css/profile/fans.css: -------------------------------------------------------------------------------- 1 | /* 2 | * MIT License 3 | * 4 | * Copyright (c) 2021-2022 yangrunkang 5 | * 6 | * Author: yangrunkang 7 | * Email: yangrunkang53@gmail.com 8 | * 9 | * Permission is hereby granted, free of charge, to any person obtaining a copy 10 | * of this software and associated documentation files (the "Software"), to deal 11 | * in the Software without restriction, including without limitation the rights 12 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 13 | * copies of the Software, and to permit persons to whom the Software is 14 | * furnished to do so, subject to the following conditions: 15 | * 16 | * The above copyright notice and this permission notice shall be included in all 17 | * copies or substantial portions of the Software. 18 | * 19 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 20 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 21 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 22 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 23 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 24 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 25 | * SOFTWARE. 26 | */ 27 | 28 | -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/css/profile/message.css: -------------------------------------------------------------------------------- 1 | /* 2 | * MIT License 3 | * 4 | * Copyright (c) 2021-2022 yangrunkang 5 | * 6 | * Author: yangrunkang 7 | * Email: yangrunkang53@gmail.com 8 | * 9 | * Permission is hereby granted, free of charge, to any person obtaining a copy 10 | * of this software and associated documentation files (the "Software"), to deal 11 | * in the Software without restriction, including without limitation the rights 12 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 13 | * copies of the Software, and to permit persons to whom the Software is 14 | * furnished to do so, subject to the following conditions: 15 | * 16 | * The above copyright notice and this permission notice shall be included in all 17 | * copies or substantial portions of the Software. 18 | * 19 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 20 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 21 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 22 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 23 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 24 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 25 | * SOFTWARE. 26 | */ -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/css/radio-station/index.css: -------------------------------------------------------------------------------- 1 | /* 2 | * MIT License 3 | * 4 | * Copyright (c) 2021-2022 yangrunkang 5 | * 6 | * Author: yangrunkang 7 | * Email: yangrunkang53@gmail.com 8 | * 9 | * Permission is hereby granted, free of charge, to any person obtaining a copy 10 | * of this software and associated documentation files (the "Software"), to deal 11 | * in the Software without restriction, including without limitation the rights 12 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 13 | * copies of the Software, and to permit persons to whom the Software is 14 | * furnished to do so, subject to the following conditions: 15 | * 16 | * The above copyright notice and this permission notice shall be included in all 17 | * copies or substantial portions of the Software. 18 | * 19 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 20 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 21 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 22 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 23 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 24 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 25 | * SOFTWARE. 26 | */ -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/css/radio-station/list.css: -------------------------------------------------------------------------------- 1 | /* 2 | * MIT License 3 | * 4 | * Copyright (c) 2021-2022 yangrunkang 5 | * 6 | * Author: yangrunkang 7 | * Email: yangrunkang53@gmail.com 8 | * 9 | * Permission is hereby granted, free of charge, to any person obtaining a copy 10 | * of this software and associated documentation files (the "Software"), to deal 11 | * in the Software without restriction, including without limitation the rights 12 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 13 | * copies of the Software, and to permit persons to whom the Software is 14 | * furnished to do so, subject to the following conditions: 15 | * 16 | * The above copyright notice and this permission notice shall be included in all 17 | * copies or substantial portions of the Software. 18 | * 19 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 20 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 21 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 22 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 23 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 24 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 25 | * SOFTWARE. 26 | */ 27 | 28 | -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/css/radio-station/record.css: -------------------------------------------------------------------------------- 1 | /* 2 | * MIT License 3 | * 4 | * Copyright (c) 2021-2022 yangrunkang 5 | * 6 | * Author: yangrunkang 7 | * Email: yangrunkang53@gmail.com 8 | * 9 | * Permission is hereby granted, free of charge, to any person obtaining a copy 10 | * of this software and associated documentation files (the "Software"), to deal 11 | * in the Software without restriction, including without limitation the rights 12 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 13 | * copies of the Software, and to permit persons to whom the Software is 14 | * furnished to do so, subject to the following conditions: 15 | * 16 | * The above copyright notice and this permission notice shall be included in all 17 | * copies or substantial portions of the Software. 18 | * 19 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 20 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 21 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 22 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 23 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 24 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 25 | * SOFTWARE. 26 | */ 27 | 28 | -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/css/search/search.css: -------------------------------------------------------------------------------- 1 | /* 2 | * MIT License 3 | * 4 | * Copyright (c) 2021-2022 yangrunkang 5 | * 6 | * Author: yangrunkang 7 | * Email: yangrunkang53@gmail.com 8 | * 9 | * Permission is hereby granted, free of charge, to any person obtaining a copy 10 | * of this software and associated documentation files (the "Software"), to deal 11 | * in the Software without restriction, including without limitation the rights 12 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 13 | * copies of the Software, and to permit persons to whom the Software is 14 | * furnished to do so, subject to the following conditions: 15 | * 16 | * The above copyright notice and this permission notice shall be included in all 17 | * copies or substantial portions of the Software. 18 | * 19 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 20 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 21 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 22 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 23 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 24 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 25 | * SOFTWARE. 26 | */ 27 | 28 | -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/css/tag/tag.css: -------------------------------------------------------------------------------- 1 | /* 2 | * MIT License 3 | * 4 | * Copyright (c) 2021-2022 yangrunkang 5 | * 6 | * Author: yangrunkang 7 | * Email: yangrunkang53@gmail.com 8 | * 9 | * Permission is hereby granted, free of charge, to any person obtaining a copy 10 | * of this software and associated documentation files (the "Software"), to deal 11 | * in the Software without restriction, including without limitation the rights 12 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 13 | * copies of the Software, and to permit persons to whom the Software is 14 | * furnished to do so, subject to the following conditions: 15 | * 16 | * The above copyright notice and this permission notice shall be included in all 17 | * copies or substantial portions of the Software. 18 | * 19 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 20 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 21 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 22 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 23 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 24 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 25 | * SOFTWARE. 26 | */ 27 | 28 | -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/css/todo/index.css: -------------------------------------------------------------------------------- 1 | /* 2 | * MIT License 3 | * 4 | * Copyright (c) 2021-2022 yangrunkang 5 | * 6 | * Author: yangrunkang 7 | * Email: yangrunkang53@gmail.com 8 | * 9 | * Permission is hereby granted, free of charge, to any person obtaining a copy 10 | * of this software and associated documentation files (the "Software"), to deal 11 | * in the Software without restriction, including without limitation the rights 12 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 13 | * copies of the Software, and to permit persons to whom the Software is 14 | * furnished to do so, subject to the following conditions: 15 | * 16 | * The above copyright notice and this permission notice shall be included in all 17 | * copies or substantial portions of the Software. 18 | * 19 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 20 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 21 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 22 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 23 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 24 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 25 | * SOFTWARE. 26 | */ 27 | 28 | -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/css/user/forget-password.css: -------------------------------------------------------------------------------- 1 | /* 2 | * MIT License 3 | * 4 | * Copyright (c) 2021-2022 yangrunkang 5 | * 6 | * Author: yangrunkang 7 | * Email: yangrunkang53@gmail.com 8 | * 9 | * Permission is hereby granted, free of charge, to any person obtaining a copy 10 | * of this software and associated documentation files (the "Software"), to deal 11 | * in the Software without restriction, including without limitation the rights 12 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 13 | * copies of the Software, and to permit persons to whom the Software is 14 | * furnished to do so, subject to the following conditions: 15 | * 16 | * The above copyright notice and this permission notice shall be included in all 17 | * copies or substantial portions of the Software. 18 | * 19 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 20 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 21 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 22 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 23 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 24 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 25 | * SOFTWARE. 26 | */ 27 | 28 | -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/css/user/index.css: -------------------------------------------------------------------------------- 1 | /* 2 | * MIT License 3 | * 4 | * Copyright (c) 2021-2022 yangrunkang 5 | * 6 | * Author: yangrunkang 7 | * Email: yangrunkang53@gmail.com 8 | * 9 | * Permission is hereby granted, free of charge, to any person obtaining a copy 10 | * of this software and associated documentation files (the "Software"), to deal 11 | * in the Software without restriction, including without limitation the rights 12 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 13 | * copies of the Software, and to permit persons to whom the Software is 14 | * furnished to do so, subject to the following conditions: 15 | * 16 | * The above copyright notice and this permission notice shall be included in all 17 | * copies or substantial portions of the Software. 18 | * 19 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 20 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 21 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 22 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 23 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 24 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 25 | * SOFTWARE. 26 | */ 27 | 28 | -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/css/user/list.css: -------------------------------------------------------------------------------- 1 | /* 2 | * MIT License 3 | * 4 | * Copyright (c) 2021-2022 yangrunkang 5 | * 6 | * Author: yangrunkang 7 | * Email: yangrunkang53@gmail.com 8 | * 9 | * Permission is hereby granted, free of charge, to any person obtaining a copy 10 | * of this software and associated documentation files (the "Software"), to deal 11 | * in the Software without restriction, including without limitation the rights 12 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 13 | * copies of the Software, and to permit persons to whom the Software is 14 | * furnished to do so, subject to the following conditions: 15 | * 16 | * The above copyright notice and this permission notice shall be included in all 17 | * copies or substantial portions of the Software. 18 | * 19 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 20 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 21 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 22 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 23 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 24 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 25 | * SOFTWARE. 26 | */ 27 | 28 | -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/css/user/logout.css: -------------------------------------------------------------------------------- 1 | /* 2 | * MIT License 3 | * 4 | * Copyright (c) 2021-2022 yangrunkang 5 | * 6 | * Author: yangrunkang 7 | * Email: yangrunkang53@gmail.com 8 | * 9 | * Permission is hereby granted, free of charge, to any person obtaining a copy 10 | * of this software and associated documentation files (the "Software"), to deal 11 | * in the Software without restriction, including without limitation the rights 12 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 13 | * copies of the Software, and to permit persons to whom the Software is 14 | * furnished to do so, subject to the following conditions: 15 | * 16 | * The above copyright notice and this permission notice shall be included in all 17 | * copies or substantial portions of the Software. 18 | * 19 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 20 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 21 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 22 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 23 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 24 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 25 | * SOFTWARE. 26 | */ 27 | 28 | -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/css/user/manage/apply-commit.css: -------------------------------------------------------------------------------- 1 | /* 2 | * MIT License 3 | * 4 | * Copyright (c) 2021-2022 yangrunkang 5 | * 6 | * Author: yangrunkang 7 | * Email: yangrunkang53@gmail.com 8 | * 9 | * Permission is hereby granted, free of charge, to any person obtaining a copy 10 | * of this software and associated documentation files (the "Software"), to deal 11 | * in the Software without restriction, including without limitation the rights 12 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 13 | * copies of the Software, and to permit persons to whom the Software is 14 | * furnished to do so, subject to the following conditions: 15 | * 16 | * The above copyright notice and this permission notice shall be included in all 17 | * copies or substantial portions of the Software. 18 | * 19 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 20 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 21 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 22 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 23 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 24 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 25 | * SOFTWARE. 26 | */ 27 | 28 | -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/css/user/manage/apply.css: -------------------------------------------------------------------------------- 1 | /* 2 | * MIT License 3 | * 4 | * Copyright (c) 2021-2022 yangrunkang 5 | * 6 | * Author: yangrunkang 7 | * Email: yangrunkang53@gmail.com 8 | * 9 | * Permission is hereby granted, free of charge, to any person obtaining a copy 10 | * of this software and associated documentation files (the "Software"), to deal 11 | * in the Software without restriction, including without limitation the rights 12 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 13 | * copies of the Software, and to permit persons to whom the Software is 14 | * furnished to do so, subject to the following conditions: 15 | * 16 | * The above copyright notice and this permission notice shall be included in all 17 | * copies or substantial portions of the Software. 18 | * 19 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 20 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 21 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 22 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 23 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 24 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 25 | * SOFTWARE. 26 | */ 27 | 28 | -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/css/user/manage/attention.css: -------------------------------------------------------------------------------- 1 | /* 2 | * MIT License 3 | * 4 | * Copyright (c) 2021-2022 yangrunkang 5 | * 6 | * Author: yangrunkang 7 | * Email: yangrunkang53@gmail.com 8 | * 9 | * Permission is hereby granted, free of charge, to any person obtaining a copy 10 | * of this software and associated documentation files (the "Software"), to deal 11 | * in the Software without restriction, including without limitation the rights 12 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 13 | * copies of the Software, and to permit persons to whom the Software is 14 | * furnished to do so, subject to the following conditions: 15 | * 16 | * The above copyright notice and this permission notice shall be included in all 17 | * copies or substantial portions of the Software. 18 | * 19 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 20 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 21 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 22 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 23 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 24 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 25 | * SOFTWARE. 26 | */ 27 | 28 | -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/css/user/manage/collect.css: -------------------------------------------------------------------------------- 1 | /* 2 | * MIT License 3 | * 4 | * Copyright (c) 2021-2022 yangrunkang 5 | * 6 | * Author: yangrunkang 7 | * Email: yangrunkang53@gmail.com 8 | * 9 | * Permission is hereby granted, free of charge, to any person obtaining a copy 10 | * of this software and associated documentation files (the "Software"), to deal 11 | * in the Software without restriction, including without limitation the rights 12 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 13 | * copies of the Software, and to permit persons to whom the Software is 14 | * furnished to do so, subject to the following conditions: 15 | * 16 | * The above copyright notice and this permission notice shall be included in all 17 | * copies or substantial portions of the Software. 18 | * 19 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 20 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 21 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 22 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 23 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 24 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 25 | * SOFTWARE. 26 | */ 27 | 28 | -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/css/user/manage/content.css: -------------------------------------------------------------------------------- 1 | /* 2 | * MIT License 3 | * 4 | * Copyright (c) 2021-2022 yangrunkang 5 | * 6 | * Author: yangrunkang 7 | * Email: yangrunkang53@gmail.com 8 | * 9 | * Permission is hereby granted, free of charge, to any person obtaining a copy 10 | * of this software and associated documentation files (the "Software"), to deal 11 | * in the Software without restriction, including without limitation the rights 12 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 13 | * copies of the Software, and to permit persons to whom the Software is 14 | * furnished to do so, subject to the following conditions: 15 | * 16 | * The above copyright notice and this permission notice shall be included in all 17 | * copies or substantial portions of the Software. 18 | * 19 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 20 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 21 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 22 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 23 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 24 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 25 | * SOFTWARE. 26 | */ 27 | 28 | -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/css/user/manage/default-content-setting.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yangrunkang/upupor/c940ee60c6af6de5f16980150be34018fdc330db/upupor-web/src/main/resources/static/css/user/manage/default-content-setting.css -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/css/user/manage/edit-user-info.css: -------------------------------------------------------------------------------- 1 | /* 2 | * MIT License 3 | * 4 | * Copyright (c) 2021-2022 yangrunkang 5 | * 6 | * Author: yangrunkang 7 | * Email: yangrunkang53@gmail.com 8 | * 9 | * Permission is hereby granted, free of charge, to any person obtaining a copy 10 | * of this software and associated documentation files (the "Software"), to deal 11 | * in the Software without restriction, including without limitation the rights 12 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 13 | * copies of the Software, and to permit persons to whom the Software is 14 | * furnished to do so, subject to the following conditions: 15 | * 16 | * The above copyright notice and this permission notice shall be included in all 17 | * copies or substantial portions of the Software. 18 | * 19 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 20 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 21 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 22 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 23 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 24 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 25 | * SOFTWARE. 26 | */ 27 | 28 | -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/css/user/manage/fans.css: -------------------------------------------------------------------------------- 1 | /* 2 | * MIT License 3 | * 4 | * Copyright (c) 2021-2022 yangrunkang 5 | * 6 | * Author: yangrunkang 7 | * Email: yangrunkang53@gmail.com 8 | * 9 | * Permission is hereby granted, free of charge, to any person obtaining a copy 10 | * of this software and associated documentation files (the "Software"), to deal 11 | * in the Software without restriction, including without limitation the rights 12 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 13 | * copies of the Software, and to permit persons to whom the Software is 14 | * furnished to do so, subject to the following conditions: 15 | * 16 | * The above copyright notice and this permission notice shall be included in all 17 | * copies or substantial portions of the Software. 18 | * 19 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 20 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 21 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 22 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 23 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 24 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 25 | * SOFTWARE. 26 | */ 27 | 28 | -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/css/user/manage/feedback.css: -------------------------------------------------------------------------------- 1 | /* 2 | * MIT License 3 | * 4 | * Copyright (c) 2021-2022 yangrunkang 5 | * 6 | * Author: yangrunkang 7 | * Email: yangrunkang53@gmail.com 8 | * 9 | * Permission is hereby granted, free of charge, to any person obtaining a copy 10 | * of this software and associated documentation files (the "Software"), to deal 11 | * in the Software without restriction, including without limitation the rights 12 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 13 | * copies of the Software, and to permit persons to whom the Software is 14 | * furnished to do so, subject to the following conditions: 15 | * 16 | * The above copyright notice and this permission notice shall be included in all 17 | * copies or substantial portions of the Software. 18 | * 19 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 20 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 21 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 22 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 23 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 24 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 25 | * SOFTWARE. 26 | */ 27 | 28 | -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/css/user/manage/integral.css: -------------------------------------------------------------------------------- 1 | /* 2 | * MIT License 3 | * 4 | * Copyright (c) 2021-2022 yangrunkang 5 | * 6 | * Author: yangrunkang 7 | * Email: yangrunkang53@gmail.com 8 | * 9 | * Permission is hereby granted, free of charge, to any person obtaining a copy 10 | * of this software and associated documentation files (the "Software"), to deal 11 | * in the Software without restriction, including without limitation the rights 12 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 13 | * copies of the Software, and to permit persons to whom the Software is 14 | * furnished to do so, subject to the following conditions: 15 | * 16 | * The above copyright notice and this permission notice shall be included in all 17 | * copies or substantial portions of the Software. 18 | * 19 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 20 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 21 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 22 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 23 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 24 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 25 | * SOFTWARE. 26 | */ 27 | 28 | -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/css/user/manage/message.css: -------------------------------------------------------------------------------- 1 | /* 2 | * MIT License 3 | * 4 | * Copyright (c) 2021-2022 yangrunkang 5 | * 6 | * Author: yangrunkang 7 | * Email: yangrunkang53@gmail.com 8 | * 9 | * Permission is hereby granted, free of charge, to any person obtaining a copy 10 | * of this software and associated documentation files (the "Software"), to deal 11 | * in the Software without restriction, including without limitation the rights 12 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 13 | * copies of the Software, and to permit persons to whom the Software is 14 | * furnished to do so, subject to the following conditions: 15 | * 16 | * The above copyright notice and this permission notice shall be included in all 17 | * copies or substantial portions of the Software. 18 | * 19 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 20 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 21 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 22 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 23 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 24 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 25 | * SOFTWARE. 26 | */ 27 | 28 | -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/css/user/manage/radio.css: -------------------------------------------------------------------------------- 1 | /* 2 | * MIT License 3 | * 4 | * Copyright (c) 2021-2022 yangrunkang 5 | * 6 | * Author: yangrunkang 7 | * Email: yangrunkang53@gmail.com 8 | * 9 | * Permission is hereby granted, free of charge, to any person obtaining a copy 10 | * of this software and associated documentation files (the "Software"), to deal 11 | * in the Software without restriction, including without limitation the rights 12 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 13 | * copies of the Software, and to permit persons to whom the Software is 14 | * furnished to do so, subject to the following conditions: 15 | * 16 | * The above copyright notice and this permission notice shall be included in all 17 | * copies or substantial portions of the Software. 18 | * 19 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 20 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 21 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 22 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 23 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 24 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 25 | * SOFTWARE. 26 | */ 27 | 28 | -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/css/user/register.css: -------------------------------------------------------------------------------- 1 | /* 2 | * MIT License 3 | * 4 | * Copyright (c) 2021-2022 yangrunkang 5 | * 6 | * Author: yangrunkang 7 | * Email: yangrunkang53@gmail.com 8 | * 9 | * Permission is hereby granted, free of charge, to any person obtaining a copy 10 | * of this software and associated documentation files (the "Software"), to deal 11 | * in the Software without restriction, including without limitation the rights 12 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 13 | * copies of the Software, and to permit persons to whom the Software is 14 | * furnished to do so, subject to the following conditions: 15 | * 16 | * The above copyright notice and this permission notice shall be included in all 17 | * copies or substantial portions of the Software. 18 | * 19 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 20 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 21 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 22 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 23 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 24 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 25 | * SOFTWARE. 26 | */ 27 | 28 | -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/css/view/index.css: -------------------------------------------------------------------------------- 1 | /* 2 | * MIT License 3 | * 4 | * Copyright (c) 2021-2022 yangrunkang 5 | * 6 | * Author: yangrunkang 7 | * Email: yangrunkang53@gmail.com 8 | * 9 | * Permission is hereby granted, free of charge, to any person obtaining a copy 10 | * of this software and associated documentation files (the "Software"), to deal 11 | * in the Software without restriction, including without limitation the rights 12 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 13 | * copies of the Software, and to permit persons to whom the Software is 14 | * furnished to do so, subject to the following conditions: 15 | * 16 | * The above copyright notice and this permission notice shall be included in all 17 | * copies or substantial portions of the Software. 18 | * 19 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 20 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 21 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 22 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 23 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 24 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 25 | * SOFTWARE. 26 | */ 27 | 28 | -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/icons/all.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yangrunkang/upupor/c940ee60c6af6de5f16980150be34018fdc330db/upupor-web/src/main/resources/static/icons/all.png -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/icons/contents/new.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/icons/flash.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/icons/system/apply.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yangrunkang/upupor/c940ee60c6af6de5f16980150be34018fdc330db/upupor-web/src/main/resources/static/icons/system/apply.png -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/icons/system/attention.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yangrunkang/upupor/c940ee60c6af6de5f16980150be34018fdc330db/upupor-web/src/main/resources/static/icons/system/attention.png -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/icons/system/collection.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yangrunkang/upupor/c940ee60c6af6de5f16980150be34018fdc330db/upupor-web/src/main/resources/static/icons/system/collection.png -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/icons/system/comment-yellow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yangrunkang/upupor/c940ee60c6af6de5f16980150be34018fdc330db/upupor-web/src/main/resources/static/icons/system/comment-yellow.png -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/icons/system/comment.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yangrunkang/upupor/c940ee60c6af6de5f16980150be34018fdc330db/upupor-web/src/main/resources/static/icons/system/comment.png -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/icons/system/content-time.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yangrunkang/upupor/c940ee60c6af6de5f16980150be34018fdc330db/upupor-web/src/main/resources/static/icons/system/content-time.png -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/icons/system/email.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yangrunkang/upupor/c940ee60c6af6de5f16980150be34018fdc330db/upupor-web/src/main/resources/static/icons/system/email.png -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/icons/system/fans.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yangrunkang/upupor/c940ee60c6af6de5f16980150be34018fdc330db/upupor-web/src/main/resources/static/icons/system/fans.png -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/icons/system/footer/3361607101759_.pic_hd.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yangrunkang/upupor/c940ee60c6af6de5f16980150be34018fdc330db/upupor-web/src/main/resources/static/icons/system/footer/3361607101759_.pic_hd.jpg -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/icons/system/footer/ad.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/icons/system/footer/telegram.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/icons/system/footer/zhiding.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/icons/system/goutong.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yangrunkang/upupor/c940ee60c6af6de5f16980150be34018fdc330db/upupor-web/src/main/resources/static/icons/system/goutong.png -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/icons/system/liulan.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yangrunkang/upupor/c940ee60c6af6de5f16980150be34018fdc330db/upupor-web/src/main/resources/static/icons/system/liulan.png -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/icons/system/nickname.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yangrunkang/upupor/c940ee60c6af6de5f16980150be34018fdc330db/upupor-web/src/main/resources/static/icons/system/nickname.png -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/icons/system/recommand.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yangrunkang/upupor/c940ee60c6af6de5f16980150be34018fdc330db/upupor-web/src/main/resources/static/icons/system/recommand.png -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/icons/system/register-time.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yangrunkang/upupor/c940ee60c6af6de5f16980150be34018fdc330db/upupor-web/src/main/resources/static/icons/system/register-time.png -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/icons/system/register.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/icons/system/rule.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yangrunkang/upupor/c940ee60c6af6de5f16980150be34018fdc330db/upupor-web/src/main/resources/static/icons/system/rule.png -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/icons/system/topic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yangrunkang/upupor/c940ee60c6af6de5f16980150be34018fdc330db/upupor-web/src/main/resources/static/icons/system/topic.png -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/icons/system/zan.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yangrunkang/upupor/c940ee60c6af6de5f16980150be34018fdc330db/upupor-web/src/main/resources/static/icons/system/zan.png -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/icons/todo.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/icons/v.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/icons/write/home.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yangrunkang/upupor/c940ee60c6af6de5f16980150be34018fdc330db/upupor-web/src/main/resources/static/icons/write/home.png -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/icons/write/write-content.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yangrunkang/upupor/c940ee60c6af6de5f16980150be34018fdc330db/upupor-web/src/main/resources/static/icons/write/write-content.png -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/icons/write/write-qa.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yangrunkang/upupor/c940ee60c6af6de5f16980150be34018fdc330db/upupor-web/src/main/resources/static/icons/write/write-qa.png -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/icons/write/write-record.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yangrunkang/upupor/c940ee60c6af6de5f16980150be34018fdc330db/upupor-web/src/main/resources/static/icons/write/write-record.png -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/icons/write/write-share.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yangrunkang/upupor/c940ee60c6af6de5f16980150be34018fdc330db/upupor-web/src/main/resources/static/icons/write/write-share.png -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/icons/write/write-tech.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yangrunkang/upupor/c940ee60c6af6de5f16980150be34018fdc330db/upupor-web/src/main/resources/static/icons/write/write-tech.png -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/icons/write/write-work.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yangrunkang/upupor/c940ee60c6af6de5f16980150be34018fdc330db/upupor-web/src/main/resources/static/icons/write/write-work.png -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/js/error/error.js: -------------------------------------------------------------------------------- 1 | /* 2 | * MIT License 3 | * 4 | * Copyright (c) 2021-2022 yangrunkang 5 | * 6 | * Author: yangrunkang 7 | * Email: yangrunkang53@gmail.com 8 | * 9 | * Permission is hereby granted, free of charge, to any person obtaining a copy 10 | * of this software and associated documentation files (the "Software"), to deal 11 | * in the Software without restriction, including without limitation the rights 12 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 13 | * copies of the Software, and to permit persons to whom the Software is 14 | * furnished to do so, subject to the following conditions: 15 | * 16 | * The above copyright notice and this permission notice shall be included in all 17 | * copies or substantial portions of the Software. 18 | * 19 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 20 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 21 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 22 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 23 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 24 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 25 | * SOFTWARE. 26 | */ 27 | 28 | $(function () { 29 | }); -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/js/foot/business-cooperation.js: -------------------------------------------------------------------------------- 1 | /* 2 | * MIT License 3 | * 4 | * Copyright (c) 2021-2022 yangrunkang 5 | * 6 | * Author: yangrunkang 7 | * Email: yangrunkang53@gmail.com 8 | * 9 | * Permission is hereby granted, free of charge, to any person obtaining a copy 10 | * of this software and associated documentation files (the "Software"), to deal 11 | * in the Software without restriction, including without limitation the rights 12 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 13 | * copies of the Software, and to permit persons to whom the Software is 14 | * furnished to do so, subject to the following conditions: 15 | * 16 | * The above copyright notice and this permission notice shall be included in all 17 | * copies or substantial portions of the Software. 18 | * 19 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 20 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 21 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 22 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 23 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 24 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 25 | * SOFTWARE. 26 | */ 27 | 28 | -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/js/foot/foot-item.js: -------------------------------------------------------------------------------- 1 | /* 2 | * MIT License 3 | * 4 | * Copyright (c) 2021-2022 yangrunkang 5 | * 6 | * Author: yangrunkang 7 | * Email: yangrunkang53@gmail.com 8 | * 9 | * Permission is hereby granted, free of charge, to any person obtaining a copy 10 | * of this software and associated documentation files (the "Software"), to deal 11 | * in the Software without restriction, including without limitation the rights 12 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 13 | * copies of the Software, and to permit persons to whom the Software is 14 | * furnished to do so, subject to the following conditions: 15 | * 16 | * The above copyright notice and this permission notice shall be included in all 17 | * copies or substantial portions of the Software. 18 | * 19 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 20 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 21 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 22 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 23 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 24 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 25 | * SOFTWARE. 26 | */ 27 | 28 | $(function () { 29 | }); -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/js/foot/sitemap.js: -------------------------------------------------------------------------------- 1 | /* 2 | * MIT License 3 | * 4 | * Copyright (c) 2021-2022 yangrunkang 5 | * 6 | * Author: yangrunkang 7 | * Email: yangrunkang53@gmail.com 8 | * 9 | * Permission is hereby granted, free of charge, to any person obtaining a copy 10 | * of this software and associated documentation files (the "Software"), to deal 11 | * in the Software without restriction, including without limitation the rights 12 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 13 | * copies of the Software, and to permit persons to whom the Software is 14 | * furnished to do so, subject to the following conditions: 15 | * 16 | * The above copyright notice and this permission notice shall be included in all 17 | * copies or substantial portions of the Software. 18 | * 19 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 20 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 21 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 22 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 23 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 24 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 25 | * SOFTWARE. 26 | */ 27 | 28 | -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/js/foot/version.js: -------------------------------------------------------------------------------- 1 | /* 2 | * MIT License 3 | * 4 | * Copyright (c) 2021-2022 yangrunkang 5 | * 6 | * Author: yangrunkang 7 | * Email: yangrunkang53@gmail.com 8 | * 9 | * Permission is hereby granted, free of charge, to any person obtaining a copy 10 | * of this software and associated documentation files (the "Software"), to deal 11 | * in the Software without restriction, including without limitation the rights 12 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 13 | * copies of the Software, and to permit persons to whom the Software is 14 | * furnished to do so, subject to the following conditions: 15 | * 16 | * The above copyright notice and this permission notice shall be included in all 17 | * copies or substantial portions of the Software. 18 | * 19 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 20 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 21 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 22 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 23 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 24 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 25 | * SOFTWARE. 26 | */ 27 | 28 | -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/js/integral/integral.js: -------------------------------------------------------------------------------- 1 | /* 2 | * MIT License 3 | * 4 | * Copyright (c) 2021-2022 yangrunkang 5 | * 6 | * Author: yangrunkang 7 | * Email: yangrunkang53@gmail.com 8 | * 9 | * Permission is hereby granted, free of charge, to any person obtaining a copy 10 | * of this software and associated documentation files (the "Software"), to deal 11 | * in the Software without restriction, including without limitation the rights 12 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 13 | * copies of the Software, and to permit persons to whom the Software is 14 | * furnished to do so, subject to the following conditions: 15 | * 16 | * The above copyright notice and this permission notice shall be included in all 17 | * copies or substantial portions of the Software. 18 | * 19 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 20 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 21 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 22 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 23 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 24 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 25 | * SOFTWARE. 26 | */ 27 | 28 | -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/js/photograph/photograph.js: -------------------------------------------------------------------------------- 1 | /* 2 | * MIT License 3 | * 4 | * Copyright (c) 2021-2022 yangrunkang 5 | * 6 | * Author: yangrunkang 7 | * Email: yangrunkang53@gmail.com 8 | * 9 | * Permission is hereby granted, free of charge, to any person obtaining a copy 10 | * of this software and associated documentation files (the "Software"), to deal 11 | * in the Software without restriction, including without limitation the rights 12 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 13 | * copies of the Software, and to permit persons to whom the Software is 14 | * furnished to do so, subject to the following conditions: 15 | * 16 | * The above copyright notice and this permission notice shall be included in all 17 | * copies or substantial portions of the Software. 18 | * 19 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 20 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 21 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 22 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 23 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 24 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 25 | * SOFTWARE. 26 | */ 27 | 28 | -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/js/pinned/index.js: -------------------------------------------------------------------------------- 1 | /* 2 | * MIT License 3 | * 4 | * Copyright (c) 2021-2022 yangrunkang 5 | * 6 | * Author: yangrunkang 7 | * Email: yangrunkang53@gmail.com 8 | * 9 | * Permission is hereby granted, free of charge, to any person obtaining a copy 10 | * of this software and associated documentation files (the "Software"), to deal 11 | * in the Software without restriction, including without limitation the rights 12 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 13 | * copies of the Software, and to permit persons to whom the Software is 14 | * furnished to do so, subject to the following conditions: 15 | * 16 | * The above copyright notice and this permission notice shall be included in all 17 | * copies or substantial portions of the Software. 18 | * 19 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 20 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 21 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 22 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 23 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 24 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 25 | * SOFTWARE. 26 | */ 27 | 28 | -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/js/profile/attention.js: -------------------------------------------------------------------------------- 1 | /* 2 | * MIT License 3 | * 4 | * Copyright (c) 2021-2022 yangrunkang 5 | * 6 | * Author: yangrunkang 7 | * Email: yangrunkang53@gmail.com 8 | * 9 | * Permission is hereby granted, free of charge, to any person obtaining a copy 10 | * of this software and associated documentation files (the "Software"), to deal 11 | * in the Software without restriction, including without limitation the rights 12 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 13 | * copies of the Software, and to permit persons to whom the Software is 14 | * furnished to do so, subject to the following conditions: 15 | * 16 | * The above copyright notice and this permission notice shall be included in all 17 | * copies or substantial portions of the Software. 18 | * 19 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 20 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 21 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 22 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 23 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 24 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 25 | * SOFTWARE. 26 | */ 27 | 28 | -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/js/profile/fans.js: -------------------------------------------------------------------------------- 1 | /* 2 | * MIT License 3 | * 4 | * Copyright (c) 2021-2022 yangrunkang 5 | * 6 | * Author: yangrunkang 7 | * Email: yangrunkang53@gmail.com 8 | * 9 | * Permission is hereby granted, free of charge, to any person obtaining a copy 10 | * of this software and associated documentation files (the "Software"), to deal 11 | * in the Software without restriction, including without limitation the rights 12 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 13 | * copies of the Software, and to permit persons to whom the Software is 14 | * furnished to do so, subject to the following conditions: 15 | * 16 | * The above copyright notice and this permission notice shall be included in all 17 | * copies or substantial portions of the Software. 18 | * 19 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 20 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 21 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 22 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 23 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 24 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 25 | * SOFTWARE. 26 | */ 27 | 28 | -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/js/radio-station/index.js: -------------------------------------------------------------------------------- 1 | /* 2 | * MIT License 3 | * 4 | * Copyright (c) 2021-2022 yangrunkang 5 | * 6 | * Author: yangrunkang 7 | * Email: yangrunkang53@gmail.com 8 | * 9 | * Permission is hereby granted, free of charge, to any person obtaining a copy 10 | * of this software and associated documentation files (the "Software"), to deal 11 | * in the Software without restriction, including without limitation the rights 12 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 13 | * copies of the Software, and to permit persons to whom the Software is 14 | * furnished to do so, subject to the following conditions: 15 | * 16 | * The above copyright notice and this permission notice shall be included in all 17 | * copies or substantial portions of the Software. 18 | * 19 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 20 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 21 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 22 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 23 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 24 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 25 | * SOFTWARE. 26 | */ 27 | -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/js/radio-station/list.js: -------------------------------------------------------------------------------- 1 | /* 2 | * MIT License 3 | * 4 | * Copyright (c) 2021-2022 yangrunkang 5 | * 6 | * Author: yangrunkang 7 | * Email: yangrunkang53@gmail.com 8 | * 9 | * Permission is hereby granted, free of charge, to any person obtaining a copy 10 | * of this software and associated documentation files (the "Software"), to deal 11 | * in the Software without restriction, including without limitation the rights 12 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 13 | * copies of the Software, and to permit persons to whom the Software is 14 | * furnished to do so, subject to the following conditions: 15 | * 16 | * The above copyright notice and this permission notice shall be included in all 17 | * copies or substantial portions of the Software. 18 | * 19 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 20 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 21 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 22 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 23 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 24 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 25 | * SOFTWARE. 26 | */ 27 | 28 | $(function () { 29 | 30 | }); 31 | -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/js/report/goaccess.js: -------------------------------------------------------------------------------- 1 | /* 2 | * MIT License 3 | * 4 | * Copyright (c) 2021-2022 yangrunkang 5 | * 6 | * Author: yangrunkang 7 | * Email: yangrunkang53@gmail.com 8 | * 9 | * Permission is hereby granted, free of charge, to any person obtaining a copy 10 | * of this software and associated documentation files (the "Software"), to deal 11 | * in the Software without restriction, including without limitation the rights 12 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 13 | * copies of the Software, and to permit persons to whom the Software is 14 | * furnished to do so, subject to the following conditions: 15 | * 16 | * The above copyright notice and this permission notice shall be included in all 17 | * copies or substantial portions of the Software. 18 | * 19 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 20 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 21 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 22 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 23 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 24 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 25 | * SOFTWARE. 26 | */ 27 | 28 | -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/js/tag/tag.js: -------------------------------------------------------------------------------- 1 | /* 2 | * MIT License 3 | * 4 | * Copyright (c) 2021-2022 yangrunkang 5 | * 6 | * Author: yangrunkang 7 | * Email: yangrunkang53@gmail.com 8 | * 9 | * Permission is hereby granted, free of charge, to any person obtaining a copy 10 | * of this software and associated documentation files (the "Software"), to deal 11 | * in the Software without restriction, including without limitation the rights 12 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 13 | * copies of the Software, and to permit persons to whom the Software is 14 | * furnished to do so, subject to the following conditions: 15 | * 16 | * The above copyright notice and this permission notice shall be included in all 17 | * copies or substantial portions of the Software. 18 | * 19 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 20 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 21 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 22 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 23 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 24 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 25 | * SOFTWARE. 26 | */ 27 | 28 | $(function () { 29 | 30 | }); -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/js/user/index.js: -------------------------------------------------------------------------------- 1 | /* 2 | * MIT License 3 | * 4 | * Copyright (c) 2021-2022 yangrunkang 5 | * 6 | * Author: yangrunkang 7 | * Email: yangrunkang53@gmail.com 8 | * 9 | * Permission is hereby granted, free of charge, to any person obtaining a copy 10 | * of this software and associated documentation files (the "Software"), to deal 11 | * in the Software without restriction, including without limitation the rights 12 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 13 | * copies of the Software, and to permit persons to whom the Software is 14 | * furnished to do so, subject to the following conditions: 15 | * 16 | * The above copyright notice and this permission notice shall be included in all 17 | * copies or substantial portions of the Software. 18 | * 19 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 20 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 21 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 22 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 23 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 24 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 25 | * SOFTWARE. 26 | */ 27 | 28 | -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/js/user/list.js: -------------------------------------------------------------------------------- 1 | /* 2 | * MIT License 3 | * 4 | * Copyright (c) 2021-2022 yangrunkang 5 | * 6 | * Author: yangrunkang 7 | * Email: yangrunkang53@gmail.com 8 | * 9 | * Permission is hereby granted, free of charge, to any person obtaining a copy 10 | * of this software and associated documentation files (the "Software"), to deal 11 | * in the Software without restriction, including without limitation the rights 12 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 13 | * copies of the Software, and to permit persons to whom the Software is 14 | * furnished to do so, subject to the following conditions: 15 | * 16 | * The above copyright notice and this permission notice shall be included in all 17 | * copies or substantial portions of the Software. 18 | * 19 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 20 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 21 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 22 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 23 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 24 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 25 | * SOFTWARE. 26 | */ 27 | 28 | $(function () { 29 | 30 | }); -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/js/user/manage/integral.js: -------------------------------------------------------------------------------- 1 | /* 2 | * MIT License 3 | * 4 | * Copyright (c) 2021-2022 yangrunkang 5 | * 6 | * Author: yangrunkang 7 | * Email: yangrunkang53@gmail.com 8 | * 9 | * Permission is hereby granted, free of charge, to any person obtaining a copy 10 | * of this software and associated documentation files (the "Software"), to deal 11 | * in the Software without restriction, including without limitation the rights 12 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 13 | * copies of the Software, and to permit persons to whom the Software is 14 | * furnished to do so, subject to the following conditions: 15 | * 16 | * The above copyright notice and this permission notice shall be included in all 17 | * copies or substantial portions of the Software. 18 | * 19 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 20 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 21 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 22 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 23 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 24 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 25 | * SOFTWARE. 26 | */ 27 | 28 | $(function () { 29 | 30 | }); -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/js/view/index.js: -------------------------------------------------------------------------------- 1 | /* 2 | * MIT License 3 | * 4 | * Copyright (c) 2021-2022 yangrunkang 5 | * 6 | * Author: yangrunkang 7 | * Email: yangrunkang53@gmail.com 8 | * 9 | * Permission is hereby granted, free of charge, to any person obtaining a copy 10 | * of this software and associated documentation files (the "Software"), to deal 11 | * in the Software without restriction, including without limitation the rights 12 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 13 | * copies of the Software, and to permit persons to whom the Software is 14 | * furnished to do so, subject to the following conditions: 15 | * 16 | * The above copyright notice and this permission notice shall be included in all 17 | * copies or substantial portions of the Software. 18 | * 19 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 20 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 21 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 22 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 23 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 24 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 25 | * SOFTWARE. 26 | */ 27 | 28 | -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/pages/business-co.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yangrunkang/upupor/c940ee60c6af6de5f16980150be34018fdc330db/upupor-web/src/main/resources/static/pages/business-co.png -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/plugins/README.md: -------------------------------------------------------------------------------- 1 | # 插件集成 2 | * 弃用-toastr 消息弹窗 https://codeseven.github.io/toastr/ 有cdn 3 | * bootstrap-select 多选框 有CDN https://developer.snapappointments.com/bootstrap-select/ 4 | * prismjs 代码高亮插件 https://prismjs.com 5 | * sweetalert 弹窗插件 https://sweetalert.js.org/docs/ 6 | # 插件帮助文档 7 | - bootstrap-select https://developer.snapappointments.com/bootstrap-select/examples/ 8 | # Ckeditor5配置 9 | https://ckeditor.com/docs/ckeditor5/latest/api/module_core_editor_editorconfig-EditorConfig.html 10 | # Ckeditor5插件 11 | https://ckeditor.com/docs/ckeditor5/latest/features/index.html 12 | # 编辑器项目 13 | codingvcr-ckeditor5 14 | # 短内容效果 15 | https://daneden.github.io/animate.css/ 16 | 17 | 18 | -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/plugins/cherry/addons/cherry-code-block-mermaid-plugin.d.ts: -------------------------------------------------------------------------------- 1 | export default class MermaidCodeEngine { 2 | static TYPE: string; 3 | static install(cherryOptions: any, ...args: any[]): void; 4 | constructor(mermaidOptions?: {}); 5 | mermaidAPIRefs: any; 6 | options: { 7 | theme: string; 8 | altFontFamily: string; 9 | fontFamily: string; 10 | themeCSS: string; 11 | flowchart: { 12 | useMaxWidth: boolean; 13 | }; 14 | sequence: { 15 | useMaxWidth: boolean; 16 | }; 17 | startOnLoad: boolean; 18 | logLevel: number; 19 | }; 20 | dom: any; 21 | mermaidCanvas: any; 22 | mountMermaidCanvas($engine: any): void; 23 | /** 24 | * 转换svg为img,如果出错则直出svg 25 | * @param {string} svgCode 26 | * @param {string} graphId 27 | * @returns {string} 28 | */ 29 | convertMermaidSvgToImg(svgCode: string, graphId: string): string; 30 | render(src: any, sign: any, $engine: any): boolean; 31 | } 32 | -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/plugins/cherry/addons/cherry-code-block-plantuml-plugin.d.ts: -------------------------------------------------------------------------------- 1 | export default class PlantUMLCodeEngine { 2 | static install(cherryOptions: any, args: any): void; 3 | constructor(plantUMLOptions?: {}); 4 | baseUrl: any; 5 | render(src: any, sign: any): string; 6 | } 7 | -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/plugins/cherry/cherry-markdown.core.common.d.ts: -------------------------------------------------------------------------------- 1 | import Cherry, { MenuHookBase, SyntaxHookBase } from "./types/index.core"; 2 | export { MenuHookBase, SyntaxHookBase }; 3 | export default Cherry; -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/plugins/cherry/cherry-markdown.core.d.ts: -------------------------------------------------------------------------------- 1 | import Cherry, { MenuHookBase, SyntaxHookBase } from "./types/index.core"; 2 | export { MenuHookBase, SyntaxHookBase }; 3 | export default Cherry; -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/plugins/cherry/cherry-markdown.d.ts: -------------------------------------------------------------------------------- 1 | import Cherry, { MenuHookBase, SyntaxHookBase } from "./types/index"; 2 | export { MenuHookBase, SyntaxHookBase }; 3 | export default Cherry; -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/plugins/cherry/cherry-markdown.engine.core.common.d.ts: -------------------------------------------------------------------------------- 1 | import CherryEngine, { MenuHookBase, SyntaxHookBase } from "./types/index.engine.core"; 2 | export { MenuHookBase, SyntaxHookBase }; 3 | export default CherryEngine; -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/plugins/cherry/cherry-markdown.engine.core.d.ts: -------------------------------------------------------------------------------- 1 | import CherryEngine, { MenuHookBase, SyntaxHookBase } from "./types/index.engine.core"; 2 | export { MenuHookBase, SyntaxHookBase }; 3 | export default CherryEngine; -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/plugins/cherry/cherry-markdown.engine.core.esm.d.ts: -------------------------------------------------------------------------------- 1 | import CherryEngine, { MenuHookBase, SyntaxHookBase } from "./types/index.engine.core"; 2 | export { MenuHookBase, SyntaxHookBase }; 3 | export default CherryEngine; -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/plugins/cherry/cherry-markdown.esm.d.ts: -------------------------------------------------------------------------------- 1 | import Cherry, { MenuHookBase, SyntaxHookBase } from "./types/index"; 2 | export { MenuHookBase, SyntaxHookBase }; 3 | export default Cherry; -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/plugins/cherry/cherry-markdown.min.d.ts: -------------------------------------------------------------------------------- 1 | import Cherry, { MenuHookBase, SyntaxHookBase } from "./types/index"; 2 | export { MenuHookBase, SyntaxHookBase }; 3 | export default Cherry; -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/plugins/cherry/fonts/ch-icon.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yangrunkang/upupor/c940ee60c6af6de5f16980150be34018fdc330db/upupor-web/src/main/resources/static/plugins/cherry/fonts/ch-icon.eot -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/plugins/cherry/fonts/ch-icon.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yangrunkang/upupor/c940ee60c6af6de5f16980150be34018fdc330db/upupor-web/src/main/resources/static/plugins/cherry/fonts/ch-icon.ttf -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/plugins/cherry/fonts/ch-icon.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yangrunkang/upupor/c940ee60c6af6de5f16980150be34018fdc330db/upupor-web/src/main/resources/static/plugins/cherry/fonts/ch-icon.woff -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/plugins/cherry/fonts/ch-icon.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yangrunkang/upupor/c940ee60c6af6de5f16980150be34018fdc330db/upupor-web/src/main/resources/static/plugins/cherry/fonts/ch-icon.woff2 -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/plugins/cherry/types/Cherry.config.d.ts: -------------------------------------------------------------------------------- 1 | declare var _default: Partial; 2 | export default _default; 3 | -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/plugins/cherry/types/CherryStatic.d.ts: -------------------------------------------------------------------------------- 1 | export class CherryStatic { 2 | static createSyntaxHook: typeof createSyntaxHook; 3 | static createMenuHook: typeof createMenuHook; 4 | static constants: { 5 | HOOKS_TYPE_LIST: import("./core/SyntaxBase").HookTypesList; 6 | }; 7 | static VERSION: string; 8 | /** 9 | * @this {typeof import('./Cherry').default | typeof CherryStatic} 10 | * @param {{ install: (defaultConfig: any, ...args: any[]) => void }} PluginClass 插件Class 11 | * @param {...any} args 初始化插件的参数 12 | * @returns 13 | */ 14 | static usePlugin(PluginClass: { 15 | install: (defaultConfig: any, ...args: any[]) => void; 16 | }, ...args: any[]): void; 17 | } 18 | import { createSyntaxHook } from "./Factory"; 19 | import { createMenuHook } from "./Factory"; 20 | -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/plugins/cherry/types/Event.d.ts: -------------------------------------------------------------------------------- 1 | declare var _default: { 2 | /** 3 | * 事件列表 4 | * @property 5 | */ 6 | Events: { 7 | previewerClose: string; 8 | previewerOpen: string; 9 | editorClose: string; 10 | editorOpen: string; 11 | toolbarHide: string; 12 | toolbarShow: string; 13 | cleanAllSubMenus: string; 14 | }; 15 | /** 16 | * @property 17 | * @private 18 | * @type {import('mitt').Emitter} 19 | */ 20 | emitter: import("mitt").Emitter; 21 | /** 22 | * 注册监听事件 23 | * @param {string} instanceId 接收消息的频道 24 | * @param {string} event 要注册监听的事件 25 | * @param {(event: any) => void} handler 事件回调 26 | */ 27 | on(instanceId: string, event: string, handler: (event: any) => void): void; 28 | /** 29 | * 触发事件 30 | * @param {string} instanceId 发送消息的频道 31 | * @param {string} event 要触发的事件 32 | */ 33 | emit(instanceId: string, event: string): void; 34 | }; 35 | export default _default; 36 | -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/plugins/cherry/types/Logger.d.ts: -------------------------------------------------------------------------------- 1 | export default Logger; 2 | /** 3 | * Copyright (C) 2021 THL A29 Limited, a Tencent company. 4 | * 5 | * Licensed under the Apache License, Version 2.0 (the "License"); 6 | * you may not use this file except in compliance with the License. 7 | * You may obtain a copy of the License at 8 | * 9 | * http://www.apache.org/licenses/LICENSE-2.0 10 | * 11 | * Unless required by applicable law or agreed to in writing, software 12 | * distributed under the License is distributed on an "AS IS" BASIS, 13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | * See the License for the specific language governing permissions and 15 | * limitations under the License. 16 | */ 17 | /** @type {Partial} */ 18 | declare const Logger: Partial; 19 | -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/plugins/cherry/types/Sanitizer.d.ts: -------------------------------------------------------------------------------- 1 | export const sanitizer: createDOMPurify.DOMPurifyI; 2 | import createDOMPurify from "dompurify"; 3 | -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/plugins/cherry/types/UrlCache.d.ts: -------------------------------------------------------------------------------- 1 | export function urlProcessorProxy(urlProcessor: any): (url: any, srcType: any) => any; 2 | export default class UrlCache { 3 | /** 4 | * 判断url是否Cherry的内部链接 5 | * @param {string} url 要检测的URL 6 | * @returns 7 | */ 8 | static isInnerLink(url: string): boolean; 9 | /** 10 | * 缓存url为内部链接,主要用于缩短超长链接,避免正则超时 11 | * @param {string} url 要转换为内部链接的URL 12 | * @returns 13 | */ 14 | static set(url: string): string; 15 | /** 16 | * 获取原始链接 17 | * @param {string} innerUrl 内部链接 18 | * @returns 19 | */ 20 | static get(innerUrl: string): any; 21 | /** 22 | * 替换指定内部链接的真实地址 23 | * @param {string} innerUrl 原始内部链接 24 | * @param {string} newUrl 需要替换的链接 25 | */ 26 | static replace(innerUrl: string, newUrl: string): string; 27 | /** 28 | * 替换所有内部链接为原始的真实地址 29 | * @param {string} html 包含 cherry-inner 协议地址的 html 文本 30 | */ 31 | static restoreAll(html: string): string; 32 | /** 33 | * 清空缓存 34 | */ 35 | static clear(): void; 36 | } 37 | -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/plugins/cherry/types/addons/cherry-code-block-mermaid-plugin.d.ts: -------------------------------------------------------------------------------- 1 | export default class MermaidCodeEngine { 2 | static TYPE: string; 3 | static install(cherryOptions: any, ...args: any[]): void; 4 | constructor(mermaidOptions?: {}); 5 | mermaidAPIRefs: any; 6 | options: { 7 | theme: string; 8 | altFontFamily: string; 9 | fontFamily: string; 10 | themeCSS: string; 11 | flowchart: { 12 | useMaxWidth: boolean; 13 | }; 14 | sequence: { 15 | useMaxWidth: boolean; 16 | }; 17 | startOnLoad: boolean; 18 | logLevel: number; 19 | }; 20 | dom: any; 21 | mermaidCanvas: any; 22 | mountMermaidCanvas($engine: any): void; 23 | /** 24 | * 转换svg为img,如果出错则直出svg 25 | * @param {string} svgCode 26 | * @param {string} graphId 27 | * @returns {string} 28 | */ 29 | convertMermaidSvgToImg(svgCode: string, graphId: string): string; 30 | render(src: any, sign: any, $engine: any): boolean; 31 | } 32 | -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/plugins/cherry/types/addons/cherry-code-block-plantuml-plugin.d.ts: -------------------------------------------------------------------------------- 1 | export default class PlantUMLCodeEngine { 2 | static install(cherryOptions: any, args: any): void; 3 | constructor(plantUMLOptions?: {}); 4 | baseUrl: any; 5 | render(src: any, sign: any): string; 6 | } 7 | -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/plugins/cherry/types/core/HooksConfig.d.ts: -------------------------------------------------------------------------------- 1 | export default hooksConfig; 2 | /** 3 | * 引擎各语法的配置 4 | * 主要决定支持哪些语法,以及各语法的执行顺序 5 | */ 6 | declare const hooksConfig: (typeof Strikethrough | typeof CodeBlock | typeof Link | typeof Emphasis | typeof Header | typeof Transfer | typeof Table | typeof Br | typeof Image | typeof AutoLink | typeof MathBlock | typeof InlineMath | typeof Toc | typeof HtmlBlock | typeof Emoji | typeof Underline | typeof Panel | typeof Detail | typeof Suggester)[]; 7 | import Strikethrough from "./hooks/Strikethrough"; 8 | import CodeBlock from "./hooks/CodeBlock"; 9 | import Link from "./hooks/Link"; 10 | import Emphasis from "./hooks/Emphasis"; 11 | import Header from "./hooks/Header"; 12 | import Transfer from "./hooks/Transfer"; 13 | import Table from "./hooks/Table"; 14 | import Br from "./hooks/Br"; 15 | import Image from "./hooks/Image"; 16 | import AutoLink from "./hooks/AutoLink"; 17 | import MathBlock from "./hooks/MathBlock"; 18 | import InlineMath from "./hooks/InlineMath"; 19 | import Toc from "./hooks/Toc"; 20 | import HtmlBlock from "./hooks/HtmlBlock"; 21 | import Emoji from "./hooks/Emoji"; 22 | import Underline from "./hooks/Underline"; 23 | import Panel from "./hooks/Panel"; 24 | import Detail from "./hooks/Detail"; 25 | import Suggester from "./hooks/Suggester"; 26 | -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/plugins/cherry/types/core/hooks/AutoLink.d.ts: -------------------------------------------------------------------------------- 1 | export default class AutoLink extends SyntaxBase { 2 | constructor({ config, globalConfig }: { 3 | config: any; 4 | globalConfig: any; 5 | }); 6 | urlProcessor: any; 7 | openNewPage: boolean; 8 | enableShortLink: boolean; 9 | shortLinkLength: any; 10 | isLinkInHtmlAttribute(str: any, index: any, linkLength: any): boolean; 11 | /** 12 | * 判断链接是否被包裹在a标签内部,如果被包裹,则不识别为自动链接 13 | * @param {string} str 14 | * @param {number} index 15 | * @param {number} linkLength 16 | */ 17 | isLinkInATag(str: string, index: number, linkLength: number): boolean; 18 | /** 19 | * 渲染链接为a标签,返回html 20 | * @param {string} url src链接 21 | * @param {string} [text] 展示的链接文本,不传默认使用url 22 | * @returns 渲染的a标签 23 | */ 24 | renderLink(url: string, text?: string): string; 25 | } 26 | import SyntaxBase from "@/core/SyntaxBase"; 27 | -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/plugins/cherry/types/core/hooks/BackgroundColor.d.ts: -------------------------------------------------------------------------------- 1 | export default class BackgroundColor extends SyntaxBase { 2 | toHtml(whole: any, leadingChar: any, m1: any, m2: any): string; 3 | } 4 | import SyntaxBase from "@/core/SyntaxBase"; 5 | -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/plugins/cherry/types/core/hooks/Blockquote.d.ts: -------------------------------------------------------------------------------- 1 | export default class Blockquote extends ParagraphBase { 2 | constructor(); 3 | handleMatch(str: any, sentenceMakeFunc: any): any; 4 | } 5 | import ParagraphBase from "@/core/ParagraphBase"; 6 | -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/plugins/cherry/types/core/hooks/Br.d.ts: -------------------------------------------------------------------------------- 1 | export default class Br extends ParagraphBase { 2 | constructor(options: any); 3 | } 4 | import ParagraphBase from "@/core/ParagraphBase"; 5 | -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/plugins/cherry/types/core/hooks/Color.d.ts: -------------------------------------------------------------------------------- 1 | export default class Color extends SyntaxBase { 2 | toHtml(whole: any, leadingChar: any, m1: any, m2: any): string; 3 | } 4 | import SyntaxBase from "@/core/SyntaxBase"; 5 | -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/plugins/cherry/types/core/hooks/CommentReference.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * 脚注和引用语法 3 | * 示例: 4 | * 这里需要一个脚注[^脚注别名1],另外这里也需要一个脚注[^another]。 5 | * [^脚注别名1]: 无论脚注内容写在哪里,脚注的内容总会显示在页面最底部 6 | * 以两次回车结束 7 | * 8 | * [^another]: 另外,脚注里也可以使用一些简单的markdown语法 9 | * >比如 !!#ff0000 这里!!有一段**引用** 10 | */ 11 | export default class CommentReference extends ParagraphBase { 12 | constructor({ externals, config }: { 13 | externals: any; 14 | config: any; 15 | }); 16 | commentCache: {}; 17 | $cleanCache(): void; 18 | pushCommentReferenceCache(key: any, cache: any): void; 19 | getCommentReferenceCache(key: any): any; 20 | } 21 | import ParagraphBase from "@/core/ParagraphBase"; 22 | -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/plugins/cherry/types/core/hooks/Detail.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * +++(-) 点击查看详情 3 | * body 4 | * body 5 | * ++ 标题(默认收起内容) 6 | * 内容 7 | * ++- 标题(默认展开内容) 8 | * 内容2 9 | * +++ 10 | */ 11 | export default class Detail extends ParagraphBase { 12 | constructor(); 13 | $getDetailInfo(isOpen: any, title: any, str: any, sentenceMakeFunc: any): { 14 | type: string; 15 | html: string; 16 | }; 17 | $getDetailHtml(defaultOpen: any, title: any, str: any, sentenceMakeFunc: any): string; 18 | } 19 | import ParagraphBase from "@/core/ParagraphBase"; 20 | -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/plugins/cherry/types/core/hooks/Emphasis.d.ts: -------------------------------------------------------------------------------- 1 | export default class Emphasis extends SyntaxBase { 2 | constructor({ config }?: { 3 | config: any; 4 | }); 5 | allowWhitespace: boolean; 6 | } 7 | import SyntaxBase from "@/core/SyntaxBase"; 8 | -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/plugins/cherry/types/core/hooks/Footnote.d.ts: -------------------------------------------------------------------------------- 1 | export default class Footnote extends ParagraphBase { 2 | constructor({ externals, config }: { 3 | externals: any; 4 | config: any; 5 | }); 6 | footnoteCache: {}; 7 | footnoteMap: {}; 8 | footnote: any[]; 9 | $cleanCache(): void; 10 | pushFootnoteCache(key: any, cache: any): void; 11 | getFootnoteCache(key: any): any; 12 | pushFootNote(key: any, note: any): any; 13 | getFootNote(): any[]; 14 | formatFootNote(): string; 15 | } 16 | import ParagraphBase from "@/core/ParagraphBase"; 17 | -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/plugins/cherry/types/core/hooks/Header.d.ts: -------------------------------------------------------------------------------- 1 | export default class Header extends ParagraphBase { 2 | constructor({ externals, config }?: { 3 | config: any; 4 | externals: any; 5 | }); 6 | strict: boolean; 7 | headerIDCache: any[]; 8 | headerIDCounter: {}; 9 | config: any; 10 | $parseTitleText(html?: string): string; 11 | /** 12 | * refer: 13 | * @see https://github.com/vsch/flexmark-java/blob/8bf621924158dfed8b84120479c82704020a6927/flexmark 14 | * /src/main/java/com/vladsch/flexmark/html/renderer/HeaderIdGenerator.java#L90-L113 15 | * 16 | * @param {string} headerText 17 | * @param {boolean} [toLowerCase] 18 | * @returns 19 | */ 20 | $generateId(headerText: string, toLowerCase?: boolean): string; 21 | generateIDNoDup(headerText: any): string; 22 | $wrapHeader(text: any, level: any, dataLines: any, sentenceMakeFunc: any): { 23 | html: string; 24 | sign: string; 25 | }; 26 | $getAnchor(anchorID: any): string; 27 | } 28 | import ParagraphBase from "@/core/ParagraphBase"; 29 | -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/plugins/cherry/types/core/hooks/HighLight.d.ts: -------------------------------------------------------------------------------- 1 | export default class HighLight extends SyntaxBase { 2 | } 3 | import SyntaxBase from "../SyntaxBase.js"; 4 | -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/plugins/cherry/types/core/hooks/Hr.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * 分割线语法 3 | */ 4 | export default class Hr extends ParagraphBase { 5 | constructor(); 6 | } 7 | import ParagraphBase from "@/core/ParagraphBase"; 8 | -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/plugins/cherry/types/core/hooks/HtmlBlock.d.ts: -------------------------------------------------------------------------------- 1 | export default class HtmlBlock extends ParagraphBase { 2 | constructor(); 3 | isAutoLinkTag(tagMatch: any): boolean; 4 | isHtmlComment(match: any): boolean; 5 | /** 6 | * @property 7 | * @type {false | RegExp} 8 | */ 9 | htmlWhiteListAppend: false | RegExp; 10 | /** 11 | * @property 12 | * @type {string[]} 13 | */ 14 | htmlWhiteList: string[]; 15 | } 16 | import ParagraphBase from "@/core/ParagraphBase"; 17 | -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/plugins/cherry/types/core/hooks/Image.d.ts: -------------------------------------------------------------------------------- 1 | export default class Image extends SyntaxBase { 2 | constructor({ config, globalConfig }: { 3 | config: any; 4 | globalConfig: any; 5 | }); 6 | urlProcessor: any; 7 | extendMedia: { 8 | tag: string[]; 9 | replacer: { 10 | video(match: any, leadingChar: any, alt: any, link: any, title: any, poster: any): any; 11 | audio(match: any, leadingChar: any, alt: any, link: any, title: any, poster: any): any; 12 | }; 13 | }; 14 | toHtml(match: any, leadingChar: any, alt: any, link: any, title: any, ref: any, extendAttrs: any): any; 15 | toMediaHtml(match: any, leadingChar: any, mediaType: any, alt: any, link: any, title: any, ref: any, posterWrap: any, poster: any, ...args: any[]): any; 16 | testMedia(str: any): any; 17 | } 18 | import SyntaxBase from "@/core/SyntaxBase"; 19 | -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/plugins/cherry/types/core/hooks/InlineCode.d.ts: -------------------------------------------------------------------------------- 1 | export default class InlineCode extends ParagraphBase { 2 | } 3 | import ParagraphBase from "@/core/ParagraphBase"; 4 | -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/plugins/cherry/types/core/hooks/InlineMath.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * 行内公式的语法 3 | * 虽然叫做行内公式,Cherry依然将其视为“段落级语法”,因为其具备排他性并且需要优先渲染 4 | */ 5 | export default class InlineMath extends ParagraphBase { 6 | constructor({ config }: { 7 | config: any; 8 | }); 9 | /** @type {'katex' | 'MathJax' | 'node'} */ 10 | engine: 'katex' | 'MathJax' | 'node'; 11 | katex: any; 12 | MathJax: any; 13 | makeInlineMath(str: any): any; 14 | } 15 | import ParagraphBase from "@/core/ParagraphBase"; 16 | -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/plugins/cherry/types/core/hooks/Link.d.ts: -------------------------------------------------------------------------------- 1 | export default class Link extends SyntaxBase { 2 | constructor({ config, globalConfig }: { 3 | config: any; 4 | globalConfig: any; 5 | }); 6 | urlProcessor: any; 7 | openNewPage: any; 8 | /** 9 | * 校验link中text的方括号是否符合规则 10 | * @param {string} rawText 11 | */ 12 | checkBrackets(rawText: string): { 13 | isValid: boolean; 14 | coreText: string; 15 | extraLeadingChar: string; 16 | }; 17 | /** 18 | * 19 | * @param {string} match 匹配的完整字符串 20 | * @param {string} leadingChar 正则分组一:前置字符 21 | * @param {string} text 正则分组二:链接文字 22 | * @param {string|undefined} link 正则分组三:链接URL 23 | * @param {string|undefined} title 正则分组四:链接title 24 | * @param {string|undefined} ref 正则分组五:链接引用 25 | * @param {string|undefined} target 正则分组六:新窗口打开 26 | * @returns 27 | */ 28 | toHtml(match: string, leadingChar: string, text: string, link: string | undefined, title: string | undefined, ref: string | undefined, target: string | undefined): string; 29 | toStdMarkdown(match: any): any; 30 | } 31 | import SyntaxBase from "@/core/SyntaxBase"; 32 | -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/plugins/cherry/types/core/hooks/List.d.ts: -------------------------------------------------------------------------------- 1 | export function makeChecklist(text: any): any; 2 | export default class List extends ParagraphBase { 3 | constructor({ config }: { 4 | config: any; 5 | }); 6 | config: any; 7 | tree: any[]; 8 | emptyLines: number; 9 | indentSpace: number; 10 | addNode(node: any, current: any, parent: any, last: any): void; 11 | buildTree(html: any, sentenceMakeFunc: any): void; 12 | renderSubTree(node: any, children: any, type: any): string; 13 | renderTree(current: any): string; 14 | $getLineNum(str: any): any; 15 | } 16 | import ParagraphBase from "@/core/ParagraphBase"; 17 | -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/plugins/cherry/types/core/hooks/MathBlock.d.ts: -------------------------------------------------------------------------------- 1 | export default class MathBlock extends ParagraphBase { 2 | constructor({ config }: { 3 | config: any; 4 | }); 5 | /** 6 | * 块级公式语法 7 | * 该语法具有排他性,并且需要优先其他段落级语法进行渲染 8 | * @type {'katex' | 'MathJax' | 'node'} 9 | */ 10 | engine: 'katex' | 'MathJax' | 'node'; 11 | katex: any; 12 | MathJax: any; 13 | } 14 | import ParagraphBase from "@/core/ParagraphBase"; 15 | -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/plugins/cherry/types/core/hooks/Panel.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * 面板语法 3 | * 例: 4 | * :::tip 5 | * 这是一段提示信息 6 | * ::: 7 | * :::warning 8 | * 这是一段警告信息 9 | * ::: 10 | * :::danger 11 | * 这是一段危险信息 12 | * ::: 13 | */ 14 | export default class Panel extends ParagraphBase { 15 | constructor(options: any); 16 | $getPanelInfo(name: any, str: any, sentenceMakeFunc: any): { 17 | type: string; 18 | title: any; 19 | body: any; 20 | }; 21 | $getTitle(name: any): any; 22 | $getTargetType(name: any): "success" | "primary" | "info" | "warning" | "danger"; 23 | } 24 | import ParagraphBase from "@/core/ParagraphBase"; 25 | -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/plugins/cherry/types/core/hooks/Paragraph.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * 段落级语法 3 | * 段落级语法可以具备以下特性: 4 | * 1、排他性,可以排除将当前语法之后的所有段落语法 5 | * 2、可排序,在../HooksConfig.js里设置排序,顺序在前面的段落语法先渲染 6 | * 3、可嵌套行内语法 7 | * 8 | * 段落级语法有以下义务: 9 | * 1、维护签名,签名用来实现预览区域的局部更新功能 10 | * 2、维护行号,行号用来实现编辑区和预览区同步滚动 11 | * 每个段落语法负责计算上文的行号,上文行号不是0就是1,大于1会由BR语法计算行号 12 | */ 13 | export default class Paragraph extends ParagraphBase { 14 | constructor(options: any); 15 | } 16 | import ParagraphBase from "@/core/ParagraphBase"; 17 | -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/plugins/cherry/types/core/hooks/Ruby.d.ts: -------------------------------------------------------------------------------- 1 | export default class Ruby extends SyntaxBase { 2 | } 3 | import SyntaxBase from "@/core/SyntaxBase"; 4 | -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/plugins/cherry/types/core/hooks/Size.d.ts: -------------------------------------------------------------------------------- 1 | export default class Size extends SyntaxBase { 2 | toHtml(whole: any, m1: any, m2: any, m3: any): string; 3 | } 4 | import SyntaxBase from "@/core/SyntaxBase"; 5 | -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/plugins/cherry/types/core/hooks/Strikethrough.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * 删除线语法 3 | */ 4 | export default class Strikethrough extends SyntaxBase { 5 | constructor({ config }?: { 6 | config: any; 7 | }); 8 | needWhitespace: boolean; 9 | } 10 | import SyntaxBase from "@/core/SyntaxBase"; 11 | -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/plugins/cherry/types/core/hooks/Sub.d.ts: -------------------------------------------------------------------------------- 1 | export default class Sub extends SyntaxBase { 2 | toHtml(whole: any, leadingChar: any, m1: any): string; 3 | } 4 | import SyntaxBase from "@/core/SyntaxBase"; 5 | -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/plugins/cherry/types/core/hooks/Suggester.d.ts: -------------------------------------------------------------------------------- 1 | export default class Suggester extends SyntaxBase { 2 | constructor({ config }: { 3 | config: any; 4 | }); 5 | initConfig(config: any): void; 6 | suggester: {}; 7 | toHtml(wholeMatch: any, leadingChar: any, keyword: any, text: any): any; 8 | } 9 | import SyntaxBase from "@/core/SyntaxBase"; 10 | -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/plugins/cherry/types/core/hooks/Sup.d.ts: -------------------------------------------------------------------------------- 1 | export default class Sup extends SyntaxBase { 2 | toHtml(whole: any, leadingChar: any, m1: any): string; 3 | } 4 | import SyntaxBase from "@/core/SyntaxBase"; 5 | -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/plugins/cherry/types/core/hooks/Table.d.ts: -------------------------------------------------------------------------------- 1 | export default class Table extends ParagraphBase { 2 | constructor({ externals, config }: { 3 | externals: any; 4 | config: any; 5 | }); 6 | chartRenderEngine: any; 7 | $extendColumns(row: any, colCount: any): any; 8 | $parseChartOptions(cell: any): { 9 | type: any; 10 | options: any; 11 | }; 12 | $parseColumnAlignRules(row: any): { 13 | textAlignRules: any; 14 | COLUMN_ALIGN_MAP: { 15 | L: string; 16 | R: string; 17 | C: string; 18 | }; 19 | }; 20 | $parseTable(lines: any, sentenceMakeFunc: any, dataLines: any): { 21 | html: string; 22 | sign: any; 23 | }; 24 | /** 25 | * 如果table.head是空的,就不渲染了 26 | * @param {String} str 27 | * @returns {Boolean} 28 | */ 29 | $testHeadEmpty(str: string): boolean; 30 | $renderTable(COLUMN_ALIGN_MAP: any, tableHeader: any, tableRows: any, dataLines: any): { 31 | html: string; 32 | sign: any; 33 | }; 34 | } 35 | import ParagraphBase from "@/core/ParagraphBase"; 36 | -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/plugins/cherry/types/core/hooks/Transfer.d.ts: -------------------------------------------------------------------------------- 1 | export default class Transfer extends SyntaxBase { 2 | } 3 | import SyntaxBase from "../SyntaxBase.js"; 4 | -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/plugins/cherry/types/core/hooks/Underline.d.ts: -------------------------------------------------------------------------------- 1 | export default class Underline extends SyntaxBase { 2 | } 3 | import SyntaxBase from "@/core/SyntaxBase"; 4 | -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/plugins/cherry/types/index.core.d.ts: -------------------------------------------------------------------------------- 1 | export default Cherry; 2 | import SyntaxHookBase from "./core/SyntaxBase"; 3 | import MenuHookBase from "./toolbars/MenuBase"; 4 | import Cherry from "./Cherry"; 5 | export { SyntaxHookBase, MenuHookBase }; 6 | -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/plugins/cherry/types/index.d.ts: -------------------------------------------------------------------------------- 1 | export * from "./index.core"; 2 | export default Cherry; 3 | import Cherry from "./index.core"; 4 | -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/plugins/cherry/types/index.engine.core.d.ts: -------------------------------------------------------------------------------- 1 | export default CherryEngine; 2 | import SyntaxHookBase from "./core/SyntaxBase"; 3 | import MenuHookBase from "./toolbars/MenuBase"; 4 | declare class CherryEngine extends CherryStatic { 5 | /** 6 | * @private 7 | */ 8 | private static initialized; 9 | /** 10 | * @readonly 11 | */ 12 | static readonly config: { 13 | defaults: Partial; 14 | }; 15 | /** 16 | * 17 | * @param {any} options 18 | */ 19 | constructor(options: any); 20 | } 21 | import { CherryStatic } from "./CherryStatic"; 22 | export { SyntaxHookBase, MenuHookBase }; 23 | -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/plugins/cherry/types/index.engine.d.ts: -------------------------------------------------------------------------------- 1 | export * from "./index.engine.core"; 2 | export default CherryEngine; 3 | import CherryEngine from "./index.engine.core"; 4 | -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/plugins/cherry/types/libs/rawdeflate.d.ts: -------------------------------------------------------------------------------- 1 | export default deflate; 2 | declare function deflate(str: any, level: any): string; 3 | -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/plugins/cherry/types/locales/index.d.ts: -------------------------------------------------------------------------------- 1 | declare namespace _default { 2 | export { zhCn as zh_CN }; 3 | export { enUs as en_US }; 4 | } 5 | export default _default; 6 | import zhCn from "./zh_CN"; 7 | import enUs from "./en_US"; 8 | -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/plugins/cherry/types/toolbars/Bubble.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * 在编辑区域选中文本时浮现的bubble工具栏 3 | */ 4 | export default class Bubble extends Toolbar { 5 | /** 6 | * @type {'flex' | 'block'} 7 | */ 8 | static displayType: 'flex' | 'block'; 9 | set visible(arg: boolean); 10 | get visible(): boolean; 11 | bubbleDom: HTMLDivElement; 12 | editorDom: any; 13 | /** 14 | * 计算编辑区域的偏移量 15 | * @returns {number} 编辑区域的滚动区域 16 | */ 17 | getScrollTop(): number; 18 | /** 19 | * 当编辑区域滚动的时候自动隐藏bubble工具栏和子工具栏 20 | */ 21 | updatePositionWhenScroll(): void; 22 | /** 23 | * 根据高度计算bubble工具栏出现的位置的高度 24 | * 根据宽度计算bubble工具栏出现的位置的left值,以及bubble工具栏三角箭头的left值 25 | * @param {number} top 高度 26 | * @param {number} width 选中文本内容的宽度 27 | */ 28 | showBubble(top: number, width: number): void; 29 | hideBubble(): void; 30 | /** 31 | * 控制bubble工具栏的箭头的位置 32 | * @param {string} left 左偏移量 33 | */ 34 | $setBubbleCursorPosition(left?: string): void; 35 | initBubbleDom(): void; 36 | bubbleTop: HTMLDivElement; 37 | bubbleBottom: HTMLDivElement; 38 | getBubbleDom(): HTMLDivElement; 39 | addSelectionChangeListener(): void; 40 | } 41 | import Toolbar from "./Toolbar"; 42 | -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/plugins/cherry/types/toolbars/BubbleTable.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * 插入表格的辅助面板 3 | */ 4 | export default class BubbleTableMenu { 5 | constructor({ row, col }: { 6 | row: any; 7 | col: any; 8 | }, className: any); 9 | afterClick: (...args: any[]) => void; 10 | init(row: any, col: any, className: any): HTMLTableElement; 11 | dom: HTMLTableElement; 12 | cell: any[][]; 13 | maxRow: any; 14 | maxCol: any; 15 | activeRow: any; 16 | activeCol: any; 17 | initEventListeners(): void; 18 | setActiveCell(row: any, col: any): void; 19 | handleMouseMove(event: any): void; 20 | handleMouseUp(event: any): void; 21 | show(callback: any): void; 22 | hide(): void; 23 | } 24 | -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/plugins/cherry/types/toolbars/FloatMenu.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * 当光标处于编辑器新行起始位置时出现的浮动工具栏 3 | */ 4 | export default class FloatMenu extends Toolbar { 5 | editor: any; 6 | editorDom: any; 7 | initAction(): void; 8 | update(evt: any, codeMirror: any): boolean; 9 | /** 10 | * 当光标激活时触发,当光标处于行起始位置时展示float工具栏;反之隐藏 11 | * @param {Event} evt 12 | * @param {CodeMirror.Editor} codeMirror 13 | * @returns 14 | */ 15 | cursorActivity(evt: Event, codeMirror: CodeMirror.Editor): boolean; 16 | /** 17 | * 判断是否需要隐藏Float工具栏 18 | * 有选中内容,或者光标所在行有内容时隐藏float 工具栏 19 | * @param {number} line 20 | * @param {CodeMirror.Editor} codeMirror 21 | * @returns {boolean} 是否需要隐藏float工具栏,true:需要隐藏 22 | */ 23 | isHidden(line: number, codeMirror: CodeMirror.Editor): boolean; 24 | /** 25 | * 获取对应行的行高度,用来让float 工具栏在该行保持垂直居中 26 | * @param {number} line 27 | * @param {CodeMirror.Editor} codeMirror 28 | * @returns 29 | */ 30 | getLineHeight(line: number, codeMirror: CodeMirror.Editor): number; 31 | } 32 | import Toolbar from "./Toolbar"; 33 | -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/plugins/cherry/types/toolbars/HookCenter.d.ts: -------------------------------------------------------------------------------- 1 | export default class HookCenter { 2 | constructor(toolbar: any); 3 | toolbar: any; 4 | /** 5 | * @type {{[key: string]: import('@/toolbars/MenuBase').default}} 保存所有菜单实例 6 | */ 7 | hooks: { 8 | [key: string]: import("@/toolbars/MenuBase").default; 9 | }; 10 | /** 11 | * @type {string[]} 所有注册的菜单名称 12 | */ 13 | allMenusName: string[]; 14 | /** 15 | * @type {string[]} 一级菜单的名称 16 | */ 17 | level1MenusName: string[]; 18 | /** 19 | * @type {{ [parentName: string]: string[]}} 二级菜单的名称, e.g. {一级菜单名称: [二级菜单名称1, 二级菜单名称2]} 20 | */ 21 | level2MenusName: { 22 | [parentName: string]: string[]; 23 | }; 24 | $newMenu(name: any): void; 25 | /** 26 | * 根据配置动态渲染、绑定工具栏 27 | * @returns 28 | */ 29 | init(): void; 30 | } 31 | -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/plugins/cherry/types/toolbars/Sidebar.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * 预览区域右侧悬浮的工具栏 3 | * 推荐放置跟编辑区域完全无关的工具栏 4 | * 比如复制预览区域内容、修改预览区域主题等 5 | */ 6 | export default class Sidebar extends Toolbar { 7 | } 8 | import Toolbar from "./Toolbar"; 9 | -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/plugins/cherry/types/toolbars/hooks/Audio.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * 插入音频 3 | */ 4 | export default class Audio extends MenuBase { 5 | constructor($cherry: any); 6 | } 7 | import MenuBase from "@/toolbars/MenuBase"; 8 | -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/plugins/cherry/types/toolbars/hooks/BarTable.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * 插入柱状图图+表格 3 | */ 4 | export default class BrTable extends MenuBase { 5 | constructor($cherry: any); 6 | } 7 | import MenuBase from "@/toolbars/MenuBase"; 8 | -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/plugins/cherry/types/toolbars/hooks/Bold.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * 加粗按钮 3 | */ 4 | export default class Bold extends MenuBase { 5 | constructor($cherry: any); 6 | /** 7 | * 是不是包含加粗语法 8 | * @param {String} selection 9 | * @returns {Boolean} 10 | */ 11 | $testIsBold(selection: string): boolean; 12 | } 13 | import MenuBase from "@/toolbars/MenuBase"; 14 | -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/plugins/cherry/types/toolbars/hooks/Br.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * 插入换行 3 | */ 4 | export default class Br extends MenuBase { 5 | constructor($cherry: any); 6 | } 7 | import MenuBase from "@/toolbars/MenuBase"; 8 | -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/plugins/cherry/types/toolbars/hooks/CheckList.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * 下标的按钮 3 | **/ 4 | export default class Checklist extends MenuBase { 5 | constructor($cherry: any); 6 | } 7 | import MenuBase from "@/toolbars/MenuBase"; 8 | -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/plugins/cherry/types/toolbars/hooks/Code.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * 插入代码块的按钮 3 | */ 4 | export default class Code extends MenuBase { 5 | constructor($cherry: any); 6 | } 7 | import MenuBase from "@/toolbars/MenuBase"; 8 | -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/plugins/cherry/types/toolbars/hooks/CodeTheme.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * 设置代码块的主题 3 | * 本功能依赖[prism组件](https://github.com/PrismJS/prism) 4 | */ 5 | export default class CodeTheme extends MenuBase { 6 | constructor($cherry: any); 7 | } 8 | import MenuBase from "@/toolbars/MenuBase"; 9 | -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/plugins/cherry/types/toolbars/hooks/Color.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * 插入字体颜色或者字体背景颜色的按钮 3 | */ 4 | export default class Color extends MenuBase { 5 | constructor($cherry: any); 6 | bubbleColor: BubbleColor; 7 | $testIsColor(type: any, selection: any): boolean; 8 | } 9 | import MenuBase from "@/toolbars/MenuBase"; 10 | /** 11 | * 调色盘 12 | */ 13 | declare class BubbleColor { 14 | constructor($cherry: any); 15 | editor: any; 16 | /** 17 | * 定义调色盘每个色块的颜色值 18 | */ 19 | colorStack: string[]; 20 | /** 21 | * 用来暂存选中的内容 22 | * @param {string} selection 编辑区选中的文本内容 23 | */ 24 | setSelection(selection: string): void; 25 | selection: string; 26 | getFontColorDom(title: any): string; 27 | getDom(): HTMLDivElement; 28 | init(): void; 29 | dom: HTMLDivElement; 30 | onClick(): string; 31 | initAction(): void; 32 | colorValue: string; 33 | type: string; 34 | /** 35 | * 在对应的坐标展示调色盘 36 | * @param {Object} 坐标 37 | */ 38 | show({ left, top, $color }: any): void; 39 | $color: any; 40 | } 41 | export {}; 42 | -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/plugins/cherry/types/toolbars/hooks/Copy.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * 复制按钮,用来复制预览区的html内容 3 | * 该操作会将预览区的css样式以行内样式的形式插入到html内容里,从而保证粘贴时样式一致 4 | */ 5 | export default class Copy extends MenuBase { 6 | constructor($cherry: any); 7 | previewer: any; 8 | isLoading: boolean; 9 | adaptWechat(rawHtml: any): Promise; 10 | getStyleFromSheets(keyword: any): string; 11 | computeStyle(): { 12 | mathStyle: string; 13 | echartStyle: string; 14 | cherryStyle: string; 15 | }; 16 | /** 17 | * 由于复制操作会随着预览区域的内容增加而耗时变长,所以需要增加“正在复制”的状态回显 18 | * 同时该状态也用于限频 19 | */ 20 | toggleLoading(): void; 21 | } 22 | import MenuBase from "@/toolbars/MenuBase"; 23 | -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/plugins/cherry/types/toolbars/hooks/Detail.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * 插入手风琴 3 | */ 4 | export default class Detail extends MenuBase { 5 | constructor($cherry: any); 6 | detailRule: any; 7 | } 8 | import MenuBase from "@/toolbars/MenuBase"; 9 | -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/plugins/cherry/types/toolbars/hooks/DrawIo.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * 打开draw.io画图对话框,点击确定后向编辑器插入图片语法 3 | */ 4 | export default class DrawIo extends MenuBase { 5 | constructor($cherry: any); 6 | drawioIframeUrl: any; 7 | } 8 | import MenuBase from "@/toolbars/MenuBase"; 9 | -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/plugins/cherry/types/toolbars/hooks/Export.d.ts: -------------------------------------------------------------------------------- 1 | export default class Export extends MenuBase { 2 | constructor($cherry: any); 3 | } 4 | import MenuBase from "@/toolbars/MenuBase"; 5 | -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/plugins/cherry/types/toolbars/hooks/File.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * 插入pdf 3 | */ 4 | export default class File extends MenuBase { 5 | constructor($cherry: any); 6 | } 7 | import MenuBase from "@/toolbars/MenuBase"; 8 | -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/plugins/cherry/types/toolbars/hooks/Formula.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * 插入行内公式 3 | */ 4 | export default class Formula extends MenuBase { 5 | constructor($cherry: any); 6 | } 7 | import MenuBase from "@/toolbars/MenuBase"; 8 | -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/plugins/cherry/types/toolbars/hooks/FullScreen.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * 全屏按钮 3 | */ 4 | export default class FullScreen extends MenuBase { 5 | constructor($cherry: any); 6 | } 7 | import MenuBase from "@/toolbars/MenuBase"; 8 | -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/plugins/cherry/types/toolbars/hooks/Graph.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * 插入“画图”的按钮 3 | * 本功能依赖[Mermaid.js](https://mermaid-js.github.io)组件,请保证调用CherryMarkdown前已加载mermaid.js组件 4 | */ 5 | export default class Graph extends MenuBase { 6 | constructor($cherry: any); 7 | /** 8 | * 画图的markdown源码模版 9 | * @param {string} type 画图的类型 10 | * @returns 11 | */ 12 | $getSampleCode(type: string): any; 13 | } 14 | import MenuBase from "@/toolbars/MenuBase"; 15 | -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/plugins/cherry/types/toolbars/hooks/H1.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * 插入1级标题 3 | */ 4 | export default class H1 extends MenuBase { 5 | constructor($cherry: any); 6 | $testIsHead(selection: any): boolean; 7 | } 8 | import MenuBase from "@/toolbars/MenuBase"; 9 | -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/plugins/cherry/types/toolbars/hooks/H2.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * 插入2级标题 3 | */ 4 | export default class H2 extends MenuBase { 5 | constructor($cherry: any); 6 | $testIsHead(selection: any): boolean; 7 | } 8 | import MenuBase from "@/toolbars/MenuBase"; 9 | -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/plugins/cherry/types/toolbars/hooks/H3.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * 插入3级标题 3 | */ 4 | export default class H3 extends MenuBase { 5 | constructor($cherry: any); 6 | $testIsHead(selection: any): boolean; 7 | } 8 | import MenuBase from "@/toolbars/MenuBase"; 9 | -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/plugins/cherry/types/toolbars/hooks/Header.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * 插入1级~5级标题 3 | */ 4 | export default class Header extends MenuBase { 5 | constructor($cherry: any); 6 | /** 7 | * 解析快捷键,判断插入的标题级别 8 | * @param {string} shortKey 快捷键 9 | * @returns 10 | */ 11 | $getFlagStr(shortKey: string): string; 12 | $testIsHead(selection: any): boolean; 13 | } 14 | import MenuBase from "@/toolbars/MenuBase"; 15 | -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/plugins/cherry/types/toolbars/hooks/Hr.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * 插入分割线 3 | */ 4 | export default class Hr extends MenuBase { 5 | constructor($cherry: any); 6 | } 7 | import MenuBase from "@/toolbars/MenuBase"; 8 | -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/plugins/cherry/types/toolbars/hooks/Image.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * 插入图片 3 | */ 4 | export default class Image extends MenuBase { 5 | constructor($cherry: any); 6 | } 7 | import MenuBase from "@/toolbars/MenuBase"; 8 | -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/plugins/cherry/types/toolbars/hooks/Insert.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * "插入"按钮 3 | */ 4 | export default class Insert extends MenuBase { 5 | constructor($cherry: any); 6 | subBubbleTableMenu: BubbleTableMenu; 7 | /** 8 | * 上传文件的逻辑 9 | * @param {string} type 上传文件的类型 10 | */ 11 | handleUpload(type?: string): void; 12 | } 13 | import MenuBase from "@/toolbars/MenuBase"; 14 | import BubbleTableMenu from "@/toolbars/BubbleTable"; 15 | -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/plugins/cherry/types/toolbars/hooks/Italic.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * 插入斜体的按钮 3 | */ 4 | export default class Italic extends MenuBase { 5 | constructor($cherry: any); 6 | /** 7 | * 是不是包含加粗语法 8 | * @param {String} selection 9 | * @returns {Boolean} 10 | */ 11 | $testIsItalic(selection: string): boolean; 12 | } 13 | import MenuBase from "@/toolbars/MenuBase"; 14 | -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/plugins/cherry/types/toolbars/hooks/LineTable.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * 插入折线图+表格 3 | */ 4 | export default class LineTable extends MenuBase { 5 | constructor($cherry: any); 6 | } 7 | import MenuBase from "@/toolbars/MenuBase"; 8 | -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/plugins/cherry/types/toolbars/hooks/Link.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * 插入超链接 3 | */ 4 | export default class Link extends MenuBase { 5 | constructor($cherry: any); 6 | } 7 | import MenuBase from "@/toolbars/MenuBase"; 8 | -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/plugins/cherry/types/toolbars/hooks/List.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * 插入有序/无序/checklist列表的按钮 3 | */ 4 | export default class List extends MenuBase { 5 | constructor($cherry: any); 6 | } 7 | import MenuBase from "@/toolbars/MenuBase"; 8 | -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/plugins/cherry/types/toolbars/hooks/MobilePreview.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * 预览区域切换到“移动端视图”的按钮 3 | */ 4 | export default class MobilePreview extends MenuBase { 5 | constructor($cherry: any); 6 | previewer: any; 7 | } 8 | import MenuBase from "@/toolbars/MenuBase"; 9 | -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/plugins/cherry/types/toolbars/hooks/Ol.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * 下标的按钮 3 | **/ 4 | export default class Ol extends MenuBase { 5 | constructor($cherry: any); 6 | } 7 | import MenuBase from "@/toolbars/MenuBase"; 8 | -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/plugins/cherry/types/toolbars/hooks/Panel.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * 插入面板 3 | */ 4 | export default class Panel extends MenuBase { 5 | constructor($cherry: any); 6 | panelRule: any; 7 | /** 8 | * 从字符串中找打面板的name 9 | * @param {string} str 10 | * @returns {string | false} 11 | */ 12 | $getNameFromStr(str: string): string | false; 13 | $getTitle(str: any): string; 14 | } 15 | import MenuBase from "@/toolbars/MenuBase"; 16 | -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/plugins/cherry/types/toolbars/hooks/Pdf.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * 插入pdf 3 | */ 4 | export default class Pdf extends MenuBase { 5 | constructor($cherry: any); 6 | } 7 | import MenuBase from "@/toolbars/MenuBase"; 8 | -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/plugins/cherry/types/toolbars/hooks/QuickTable.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * 插入“简单表格”的按钮 3 | * 所谓简单表格,是源于[TAPD](https://tapd.cn) wiki应用里的一种表格语法 4 | * 该表格语法不是markdown通用语法,请慎用 5 | */ 6 | export default class QuickTable extends MenuBase { 7 | constructor($cherry: any); 8 | } 9 | import MenuBase from "@/toolbars/MenuBase"; 10 | -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/plugins/cherry/types/toolbars/hooks/Quote.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * 插入“引用”的按钮 3 | */ 4 | export default class Quote extends MenuBase { 5 | constructor($cherry: any); 6 | } 7 | import MenuBase from "@/toolbars/MenuBase"; 8 | -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/plugins/cherry/types/toolbars/hooks/Redo.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * 撤销/重做 里的“重做”按键 3 | * 依赖codemirror的undo接口 4 | */ 5 | export default class Redo extends MenuBase { 6 | constructor($cherry: any); 7 | } 8 | import MenuBase from "@/toolbars/MenuBase"; 9 | -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/plugins/cherry/types/toolbars/hooks/Ruby.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * 生成ruby,使用场景:给中文增加拼音、给中文增加英文、给英文增加中文等等 3 | */ 4 | export default class Ruby extends MenuBase { 5 | constructor($cherry: any); 6 | $testIsRuby(selection: any): boolean; 7 | } 8 | import MenuBase from "@/toolbars/MenuBase"; 9 | -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/plugins/cherry/types/toolbars/hooks/Settings.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * 设置按钮 3 | */ 4 | export default class Settings extends MenuBase { 5 | /** 6 | * TODO: 需要优化参数传入方式 7 | */ 8 | constructor($cherry: any); 9 | engine: any; 10 | instanceId: any; 11 | shortcutKeyMaps: { 12 | shortKey: string; 13 | shortcutKey: string; 14 | }[]; 15 | /** 16 | * 切换预览按钮 17 | * @param {boolean} isOpen 预览模式是否打开 18 | */ 19 | togglePreviewBtn(isOpen: boolean): void; 20 | /** 21 | * 绑定预览事件 22 | */ 23 | attachEventListeners(): void; 24 | /** 25 | * 解析快捷键 26 | * @param {string} shortcutKey 快捷键 27 | * @returns 28 | */ 29 | matchShortcutKey(shortcutKey: string): string; 30 | /** 31 | * 切换Toolbar显示状态 32 | */ 33 | toggleToolbar(): void; 34 | } 35 | import MenuBase from "@/toolbars/MenuBase"; 36 | -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/plugins/cherry/types/toolbars/hooks/Size.d.ts: -------------------------------------------------------------------------------- 1 | export default class Size extends MenuBase { 2 | constructor($cherry: any); 3 | shortKeyMap: { 4 | 'Alt-1': string; 5 | 'Alt-2': string; 6 | 'Alt-3': string; 7 | 'Alt-4': string; 8 | }; 9 | _getFlagStr(shortKey: any): string; 10 | $testIsSize(selection: any): boolean; 11 | $getSizeByShortKey(shortKey: any): any; 12 | } 13 | import MenuBase from "@/toolbars/MenuBase"; 14 | -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/plugins/cherry/types/toolbars/hooks/Split.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * 工具栏里的分割线,用来切分不同类型按钮的区域 3 | * 一个实例中可以配置多个分割线 4 | */ 5 | export default class Split extends MenuBase { 6 | constructor($cherry: any); 7 | } 8 | import MenuBase from "@/toolbars/MenuBase"; 9 | -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/plugins/cherry/types/toolbars/hooks/Strikethrough.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * 删除线的按钮 3 | */ 4 | export default class Strikethrough extends MenuBase { 5 | constructor($cherry: any); 6 | $testIsStrike(selection: any): boolean; 7 | } 8 | import MenuBase from "@/toolbars/MenuBase"; 9 | -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/plugins/cherry/types/toolbars/hooks/Sub.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * 下标的按钮 3 | **/ 4 | export default class Sub extends MenuBase { 5 | constructor($cherry: any); 6 | $testIsSub(selection: any): boolean; 7 | } 8 | import MenuBase from "@/toolbars/MenuBase"; 9 | -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/plugins/cherry/types/toolbars/hooks/Sup.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * 上标的按钮 3 | **/ 4 | export default class Sup extends MenuBase { 5 | constructor($cherry: any); 6 | $testIsSup(selection: any): boolean; 7 | } 8 | import MenuBase from "@/toolbars/MenuBase"; 9 | -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/plugins/cherry/types/toolbars/hooks/SwitchModel.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * 切换预览/编辑模式的按钮 3 | * 该按钮不支持切换到双栏编辑模式 4 | * 只能切换成纯编辑模式和纯预览模式 5 | **/ 6 | export default class SwitchModel extends MenuBase { 7 | constructor($cherry: any); 8 | instanceId: any; 9 | attachEventListeners(): void; 10 | } 11 | import MenuBase from "@/toolbars/MenuBase"; 12 | -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/plugins/cherry/types/toolbars/hooks/Table.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * 插入普通表格 3 | */ 4 | export default class Table extends MenuBase { 5 | constructor($cherry: any); 6 | subBubbleTableMenu: BubbleTableMenu; 7 | catchOnce: string; 8 | } 9 | import MenuBase from "@/toolbars/MenuBase"; 10 | import BubbleTableMenu from "@/toolbars/BubbleTable"; 11 | -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/plugins/cherry/types/toolbars/hooks/Theme.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * 修改主题 3 | */ 4 | export default class Theme extends MenuBase { 5 | constructor($cherry: any); 6 | } 7 | import MenuBase from "@/toolbars/MenuBase"; 8 | -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/plugins/cherry/types/toolbars/hooks/Toc.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * 插入目录 3 | */ 4 | export default class Toc extends MenuBase { 5 | constructor($cherry: any); 6 | } 7 | import MenuBase from "@/toolbars/MenuBase"; 8 | -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/plugins/cherry/types/toolbars/hooks/TogglePreview.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * 关闭/展示预览区域的按钮 3 | */ 4 | export default class TogglePreview extends MenuBase { 5 | constructor($cherry: any); 6 | /** @type {boolean} 当前预览状态 */ 7 | $previewerHidden: boolean; 8 | instanceId: any; 9 | /** 10 | * 绑定预览事件 11 | */ 12 | attachEventListeners(): void; 13 | set isHidden(arg: boolean); 14 | get isHidden(): boolean; 15 | } 16 | import MenuBase from "@/toolbars/MenuBase"; 17 | -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/plugins/cherry/types/toolbars/hooks/Ul.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * 下标的按钮 3 | **/ 4 | export default class Ul extends MenuBase { 5 | constructor($cherry: any); 6 | } 7 | import MenuBase from "@/toolbars/MenuBase"; 8 | -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/plugins/cherry/types/toolbars/hooks/Underline.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * 下划线按钮 3 | **/ 4 | export default class Underline extends MenuBase { 5 | constructor($cherry: any); 6 | $testIsUnderline(selection: any): boolean; 7 | } 8 | import MenuBase from "@/toolbars/MenuBase"; 9 | -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/plugins/cherry/types/toolbars/hooks/Undo.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * 撤销回退按钮,点击后触发编辑器的undo操作 3 | * 依赖codemirror的undo接口 4 | **/ 5 | export default class Undo extends MenuBase { 6 | constructor($cherry: any); 7 | } 8 | import MenuBase from "@/toolbars/MenuBase"; 9 | -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/plugins/cherry/types/toolbars/hooks/Video.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * 插入视频 3 | */ 4 | export default class Video extends MenuBase { 5 | constructor($cherry: any); 6 | } 7 | import MenuBase from "@/toolbars/MenuBase"; 8 | -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/plugins/cherry/types/toolbars/hooks/Word.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * 插入word 3 | */ 4 | export default class Word extends MenuBase { 5 | constructor($cherry: any); 6 | } 7 | import MenuBase from "@/toolbars/MenuBase"; 8 | -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/plugins/cherry/types/utils/copy.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (C) 2021 THL A29 Limited, a Tencent company. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | /** 17 | * 复制内容到剪贴板 18 | * @returns null 19 | */ 20 | export function copyToClip(str: any): void; 21 | -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/plugins/cherry/types/utils/dialog.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * draw.io的对话框 3 | * @param {string} xml draw.io的xml格式的字符串数据 4 | * @param {*} callback 回调 5 | */ 6 | export function drawioDialog(iframeSrc?: string, xml?: string, callback?: any): void; 7 | -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/plugins/cherry/types/utils/dom.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * 用于解决块级元素边距合并问题 3 | * @param {HTMLElement} element 4 | */ 5 | export function getBlockTopAndHeightWithMargin(element: HTMLElement): { 6 | height: number; 7 | offsetTop: number; 8 | }; 9 | /** 10 | * document.elementsFromPoint polyfill 11 | * ref: https://github.com/JSmith01/elementsfrompoint-polyfill/blob/master/index.js 12 | * @param {number} x 13 | * @param {number} y 14 | */ 15 | export function elementsFromPoint(x: number, y: number): any; 16 | export function getHTML(who: any, deep: any): string; 17 | /** 18 | * @template {keyof HTMLElementTagNameMap} K 19 | * @param {K} tagName 标签名 20 | * @param {string} className 元素类名 21 | * @param {Record} attributes 附加属性 22 | * @returns {HTMLElementTagNameMap[K]} 23 | */ 24 | export function createElement(tagName: K, className?: string, attributes?: Record): HTMLElementTagNameMap[K]; 25 | -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/plugins/cherry/types/utils/env.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (C) 2021 THL A29 Limited, a Tencent company. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | /** 17 | * 判断当前是否浏览器环境 18 | * @returns 19 | */ 20 | export function isBrowser(): boolean; 21 | -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/plugins/cherry/types/utils/error.d.ts: -------------------------------------------------------------------------------- 1 | export function $expectTarget(target: any, Constructor: any): boolean; 2 | export function $expectInherit(target: any, parent: any): boolean; 3 | export function $expectInstance(target: any): boolean; 4 | export default class NestedError extends Error { 5 | constructor(message: any, nested: any); 6 | buildStackTrace(nested: any): any; 7 | } 8 | -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/plugins/cherry/types/utils/event.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (C) 2021 THL A29 Limited, a Tencent company. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | export function addEvent(elm: any, evType: any, fn: any, useCapture: any): any; 17 | export function removeEvent(elm: any, evType: any, fn: any, useCapture: any): any; 18 | -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/plugins/cherry/types/utils/export.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * 利用window.print导出成PDF 3 | * @param {HTMLElement} previeweDom 预览区域的dom 4 | */ 5 | export function exportPDF(previeweDom: HTMLElement): void; 6 | /** 7 | * 利用canvas将html内容导出成图片 8 | * @param {HTMLElement} previeweDom 预览区域的dom 9 | */ 10 | export function exportScreenShot(previeweDom: HTMLElement): void; 11 | /** 12 | * 导出 markdown 文件 13 | * @param {String} markdownText markdown文本 14 | */ 15 | export function exportMarkdownFile(markdownText: string): void; 16 | /** 17 | * 导出预览区 HTML 文件 18 | * @param {String} HTMLText HTML文本 19 | */ 20 | export function exportHTMLFile(HTMLText: string): void; 21 | -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/plugins/cherry/types/utils/file.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (C) 2021 THL A29 Limited, a Tencent company. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | /** 17 | * 上传文件的逻辑,如果有callback,则不再走默认的替换文本的逻辑,而是调用callback 18 | * @param {string} type 上传文件的类型 19 | */ 20 | export function handleUpload(editor: any, type?: string, accept?: string, callback?: any): void; 21 | /** 22 | * 解析params参数 23 | * @param params?.isBorder 是否有边框样式(图片场景下生效) 24 | * @param params?.isShadow 是否有阴影样式(图片场景下生效) 25 | * @param params?.isRadius 是否有圆角样式(图片场景下生效) 26 | * @param params?.width 设置宽度,可以是像素、也可以是百分比(图片、视频场景下生效) 27 | * @param params?.height 设置高度,可以是像素、也可以是百分比(图片、视频场景下生效) 28 | */ 29 | export function handelParams(params: any): string; 30 | -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/plugins/cherry/types/utils/image.d.ts: -------------------------------------------------------------------------------- 1 | export default imgAltHelper; 2 | declare namespace imgAltHelper { 3 | /** 4 | * 提取alt部分的扩展属性 5 | * @param {string} alt 图片引用中的alt部分 6 | * @returns 7 | */ 8 | function processExtendAttributesInAlt(alt: string): string; 9 | /** 10 | * 提取alt部分的扩展属性 11 | * @param {string} alt 图片引用中的alt部分 12 | * @returns 13 | */ 14 | function processExtendAttributesInAlt(alt: string): string; 15 | /** 16 | * 提取alt部分的扩展样式 17 | * @param {string} alt 图片引用中的alt部分 18 | * @returns {{extendStyles:string, extendClasses:string}} 19 | */ 20 | function processExtendStyleInAlt(alt: string): { 21 | extendStyles: string; 22 | extendClasses: string; 23 | }; 24 | /** 25 | * 提取alt部分的扩展样式 26 | * @param {string} alt 图片引用中的alt部分 27 | * @returns {{extendStyles:string, extendClasses:string}} 28 | */ 29 | function processExtendStyleInAlt(alt: string): { 30 | extendStyles: string; 31 | extendClasses: string; 32 | }; 33 | /** 34 | * 从alt中提取对齐方式信息 35 | * @param {string} alt 36 | * @returns {string} 37 | */ 38 | function $getAlignment(alt: string): string; 39 | /** 40 | * 从alt中提取对齐方式信息 41 | * @param {string} alt 42 | * @returns {string} 43 | */ 44 | function $getAlignment(alt: string): string; 45 | } 46 | -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/plugins/cherry/types/utils/lineFeed.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (C) 2021 THL A29 Limited, a Tencent company. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | /** 17 | * 为段落前加换行符 18 | * @param {string} match 匹配全文 19 | * @param {string} processedContent 加入的内容 20 | */ 21 | export function prependLineFeedForParagraph(match: string, processedContent: string, canNestedInList?: boolean): string; 22 | /** 23 | * 计算段落所占行数,必须传入通过 prependLineFeedForParagraph 方法处理后的内容,才能计算准确 24 | * @param {string} preLinesMatch 前置匹配行 25 | * @param {number} contentLines 实际内容行数 26 | */ 27 | export function calculateLinesOfParagraph(preLinesMatch: string, contentLines: number): number; 28 | -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/plugins/cherry/types/utils/lookbehind-replace.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * @param {string} str 原始字符串 3 | * @param {RegExp} regex 正则 4 | * @param {(...args: any[])=>string} replacer 字符串替换函数 5 | * @param {boolean} [continuousMatch=false] 是否连续匹配,主要用于需要后向断言的连续语法匹配 6 | * @param {number} [rollbackLength=1] 连续匹配时,每次指针回退的长度,默认为 1 7 | */ 8 | export function replaceLookbehind(str: string, regex: RegExp, replacer: (...args: any[]) => string, continuousMatch?: boolean, rollbackLength?: number): string; 9 | -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/plugins/cherry/types/utils/mathjax.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * 装饰器,挂载对应的模块到实例上 3 | */ 4 | export function LoadMathModule(): void; 5 | export class LoadMathModule { 6 | katex: any; 7 | MathJax: any; 8 | } 9 | export function configureMathJax(usePlugins: any): void; 10 | export function escapeFormulaPunctuations(formula: any): any; 11 | declare var _default: {}; 12 | export default _default; 13 | -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/plugins/cherry/types/utils/myersDiff.d.ts: -------------------------------------------------------------------------------- 1 | export default class MyersDiff { 2 | constructor(newObj: any, oldObj: any, getElement: any); 3 | options: { 4 | newObj: any; 5 | oldObj: any; 6 | getElement: any; 7 | }; 8 | /** 9 | * 执行diff操作 10 | */ 11 | doDiff(): any[]; 12 | /** 13 | * 用于判断列表/字符串元素是否相等的判据函数 14 | */ 15 | getElement(obj: any, index: any): any; 16 | /** 17 | * 寻找从起点到终点的折线 18 | */ 19 | findSnakes(newObj: any, oldObj: any): { 20 | xStart: any; 21 | xMid: any; 22 | xEnd: any; 23 | }[]; 24 | /** 25 | * 回溯,找出关键路径对应的折线 26 | */ 27 | $backtraceSnakes(allSnakes: any, newLen: any, oldLen: any, d: any): { 28 | xStart: any; 29 | xMid: any; 30 | xEnd: any; 31 | }[]; 32 | /** 33 | * 组装出返回值 34 | */ 35 | assembleResult(snakes: any, newObj: any, oldObj: any): any[]; 36 | } 37 | -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/plugins/cherry/types/utils/recount-pos.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * 更新内容时保持光标不变 3 | * @param {Number} pos 光标相对文档开头的偏移量 4 | * @param {String} oldContent 变更前的内容 5 | * @param {String} newContent 变更后的内容 6 | * @returns {Number} newPos 新的光标偏移量 7 | */ 8 | export default function getPosBydiffs(pos: number, oldContent: string, newContent: string): number; 9 | -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/plugins/cherry/types/utils/sanitize.d.ts: -------------------------------------------------------------------------------- 1 | export function escapeHTMLEntitiesWithoutSemicolon(content: any): string; 2 | export function escapeHTMLSpecialChar(content: any, enableQuote: any): string; 3 | export function unescapeHTMLSpecialChar(content: any): string; 4 | export function escapeHTMLSpecialCharOnce(content: any, enableQuote: any): string; 5 | export function convertHTMLNumberToName(html: any): any; 6 | export function unescapeHTMLNumberEntities(html: any): any; 7 | export function unescapeHTMLHexEntities(html: any): any; 8 | export function isValidScheme(url: any): boolean; 9 | /** 10 | * ref: https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/encodeURIComponent 11 | * RFC3986 encodeURIComponent 12 | * @param {string} str 13 | */ 14 | export function encodeURIComponentRFC3986(str: string): string; 15 | /** 16 | * ref: https://stackoverflow.com/questions/9245333/should-encodeuri-ever-be-used 17 | * @param {string} str 18 | */ 19 | export function encodeURIOnce(str: string): string; 20 | export const blockNames: string; 21 | export const inlineNames: string; 22 | export const inlineBlock: "br|img|hr"; 23 | export const whiteList: RegExp; 24 | -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/plugins/cherry/types/utils/selection.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (C) 2021 THL A29 Limited, a Tencent company. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | /** 17 | * 获取用户选中的文本内容,如果没有选中文本,则返回光标所在的位置的内容 18 | * @param {Object} cm Codemirror实例 19 | * @param {string} selection 当前选中的文本内容 20 | * @param {string} type 'line': 当没有选择文本时,获取光标所在行的内容; 'word': 当没有选择文本时,获取光标所在单词的内容 21 | * @param {boolean} focus true;强行选中光标处的内容,否则只获取选中的内容 22 | * @returns {string} 23 | */ 24 | export function getSelection(cm: any, selection: string, type?: string, focus?: boolean): string; 25 | -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/semantic-ui/components/breadcrumb.min.css: -------------------------------------------------------------------------------- 1 | /*! 2 | * # Semantic UI 2.5.0 - Breadcrumb 3 | * http://github.com/semantic-org/semantic-ui/ 4 | * 5 | * 6 | * Released under the MIT license 7 | * http://opensource.org/licenses/MIT 8 | * 9 | */.ui.breadcrumb{line-height:1;display:inline-block;margin:0 0;vertical-align:middle}.ui.breadcrumb:first-child{margin-top:0}.ui.breadcrumb:last-child{margin-bottom:0}.ui.breadcrumb .divider{display:inline-block;opacity:.7;margin:0 .21428571rem 0;font-size:.92857143em;color:rgba(0,0,0,.4);vertical-align:baseline}.ui.breadcrumb a{color:#4183c4}.ui.breadcrumb a:hover{color:#1e70bf}.ui.breadcrumb .icon.divider{font-size:.85714286em;vertical-align:baseline}.ui.breadcrumb a.section{cursor:pointer}.ui.breadcrumb .section{display:inline-block;margin:0;padding:0}.ui.breadcrumb.segment{display:inline-block;padding:.78571429em 1em}.ui.breadcrumb .active.section{font-weight:700}.ui.mini.breadcrumb{font-size:.78571429rem}.ui.tiny.breadcrumb{font-size:.85714286rem}.ui.small.breadcrumb{font-size:.92857143rem}.ui.breadcrumb{font-size:1rem}.ui.large.breadcrumb{font-size:1.14285714rem}.ui.big.breadcrumb{font-size:1.28571429rem}.ui.huge.breadcrumb{font-size:1.42857143rem}.ui.massive.breadcrumb{font-size:1.71428571rem} -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/semantic-ui/components/nag.min.css: -------------------------------------------------------------------------------- 1 | /*! 2 | * # Semantic UI 2.5.0 - Nag 3 | * http://github.com/semantic-org/semantic-ui/ 4 | * 5 | * 6 | * Released under the MIT license 7 | * http://opensource.org/licenses/MIT 8 | * 9 | */.ui.nag{display:none;opacity:.95;position:relative;top:0;left:0;z-index:999;min-height:0;width:100%;margin:0;padding:.75em 1em;background:#555;box-shadow:0 1px 2px 0 rgba(0,0,0,.2);font-size:1rem;text-align:center;color:rgba(0,0,0,.87);border-radius:0 0 .28571429rem .28571429rem;transition:.2s background ease}a.ui.nag{cursor:pointer}.ui.nag>.title{display:inline-block;margin:0 .5em;color:#fff}.ui.nag>.close.icon{cursor:pointer;opacity:.4;position:absolute;top:50%;right:1em;font-size:1em;margin:-.5em 0 0;color:#fff;transition:opacity .2s ease}.ui.nag:hover{background:#555;opacity:1}.ui.nag .close:hover{opacity:1}.ui.overlay.nag{position:absolute;display:block}.ui.fixed.nag{position:fixed}.ui.bottom.nag,.ui.bottom.nags{border-radius:.28571429rem .28571429rem 0 0;top:auto;bottom:0}.ui.inverted.nag,.ui.inverted.nags .nag{background-color:#f3f4f5;color:rgba(0,0,0,.85)}.ui.inverted.nag .close,.ui.inverted.nag .title,.ui.inverted.nags .nag .close,.ui.inverted.nags .nag .title{color:rgba(0,0,0,.4)}.ui.nags .nag{border-radius:0!important}.ui.nags .nag:last-child{border-radius:0 0 .28571429rem .28571429rem}.ui.bottom.nags .nag:last-child{border-radius:.28571429rem .28571429rem 0 0} -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/semantic-ui/components/sticky.min.css: -------------------------------------------------------------------------------- 1 | /*! 2 | * # Semantic UI 2.5.0 - Sticky 3 | * http://github.com/semantic-org/semantic-ui/ 4 | * 5 | * 6 | * Released under the MIT license 7 | * http://opensource.org/licenses/MIT 8 | * 9 | */.ui.sticky{position:static;transition:none;z-index:800}.ui.sticky.bound{position:absolute;left:auto;right:auto}.ui.sticky.fixed{position:fixed;left:auto;right:auto}.ui.sticky.bound.top,.ui.sticky.fixed.top{top:0;bottom:auto}.ui.sticky.bound.bottom,.ui.sticky.fixed.bottom{top:auto;bottom:0}.ui.native.sticky{position:-webkit-sticky;position:-moz-sticky;position:-ms-sticky;position:-o-sticky;position:sticky} -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/semantic-ui/components/tab.min.css: -------------------------------------------------------------------------------- 1 | /*! 2 | * # Semantic UI 2.5.0 - Tab 3 | * http://github.com/semantic-org/semantic-ui/ 4 | * 5 | * 6 | * Released under the MIT license 7 | * http://opensource.org/licenses/MIT 8 | * 9 | */.ui.tab{display:none}.ui.tab.active,.ui.tab.open{display:block}.ui.tab.loading{position:relative;overflow:hidden;display:block;min-height:250px}.ui.tab.loading *{position:relative!important;left:-10000px!important}.ui.tab.loading.segment:before,.ui.tab.loading:before{position:absolute;content:'';top:100px;left:50%;margin:-1.25em 0 0 -1.25em;width:2.5em;height:2.5em;border-radius:500rem;border:.2em solid rgba(0,0,0,.1)}.ui.tab.loading.segment:after,.ui.tab.loading:after{position:absolute;content:'';top:100px;left:50%;margin:-1.25em 0 0 -1.25em;width:2.5em;height:2.5em;-webkit-animation:button-spin .6s linear;animation:button-spin .6s linear;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;border-radius:500rem;border-color:#767676 transparent transparent;border-style:solid;border-width:.2em;box-shadow:0 0 0 1px transparent} -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/semantic-ui/components/video.min.css: -------------------------------------------------------------------------------- 1 | /*! 2 | * # Semantic UI 2.0.0 - Video 3 | * http://github.com/semantic-org/semantic-ui/ 4 | * 5 | * 6 | * Copyright 2014 Contributors 7 | * Released under the MIT license 8 | * http://opensource.org/licenses/MIT 9 | * 10 | */.ui.video{background-color:#ddd;position:relative;max-width:100%;padding-bottom:56.25%;height:0;overflow:hidden}.ui.video .placeholder{background-color:#333}.ui.video .play{cursor:pointer;position:absolute;top:0;left:0;z-index:10;width:100%;height:100%;background:0 0;-webkit-transition:background .2s ease;transition:background .2s ease}.ui.video .play.icon:before{position:absolute;top:50%;left:50%;z-index:11;-webkit-transform:translateX(-50%)translateY(-50%);-ms-transform:translateX(-50%)translateY(-50%);transform:translateX(-50%)translateY(-50%);color:rgba(255,255,255,.7);font-size:7rem;text-shadow:2px 2px 0 rgba(0,0,0,.15);-webkit-transition:color .2s ease;transition:color .2s ease}.ui.video .placeholder{position:absolute;top:0;left:0;display:block;width:100%;height:100%}.ui.video .embed embed,.ui.video .embed iframe,.ui.video .embed object{position:absolute;border:none;width:100%;height:100%;top:0;left:0;margin:0;padding:0}.ui.video .play:hover{background:0 0}.ui.video .play:hover:before{color:#fff}.ui.active.video .placeholder,.ui.active.video .play{display:none}.ui.active.video .embed{display:inline} -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/semantic-ui/themes/default/assets/fonts/brand-icons.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yangrunkang/upupor/c940ee60c6af6de5f16980150be34018fdc330db/upupor-web/src/main/resources/static/semantic-ui/themes/default/assets/fonts/brand-icons.eot -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/semantic-ui/themes/default/assets/fonts/brand-icons.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yangrunkang/upupor/c940ee60c6af6de5f16980150be34018fdc330db/upupor-web/src/main/resources/static/semantic-ui/themes/default/assets/fonts/brand-icons.ttf -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/semantic-ui/themes/default/assets/fonts/brand-icons.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yangrunkang/upupor/c940ee60c6af6de5f16980150be34018fdc330db/upupor-web/src/main/resources/static/semantic-ui/themes/default/assets/fonts/brand-icons.woff -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/semantic-ui/themes/default/assets/fonts/brand-icons.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yangrunkang/upupor/c940ee60c6af6de5f16980150be34018fdc330db/upupor-web/src/main/resources/static/semantic-ui/themes/default/assets/fonts/brand-icons.woff2 -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/semantic-ui/themes/default/assets/fonts/icons.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yangrunkang/upupor/c940ee60c6af6de5f16980150be34018fdc330db/upupor-web/src/main/resources/static/semantic-ui/themes/default/assets/fonts/icons.eot -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/semantic-ui/themes/default/assets/fonts/icons.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yangrunkang/upupor/c940ee60c6af6de5f16980150be34018fdc330db/upupor-web/src/main/resources/static/semantic-ui/themes/default/assets/fonts/icons.otf -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/semantic-ui/themes/default/assets/fonts/icons.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yangrunkang/upupor/c940ee60c6af6de5f16980150be34018fdc330db/upupor-web/src/main/resources/static/semantic-ui/themes/default/assets/fonts/icons.ttf -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/semantic-ui/themes/default/assets/fonts/icons.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yangrunkang/upupor/c940ee60c6af6de5f16980150be34018fdc330db/upupor-web/src/main/resources/static/semantic-ui/themes/default/assets/fonts/icons.woff -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/semantic-ui/themes/default/assets/fonts/icons.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yangrunkang/upupor/c940ee60c6af6de5f16980150be34018fdc330db/upupor-web/src/main/resources/static/semantic-ui/themes/default/assets/fonts/icons.woff2 -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/semantic-ui/themes/default/assets/fonts/outline-icons.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yangrunkang/upupor/c940ee60c6af6de5f16980150be34018fdc330db/upupor-web/src/main/resources/static/semantic-ui/themes/default/assets/fonts/outline-icons.eot -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/semantic-ui/themes/default/assets/fonts/outline-icons.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yangrunkang/upupor/c940ee60c6af6de5f16980150be34018fdc330db/upupor-web/src/main/resources/static/semantic-ui/themes/default/assets/fonts/outline-icons.ttf -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/semantic-ui/themes/default/assets/fonts/outline-icons.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yangrunkang/upupor/c940ee60c6af6de5f16980150be34018fdc330db/upupor-web/src/main/resources/static/semantic-ui/themes/default/assets/fonts/outline-icons.woff -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/semantic-ui/themes/default/assets/fonts/outline-icons.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yangrunkang/upupor/c940ee60c6af6de5f16980150be34018fdc330db/upupor-web/src/main/resources/static/semantic-ui/themes/default/assets/fonts/outline-icons.woff2 -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/semantic-ui/themes/default/assets/images/flags.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yangrunkang/upupor/c940ee60c6af6de5f16980150be34018fdc330db/upupor-web/src/main/resources/static/semantic-ui/themes/default/assets/images/flags.png -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/system/LinkedIn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yangrunkang/upupor/c940ee60c6af6de5f16980150be34018fdc330db/upupor-web/src/main/resources/static/system/LinkedIn.png -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/system/empty.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yangrunkang/upupor/c940ee60c6af6de5f16980150be34018fdc330db/upupor-web/src/main/resources/static/system/empty.png -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/system/facebook.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yangrunkang/upupor/c940ee60c6af6de5f16980150be34018fdc330db/upupor-web/src/main/resources/static/system/facebook.png -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/system/profile-photo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yangrunkang/upupor/c940ee60c6af6de5f16980150be34018fdc330db/upupor-web/src/main/resources/static/system/profile-photo.png -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/system/qq_zone.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yangrunkang/upupor/c940ee60c6af6de5f16980150be34018fdc330db/upupor-web/src/main/resources/static/system/qq_zone.png -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/system/twitter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yangrunkang/upupor/c940ee60c6af6de5f16980150be34018fdc330db/upupor-web/src/main/resources/static/system/twitter.png -------------------------------------------------------------------------------- /upupor-web/src/main/resources/static/system/weibo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yangrunkang/upupor/c940ee60c6af6de5f16980150be34018fdc330db/upupor-web/src/main/resources/static/system/weibo.png -------------------------------------------------------------------------------- /upupor-web/src/main/resources/templates/email/邮件API.txt: -------------------------------------------------------------------------------- 1 | title: 标题 2 | content: 内容 3 | 4 | # 邮箱模板 5 | http://localhost:2020/email/email-template 6 | 可以增加一个变量 例如系统推荐等等 7 | -------------------------------------------------------------------------------- /upupor-web/src/main/resources/templates/seo/google-sitemap-api.txt: -------------------------------------------------------------------------------- 1 | list: googleUrlList 2 | list中的DTO对象: GoogleSeoDto 3 | GoogleSeoDto属性: 4 | loc 5 | lastmod 6 | changefreq 7 | priority 8 | 9 | 时间格式化遵守 W3C Datetime format 网址: https://www.w3.org/TR/NOTE-datetime 10 | YYYY-MM-DDThh:mm:ss.sTZD -------------------------------------------------------------------------------- /upupor-web/src/main/resources/templates/seo/google-sitemap.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | https://www.upupor.com/ 5 | 2005-01-01 6 | hourly 7 | 0.5 8 | 9 | --------------------------------------------------------------------------------