相关疑难解决方法(0)

如何链接到Multimarkdown中的命名锚点?

我遇到过一些关于MultiMarkdown对内部链接/命名锚点的支持的提及,但我无法找到如何实际执行此操作的单个示例.

那么,表示命名锚的语法是什么,链接到它的语法是什么,与链接到任何其他URL(仅使用#foo而不是http://....)相同?

markdown multimarkdown

526
推荐指数
6
解决办法
30万
查看次数

如何链接到Markdown中同一文档的一部分?

我正在编写一份大型Markdown文档,并希望在开头放置一个类别的目录,它将提供指向文档中各个位置的链接.我怎样才能做到这一点?

我试过用

[a link](# MyTitle)
Run Code Online (Sandbox Code Playgroud)

MyTitle文档中的标题在哪里,这不起作用.

markdown multimarkdown

441
推荐指数
11
解决办法
22万
查看次数

为什么破折号首选CSS选择器/ HTML属性?

在过去,我总是使用下划线来定义HTML中的classid属性.在过去的几年里,我改用破折号,主要是为了让自己与社区趋势保持一致,不一定是因为它对我有意义.

我一直认为破折号有更多的缺点,我没有看到它的好处:

代码完成和编辑

大多数编辑器将破折号视为单词分隔符,因此我无法通过选项卡切换到我想要的符号.说类是" 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)

差异造成了我们不得不不必要地翻译字符串以及可能存在错误的情况.

所以我问:为什么社区几乎普遍以破折号为主,是否有任何理由超过下划线?

从这个开始的时间开始有一个相关的问题,但我认为它不是(或不应该)只是一个品味的问题.我想了解为什么我们都认为这个大会只是一个品味问题.

html css coding-style naming-conventions

207
推荐指数
6
解决办法
6万
查看次数

有哪些不同的案例?

我对不同类型的标识符案例感兴趣,以及人们称之为什么.您是否知道此列表或其他替代名称的任何添加内容?

  • myIdentifier:Camel case(例如java变量名)
  • MyIdentifier:资本驼峰案例(例如在java类名称中)
  • my_identifier:Snake case(例如python变量名)
  • my-identifier:烤肉串案例(例如球拍名称)
  • myidentifier:扁平案例(例如java包名称)
  • MY_IDENTIFIER:大写(例如以C常量名称)

naming camelcasing case

41
推荐指数
4
解决办法
2万
查看次数

如何装饰JSON.NET StringEnumConverter

我正在使用一个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)

c# enums json json.net

37
推荐指数
3
解决办法
3万
查看次数

我对package.json中的脚本使用什么命名约定?

package.json我这个脚本名称有两个单词lintfix.我该怎么做一个正确的名字?

有选择:

  1. lowerCamelCase - lintFix
  2. UpperCamelCase - LintFix
  3. snake_case - lint_fix
  4. 烤肉串 - lint-fix
  5. gulp-style带有冒号分隔符 - lint:fix
  6. 任何另一个分隔符.

什么选择是对的?为什么?

naming-conventions node.js npm package.json

14
推荐指数
4
解决办法
3364
查看次数

未调用作为标记帮助程序的查看组件

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)

笔记:

  1. 我使用的是 ASP.NET Core 1.1,没有标签助手的视图组件工作正常。
  2. 我还关注了 MSDN 的官方教程“将视图组件作为标记帮助程序调用”,其中解释了标记帮助程序的 PascalCase 类名和方法参数被转换为较低的kebab-case

c# asp.net-core asp.net-core-1.1 asp.net-core-tag-helpers asp.net-core-viewcomponent

7
推荐指数
3
解决办法
3406
查看次数