如何识别配置文件的语法及其等效的 Markdown 语言标识符?

问题描述 投票:0回答:2

简介

在配置软件包时,您会遇到各种使用各种不同语法的配置文件。

除了

.json
.xml
.yml
.properties
之外,下面是一些我找不到名称的常见语法示例。

空白分隔

# comment
value11 value12
value21 value22 value23 value24

您可能会在“/etc/hosts”中找到此语法,并且还嵌入在 Apache2 配置标签下(例如

<VirtualHost>
)等地方。似乎经常用于列出别名。

通过缩进进行空格分隔和嵌套

Key1 value1 value2 value3
    Key2 value4 value5
    Key3 value6

Key4 value7
    Key5 value8

您可能会在“~/.ssh/config”中找到此语法。嵌套将嵌套值与父值联系起来。看起来像没有符号的 yaml。

Apache2 配置

您可以使用空格分隔值,也可以使用 XML 标签来分隔配置块。

# Ensure that Apache listens on port 80
Listen 80
<VirtualHost *:80>
    DocumentRoot "/www/example1"
    ServerName www.example.com

    # Other directives here
</VirtualHost>

Dovecot 配置

您使用特定关键字和大括号开始一个块,然后像在

=
文件中一样使用
.properties
赋值。

protocol imap {
  ssl_cert = </etc/ssl/certs/imap.pem
  ssl_key = </etc/ssl/private/imap.pem
}
protocol pop3 {
  ssl_cert = </etc/ssl/certs/pop3.pem
  ssl_key = </etc/ssl/private/pop3.pem
}

问题

虽然许多软件包都有自己的配置语法,但这些语法往往有很多相似之处。在我看来

.config
.conf
.cf
并没有真正说明所使用的语法。

我的问题是:上述代码块语法是否有名称,如果有,哪些语言标识符可用于 Markdown 代码块以应用正确的语法突出显示?

对于更复杂和自定义的配置语法,我只是在寻找一个基本语法语言标识符,它可以将大部分突出显示应用于代码块。

```which-language-identifier-goes-here?
# comment
127.0.0.1 localhost example.com
```
```or-here?
# comment
Host remote-server
    HostName example.com
    User johndoe
```
syntax markdown syntax-highlighting configuration-files
2个回答
8
投票

此链接有可用支持语言的有用列表(请注意,您的 Markdown 编辑器还需要支持每种语言,以进行着色/语法)。

例如,您应该能够对 Apache conf 使用

apacheconf
(例如/ .htaccess、apache.conf'、apache2.conf)。

例如:

```apacheconf
# Change the PHP version of this directory
<FilesMatch "\.(php4|php5|php3|php2|php|phtml)$">
    SetHandler application/x-httpd-alt-php74___lsphp
</FilesMatch>

0
投票

我来这里寻找有关我的

.gitconfig
文件的问题的答案。

我认为

ini
是一个很好的默认值。所以它会是:

```ini
[git]
    config = stuff
    goes   = here
    # ...
```

我认为

ini
也适用于其他类型的“conf”文件,但除了在这种情况下有效之外,我没有任何参考资料。它列在上面的链接中。

© www.soinside.com 2019 - 2024. All rights reserved.