tureezhang / csl-cn Goto Github PK
View Code? Open in Web Editor NEWCSL-CN
Home Page: http://www.cities-skylines.cn
License: Other
CSL-CN
Home Page: http://www.cities-skylines.cn
License: Other
偶尔出现程序异常中止的问题,会影响网站访问。
考虑使用 Kubernetes 的 Minikube 搭建单机集群环境,使用 Deployment 托管 netcore 网站程序,保证网站至少在异常退出时可以被 k8s 自动重启。
现已迁移测试数据库至 阿里云服务器。
因而测试环境无需安装数据库即可运行项目。
但 Debug 环境下由于 CodeFirst 的某些配置原因,数据库上下文配置 Build 并不是读取 appsetting.debug.json 文件。
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
////执行 Add-Migration 报错时,注释一下 if -else 代码段。(但要保留 base. 一行)
////if (AppDomain.CurrentDomain.BaseDirectory.Contains("HanJie.CSLCN.Tests")) //如果从单元测试调用此构造函数,则采用内存中数据库
////{
//// var options = new DbContextOptionsBuilder<CSLDbContext>()
//// .UseInMemoryDatabase(databaseName: "Add_Writes_to_database")
//// .Options;
//// optionsBuilder.UseInMemoryDatabase("test");
////}
////else
////{
string connStr = "User ID=csl-cn-debug;Password=7EBC8B5FB6C14509BC75F68824B22351;Host=118.31.20.44;Port=3306;Database=cslcn-dev;Min Pool Size=0;Max Pool Size=100;";
if (RunAs.Release)
connStr = GlobalConfigs.AppSettings.ConnectionString;
optionsBuilder.UseMySql(connStr);
////}
//base.OnConfiguring(optionsBuilder);
}
部分文章需要采用管理器发布,因为他们不在顶层导航文章列表中,而由一级文档中的链接跳转而来。
@gsgysm 此功能需求开发进度在此 issue 追踪。
需要一个页面,表明所有贡献者的功劳和付出。
名称不能为中文
文件名中不能含有 http://
/ https://
/ 空格
原因是各个请求共用了一个 DbContext 实例。
此问题已修复。应当在下一次版本发布时,更新 Release 配置文件,连接字符串追加 MultipleActiveResultSets=true; 配置。
跨级标题会毁档(永久挂,手动滑稽)
如题
我就是补个issues
解决的过程放这里吧~
鉴于维基文档的重要性,需要开发一个数据库自动备份功能。
应当备份以下内容:
右侧的“最近编辑”模块是一直更新跳动的,但是每次跳动后的整个“最近编辑”模块的大小和上次有可能会不一样。这导致每次跳动之后我鼠标停留在下面的DLC部分的指针可能会被迫偏移。
这是因为“最后编辑:XXXXX XX-XX-XX”这个地方由于编辑者名字的长度不同导致有可能会出现两行,这样子就会影响单个编辑框的高度,继而影响总体最近编辑的高度。这样子下面的DLC部分加入原本鼠标已经准备点击某个DLC,就会被这个高度变化导致从准备点击的DLC上移开。
此功能能够使得浏览者在浏览长表格时能够随时对相应表头,不至于重复滑到表格顶端对应
数据埋点为什么使用1x1 gif透明图片
- 能够完成整个 HTTP 请求+响应(尽管不需要响应内容)
- 触发 GET 请求之后不需要获取和处理数据、服务器也不需要发送数据
- 跨域友好
- 执行过程无阻塞
- 相比 XMLHttpRequest 对象发送 GET 请求,性能上更好
- GIF的最低合法体积最小(最小的BMP文件需要74个字节,PNG需要67个字节,而合法的GIF,只需要43个字节)
weijiyang/GOOD-IDEA#63
所谓埋点就是在应用中特定的流程收集一些信息,用来跟踪应用使用的状况,后续用来进一步优化产品或是提供运营的数据支撑,包括访问数(Visits),访客数(Visitor),停留时长(Time On Site),页面浏览数(Page Views)和跳出率(Bounce Rate)。这样的信息收集可以大致分为两种:页面统计(track this virtual page view),统计操作行为(track this button by an event)。 https://www.zhihu.com/question/36411025
当再次编辑有大图片的文档时,使用默认网页尺寸会导致编辑栏消失,但在缩小网页比例后会出现
受到编辑锁定保护的文档:
我在使用维基编辑器时发现,编辑模式下的表格格式似乎无法智能对齐,如果表格格式可以智能对齐再加上中英文等宽字体,书写体验我想会直线上升,嘿嘿嘿
具体效果如下图:
上方左图是来自使用默认字体的维基编辑器,无智能对齐,右图是来自使用自定义的开源字体 更纱黑体 Sarasa-Gothic 下的 等距更纱黑体 SC (sarasa-mono-sc-regular)
字体的 开源软件VNote,有智能对齐
感官效果很明显,是不是(滑稽
现在似乎已经没有太多可以编辑添加的条目了,希望能增加Mod百科,让百科更有活力和实用性(可参考www.mcmod.cn)
按照蚂蚁金服设计语言,有关于字体的标准,调整文档样式,提供更优的阅读体验。
我在编辑和阅读过程中发现右侧目录里有些标题标签可能会出现无法跳转的情况!
比如,下方文章里的这三个标题标签就出现了无法跳转的情况:
图中文章地址:http://www.cities-skylines.cn/wiki-passage/contribute
哪怕只改了一个标点。
问题描述
目前在主页发现以下几种布局
总页面宽度 | 布局 | 导航栏默认状态 |
---|---|---|
1600px以上 | 中间栏较宽的三栏布局 | 显示 |
1200px-1599px | 中间栏较窄的三栏布局 | 显示 |
992px-1199px | 两栏布局 | 显示 |
768px-991px | 两栏布局 | 不显示 |
768px以下 | 一栏布局 | 不显示 |
导航栏保持默认状态时会发生文字重叠的页面宽度区间如下
因为现在一般没有宽度低于310px的浏览器所以对此不做讨论
各模块的最小宽度
模块标题 | 元素不会溢出的最小宽度(约) |
---|---|
天际线图片及百科标语 | 1104px |
GitHub及编辑者入口顶栏 | 430px |
天际线图片 | 370px |
百科全书 | 310px |
经营 | 292px |
元数据 | 232px |
其中百科标语在总页面宽度1200px以上时才会显示,但导航栏会占据约200的页面宽度,所以显示导航栏时为了显示完整的百科标语需要约1304px的总页面宽度
图 百科全书模块中的mod推荐已经溢出到了下一行并且被经营模块的标题遮挡了一部分
原因分析
可能的解决方案
需要图片管理工具
本文主要是对自己使用 Mrakdown 进行书写的一个笔记记录和总结。
因为碎月是个萌新,故而,如有错误或遗漏之处,还请各位大佬们指出!
创建发布时间:2020 年 1 月 24 日 23:42
最后更新时间:2020 年 7 月 6 日 13:37
Markdown 是一种通过少量简单的标记字符来格式化文本的方法,是一种轻量级的易用的书写语法。您可以用纯文本来书写文档,然后在阅读时呈现一个美观的排版。
其实目前并没有一个标准的 Markdown 语法文档,很多编辑器都会在基本语法上添加自己的扩展语法。所以,为了兼容性下方仅展示被广泛使用的基本语法。
如果您是刚接触 Markdown, 那么比较好的一个方法是逐个学习 Markdown 语法。刚开始,懂得标题和强调语法就能够写出基本的文档;然后,您可以在书写的过程中不断学习和接触新的语法并不断练习,加强记忆。
下面是被广泛支持的 Markdown 基本语法的一个概览。
# 这是一个<h1>标签
## 这是一个<h2>标签
......
###### 这是一个<h6>标签
注意:
#
之后需要至少一个空格。*此文本为斜体*
_此文本为斜体_
**此文本为粗体**
__此文本为粗体__
***此文本为加粗斜体***
___此文本为加粗斜体___
例:
此文本为斜体
此文本为斜体
此文本为粗体
此文本为粗体
此文本为加粗斜体
此文本为加粗斜体
注意:
*
,因为最常用。*
之前以及最后一个 *
之后添加一个空格。如果被标记的文本是以全角符号开始或结尾,一般都需要前后添加一个空格。如果需要您一个新的段落,您应该先在一个段落的后面插入一个空行,然后才输入新的段落的文本。
如:
这是一个段落。
这是另一个段落。
例:
这是一个段落。
这是另一个段落。
注意:
您可直接按键盘上的 Enter
键插入空行,进入下一行。
一般来说,您应该在一个块元素(例如代码块、列表和块引用)后面插入一个空行来结束该元素。
* 项目 1
这是一段在 项目 1 下面的文字。
* 项目 2
* 项目 2a
* 项目 2b
* 项目 3
例:
这是一段在 项目 1 下面的文字。
注意:
#
之后需要至少一个空格。
使用一个空行来结束一个列表序列。
1. 项目 1
1. 项目 2
注意,列表前面的数字序号其实是无关紧要的,渲染时 Markdown 会自动修改该序号。
3. 项目 3
1. 项目 3a
2. 项目 3b
4. 项目 4
例:
注意,列表前面的数字序号其实是无关紧要的,渲染时 Markdown 会自动修改该序号。
注意:
数字
之后需要至少一个空格。
使用一个空行来结束一个列表序列。
| 表头 1 | 表头 2 | 表头 3 |
| - | - | - |
| 单元格 1 | 单元格 2 | 单元格 3 |
| 单元格 4 | 单元格 5 | 单元格 6 |
例:
表头 1 | 表头 2 | 表头 3 |
---|---|---|
单元格 1 | 单元格 2 | 单元格 3 |
单元格 4 | 单元格 5 | 单元格 6 |
注意:
Markdown 的表格默认为左对齐,在第二行 | - |
中的 -
右边加上 :
就右对齐,两边都加上就是居中。
| - |
:左对齐| -: |
:居中对齐| :-: |
:右对齐![图像文本,图片失效时显示](/url/to/image.png "可选文本,鼠标在图片上悬停时会显示")
![图像文本,图片失效时显示](https://www.***.com "可选文本,鼠标在图片上悬停时会显示")
[链接文本](/url/of/the/link)
[链接文本](https://www.***.com)
> 这是一个块引用示范。
例:
这是一个块引用示范。
注意
>
标记后面至少需要一个空格。~~
这是一个普通的代码块。
~~
~~lang
这是一个有代码高亮的代码块。
~~
``
这是另一个普通的代码块。
``
``lang
这是另一个有代码高亮的代码块。
``
注意:
~
和 `
个数均应为 3 个。
~~~
,```
lang
用于指定代码块的代码语言并进行代码高亮,可选;如果不指定,Markdown 引擎不会尝试进行高亮代码。例:~~~markdown
:表示该代码块会使用 Mrakdown 的语法高亮规则对代码块内的文本进行高亮。
`这是一个行内代码块。`
在想包裹的文字两边输入 `
,便可形成行内代码块。
例:这是一个行内代码块。
- [x] 这是一个已完成的项目。
- [ ] 这是一个未完成的项目。
例:
~~这是一个带删除线的文本。~~
例:
这是一个带删除线的文本。
***
---
___
您可以在独立的一行中使用 3 个或以上的 *
、 -
或 _
来建立一个分隔线,行内不能有其他文本字符。
三种使用方法的实现效果是一样的,例:
这里推荐两个好用的 Markdown 编辑器。
功能难度较大,问题在于动态形成并融入 markdown,且是 Angular 动态组件。还需要深入研究,短期内可能暂不会实现。
文章保存时重新加载后回滚为上一版本
此功能用于用户间翻译文档的协同。
功能概览:
不会保存到服务器端。原因不是资源占用,而是保存到服务器在请求时有网络需求、鉴权问题,失败风险很大,而保存草稿就是为了应对这些风险。
一定是缓存在浏览器中。
可以考虑每 1 分钟自动保存草稿,或每 100 字保存草稿。
如上所示。
如果支持设置封面和写文章插入图片的时候还能翻阅数据库里的图片就更棒了!
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.