frontend icon indicating copy to clipboard operation
frontend copied to clipboard

Tracking Issue: 维基编辑页

Open trim21 opened this issue 3 years ago • 4 comments

页面设计:https://www.figma.com/file/jW61odhQl5lZzhY4CqvvSF/Web-Page?node-id=3101%3A10839&t=W5OYcWukJRZmFrVQ-0

Website 组件/物料:

  • [x] Header https://github.com/bangumi/frontend/pull/52
  • [x] Footer https://github.com/bangumi/frontend/pull/56

物料设计: https://www.figma.com/file/jW61odhQl5lZzhY4CqvvSF/Web-Page?node-id=16%3A450

页面:

  • [x] 维基编辑页 URL subject/${id}/edit https://github.com/bangumi/frontend/pull/312
  • [ ] 人物关联修改
  • [ ] 角色关联修改
  • [ ] 条目关联修改
  • [x] https://github.com/bangumi/frontend/issues/327
  • [ ] diff

高级模式使用 monaco editor,wiki 语法的 tokenizer 可以参考

https://next.bgm.tv/demo/subject/184017/edit

https://github.com/bangumi/GraphQL/blob/f4a11f12205aa29ef21f8ba038feda4ea466e317/lib/static/editor.js

  • 类型应该按条目类别区分
  • 动画信息支持 wiki 模式 与 入门模式编辑
  • 字段校验待补充
  • 修改成功跳转 【被编辑条目的首页】(没做)

不要使用生产 API 进行测试和开发

trim21 avatar Mar 17 '22 08:03 trim21

@trim21 assigned 一下我吧,我把这个写了

FoundTheWOUT avatar Jan 09 '23 08:01 FoundTheWOUT

tokenizer 稍微有一点问题,有个括号着色错了

trim21 avatar Jan 09 '23 08:01 trim21

还应该有几个template...

trim21 avatar Jan 09 '23 09:01 trim21

    var tpl = {
        TVAnime: "{{Infobox animanga/TVAnime\n|中文名= \n|别名= {\n\n}\n|话数= * \n|放送开始= * \n|放送星期=\n|官方网站=\n|播放电视台=\n|其他电视台= \n|播放结束= \n|其他= \n|Copyright=\n}}",
        OVA: "{{Infobox animanga/OVA\n|中文名= \n|别名= {\n\n}\n|话数= * \n|发售日= * \n|官方网站=\n|开始= \n|结束= \n|其他= \n}}",
        Movie: "{{Infobox animanga/Movie\n|中文名= \n|别名= {\n\n}\n|上映年度= * \n|片长= \n|官方网站=\n|其他= \n|Copyright= \n}}",
        Anime: "{{Infobox animanga/Anime\n|中文名= \n|别名= {\n\n}\n|上映年度= * \n|片长= \n|官方网站=\n|其他= \n|Copyright= \n}}",
        Book: "{{Infobox animanga/Book\n|中文名= \n|别名= {\n\n}\n|出版社= *\n|价格=\n|其他出版社= \n|连载杂志= \n|发售日= \n|页数=\n|ISBN= \n|其他= \n}}",
        Manga: "{{Infobox animanga/Manga\n|中文名= \n|别名= {\n\n}\n|出版社= *\n|价格=\n|其他出版社= \n|连载杂志= \n|发售日= \n|册数= \n|页数=\n|话数= \n|ISBN= \n|其他= \n}}",
        Novel: "{{Infobox animanga/Novel\n|中文名= \n|别名= {\n\n}\n|出版社= * \n|价格=\n|连载杂志= \n|发售日= \n|册数= \n|页数=\n|话数= \n|ISBN= \n|其他= \n}}",
        BookSeries: "{{Infobox animanga/BookSeries\n|中文名= \n|别名= {\n\n}\n|出版社= * \n|连载杂志= \n|开始= \n|结束= \n|册数= \n |话数= \n|其他= \n}}",
        Album: "{{Infobox Album\n|中文名=\n|别名= {\n\n}\n|版本特性= \n|发售日期= \n|价格= \n|播放时长= \n|录音= \n|碟片数量= \n}}",
        Game: "{{Infobox Game\n|中文名=\n|别名= {\n\n}\n|平台= {\n\n}\n|游戏类型=\n|游戏引擎=\n|游玩人数=\n|发行日期=\n|售价=\n|website=\n}}",
        TV: "{{Infobox real/Television\n|中文名=\n|别名= {\n\n}\n|集数=\n|放送星期=\n|开始=\n|结束=\n|类型=\n|国家/地区=\n|语言=\n|每集长=\n|频道=\n|电视网=\n|电视台=\n|视频制式=\n|音频制式=\n|首播国家=\n|首播地区=\n|台湾名称=\n|港澳名称=\n|马新名称=\n|官方网站=\n|imdb_id=\n|tv_com_id=\n}} ",
        Crt: "{{Infobox Crt\n|简体中文名=\n|别名={\n[第二中文名|]\n[英文名|]\n[日文名|]\n[纯假名|]\n[罗马字|]\n[昵称|]\n}\n|性别=\n|生日=\n|血型=\n|身高=\n|体重=\n|BWH=\n|引用来源={\n}\n}}",
        doujinBook: "{{Infobox doujin/Book\n|作者={\n\n}\n|原作=\n|CP=\n|语言=\n|页数=\n|尺寸=\n|价格=\n|发售日=\n}}",
        doujinMusic: "{{Infobox doujin/Album\n|艺术家={\n\n}\n|原作=\n|语言=\n|版本特性=\n|碟片数量=\n|播放时长=\n|价格=\n|发售日=\n}}",
        doujinGame: "{{Infobox doujin/Game\n|别名= {\n\n}\n|开发者={\n\n}\n|原作=\n|平台=\n|游戏类型=\n|游戏引擎=\n|游玩人数=\n|语言=\n|价格=\n|发售日=\n}}"
    }

原本的template

trim21 avatar Jan 09 '23 09:01 trim21