Google Code Prettify

"Google Code Prettify" について使用方法などについて記載します。

 

 

1. 概要

 

 

[プログラムソース "***.cpp"] ★code-prettify サンプル

#include "stdafx.h"

#include <iostream>
#include <string>
#include <memory>
#include <vector>

using namespace std;

struct Data {
    int id;
    std::string name;

    Data()
        : Data(0, "") {}
    Data(int id, const std::string& name)
        : id(id), name(name)
    {
        std::cout << "ctor" << std::endl;
    }

    ~Data()
    {
        std::cout << "dtor" << std::endl;
    }
};


int main()
{
    {
        vector<shared_ptr<Data>> v1;

        v1.push_back(shared_ptr<Data>(new Data(1, "foo")));
        v1.push_back(shared_ptr<Data>(new Data(2, "var")));

        for (auto data : v1) {
            cout << data->id << ", " << data->name << endl;
        }
    }

    {
        vector<shared_ptr<Data>> v2;

        v2.emplace_back(new Data(3, "foo"));
        v2.emplace_back(new Data(4, "bar"));

        for (auto data : v2) {
            cout << data->id << ", " << data->name << endl;
        }
    }

    return EXIT_SUCCESS;

 


 

2. 言語指定方法と指定できる言語

 

"lang-" で始まるこんな感じで指定します。

<pre class="prettyprint lang-html">
なんかかく
</pre>

 

標準で内蔵されている言語は以下の通り。

 

"bsh", "c", "cc", "cpp", "cs", "csh", "cyc", "cv", "htm", "html", "java",

"js", "m", "mxml", "perl", "pl", "pm", "py", "rb", "sh", "xhtml", "xml","xsl"

 

標準にない場合、もしあれば追加の js スクリプトを <head> 内で以下のように読み込んで使用します。 

<!-- Start for 'google-code-prettify' -->
<link href="../prettify/styles/desert.css" rel="stylesheet" type="text/css">
<script src="../prettify/prettify.js" type="text/javascript"></script>
<script src="../prettify/lang-vb.js" type="text/javascript"></script>
<!-- End for 'google-code-prettify' -->

 

標準外で登録されている言語リストは本書記載時点で以下のような感じでした。

lang-aea.js
lang-agc.js
lang-apollo.js
lang-basic.js
lang-cbm.js
lang-cl.js
lang-clj.js
lang-css.js
lang-dart.js
lang-el.js
lang-erl.js
lang-erlang.js
lang-ex.js
lang-exs.js
lang-fs.js
lang-go.js
lang-hs.js
lang-kotlin.js
lang-lasso.js
lang-lassoscript.js
lang-latex.js
lang-lgt.js
lang-lisp.js
lang-ll.js
lang-llvm.js
lang-logtalk.js
lang-ls.js
lang-lsp.js
lang-lua.js
lang-matlab.js
lang-ml.js
lang-mumps.js
lang-n.js
lang-nemerle.js
lang-pascal.js
lang-proto.js
lang-r.js
lang-rd.js
lang-rkt.js
lang-rust.js
lang-s.js
lang-scala.js
lang-scm.js
lang-Splus.js
lang-sql.js
lang-ss.js
lang-swift.js
lang-tcl.js
lang-tex.js
lang-vb.js
lang-vbs.js
lang-vhd.js
lang-vhdl.js
lang-wiki.js
lang-xq.js
lang-xquery.js
lang-yaml.js

 

 


 

3. 行番号を表示

クラスに "linenums" を追加すると行番号を表示することができます。

<pre class="prettyprint linenums">
console.log('Hello World')
console.log('Hello World')
console.log('Hello World')
console.log('Hello World')
console.log('Hello World')
</pre>

こんな感じで表示してくれます。

console.log('Hello World')
console.log('Hello World')
console.log('Hello World')
console.log('Hello World')
console.log('Hello World')

 

行番号の開始値を指定する場合は linenums の後にコロンを挟んで数値で指定します。15 から始めたい場合は次のように "linenums:15" と指定します。

<pre class="prettyprint linenums:15">
console.log('Hello World')
console.log('Hello World')
console.log('Hello World')
console.log('Hello World')
console.log('Hello World')
</pre>

こんな感じで表示してくれます。

console.log('Hello World')
console.log('Hello World')
console.log('Hello World')
console.log('Hello World')
console.log('Hello World')

 

 


 

ライセンス

本ページの情報は、特記無い限り下記 MIT ライセンスで提供されます。

The MIT License (MIT)

Copyright © 2020-2022 Kinoshita Hidetoshi

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

 

 

 

参考

 


 

変更履歴

2024-02-28 - 3. 行番号を表示」を追加
2022-07-14 - 更新
2020-11-27 - 新規作成

 

Programming Items トップページ

プライバシーポリシー