我遇到过一些关于MultiMarkdown对内部链接/命名锚点的支持的提及,但我无法找到如何实际执行此操作的单个示例.
那么,表示命名锚的语法是什么,链接到它的语法是什么,与链接到任何其他URL(仅使用#foo而不是http://....)相同?
我正在编写一份大型Markdown文档,并希望在开头放置一个类别的目录,它将提供指向文档中各个位置的链接.我怎样才能做到这一点?
我试过用
[a link](# MyTitle)
Run Code Online (Sandbox Code Playgroud)
MyTitle文档中的标题在哪里,这不起作用.
在过去,我总是使用下划线来定义HTML中的class和id属性.在过去的几年里,我改用破折号,主要是为了让自己与社区的趋势保持一致,不一定是因为它对我有意义.
我一直认为破折号有更多的缺点,我没有看到它的好处:
大多数编辑器将破折号视为单词分隔符,因此我无法通过选项卡切换到我想要的符号.说类是" featured-product",我必须自动完成" featured",输入连字符,然后完成" product".
下划线" featured_product"被视为一个单词,因此可以一步填充.
这同样适用于浏览文档.通过单词跳转或双击类名会被连字符打破.
(更一般地说,我认为类和ID是标记,所以对我来说,标记应该在连字符上很容易拆分是没有意义的.)
使用破折号会破坏对JavaScript中表单元素的对象属性访问.这只能用下划线表示:
form.first_name.value='Stormageddon';
Run Code Online (Sandbox Code Playgroud)
(不可否认,我自己并不以这种方式访问表单元素,但是当决定破折号和下划线作为通用规则时,请考虑某人可能.)
像Sass这样的语言(特别是在整个Compass框架中)已经将破折号作为标准,即使对于变量名称也是如此.他们最初也开始使用下划线.这被解析的事实让我感到奇怪:
$list-item-10
$list-item - 10
Run Code Online (Sandbox Code Playgroud)
在当天,我曾经用underscored_namesPHP,ruby,HTML/CSS和JavaScript 编写变量.这是方便和一致的,但再次为了"适应"我现在使用:
dash-case 在HTML/CSS中camelCase 在JavaScript中underscore_case 在PHP和ruby中这对我来说并没有太多困扰,但我想知道为什么这些看起来如此错位,似乎是故意的.至少使用下划线可以保持一致性:
var featured_product = $('#featured_product'); // instead of
var featuredProduct = $('#featured-product');
Run Code Online (Sandbox Code Playgroud)
差异造成了我们不得不不必要地翻译字符串以及可能存在错误的情况.
所以我问:为什么社区几乎普遍以破折号为主,是否有任何理由超过下划线?
从这个开始的时间开始有一个相关的问题,但我认为它不是(或不应该)只是一个品味的问题.我想了解为什么我们都认为这个大会只是一个品味问题.
我对不同类型的标识符案例感兴趣,以及人们称之为什么.您是否知道此列表或其他替代名称的任何添加内容?
我正在使用一个api,它返回这样的字符串值. some-enum-value
我尝试将这些值放在枚举中,因为默认的StringEnumConverter不能完成这项工作,我尝试用一些额外的逻辑来装饰这个转换器.如何确保正确反序列化值?
以下代码是我尝试完成这项工作.然而,reader = new JsonTextReader(new StringReader(cleaned));由于base.ReadJson无法将字符串识别为JSON,因此该行打破了整个事情.
有没有更好的方法来实现这一点,而无需在StringEnumConverter中实现所有的强制逻辑?如何解决我的方法?
public class BkStringEnumConverter : StringEnumConverter
{
public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)
{
if (reader.TokenType == JsonToken.String)
{
var enumString = reader.Value.ToString();
if (enumString.Contains("-"))
{
var cleaned = enumString.Split('-').Select(FirstToUpper).Aggregate((a, b) => a + b);
reader = new JsonTextReader(new StringReader(cleaned));
}
}
return base.ReadJson(reader, objectType, existingValue, serializer);
}
private static string FirstToUpper(string input)
{
var firstLetter = input.ToCharArray().First().ToString().ToUpper();
return string.IsNullOrEmpty(input)
? input
: firstLetter + …Run Code Online (Sandbox Code Playgroud) 在package.json我这个脚本名称有两个单词lint和fix.我该怎么做一个正确的名字?
有选择:
lintFixLintFixlint_fixlint-fixlint:fix什么选择是对的?为什么?
ASP.NET Core 1.1 中引入了将视图组件作为标记帮助程序调用。(请参阅“将视图组件作为标签助手调用”)。但以下仅返回视图的VC部分的测试。似乎该<vc:annual-orders>…</vc:annual-orders>部分根本没有被调用。
视图\共享\组件\AnnualOrders\Default.cshtml:
@{
Layout = "";
}
<div>Test for VC</div>
<div>
<vc:annual-orders>
</vc:annual-orders>
</div>
Run Code Online (Sandbox Code Playgroud)
myProj\ViewComponents\AnnualOrdersViewComponent.cs:
public class AnnualOrdersViewComponent : ViewComponent
{
private readonly OrdersContext _context;
public AnnualOrdersViewComponent(OrdersContext context)
{
_context = context;
}
public async Task<IViewComponentResult> InvokeAsync()
{
var lastOrders = _context.Where(t => t.orderType == "new");
return View(await lastOrders);
}
}
Run Code Online (Sandbox Code Playgroud)
笔记:
c# asp.net-core asp.net-core-1.1 asp.net-core-tag-helpers asp.net-core-viewcomponent
c# ×2
markdown ×2
asp.net-core ×1
camelcasing ×1
case ×1
coding-style ×1
css ×1
enums ×1
html ×1
json ×1
json.net ×1
naming ×1
node.js ×1
npm ×1
package.json ×1