{"id":1086,"date":"2019-03-23T17:35:31","date_gmt":"2019-03-23T08:35:31","guid":{"rendered":"https:\/\/hi3103.net\/notes\/?p=1086"},"modified":"2022-07-09T23:34:01","modified_gmt":"2022-07-09T14:34:01","slug":"sublimetext%e3%81%absublimelinter3%e3%82%92%e5%b0%8e%e5%85%a5%e3%81%99%e3%82%8b","status":"publish","type":"post","link":"https:\/\/hi3103.net\/notes\/dev\/1086","title":{"rendered":"Sublime Text 3 \u306b SublimeLinter \u3092\u5c0e\u5165\u3057\u3066HTML5\u30fbCSS\u30fbJavaScript\u306e\u30ea\u30a2\u30eb\u30bf\u30a4\u30e0\u69cb\u6587\u30c1\u30a7\u30c3\u30af\u3092\u3059\u308b"},"content":{"rendered":"<h3>SublimeLinter\u3068\u306f<\/h3>\n<blockquote>\n<p>SublimeLinter<br \/>\nhttp:\/\/www.sublimelinter.com\/<\/p>\n<\/blockquote>\n<p>SublimeText\u4e0a\u3067\u30b3\u30fc\u30c9\u306e\u69cb\u6587\u30c1\u30a7\u30c3\u30af\u3092\u30ea\u30a2\u30eb\u30bf\u30a4\u30e0\u3067\u884c\u3048\u308b\u30d7\u30e9\u30b0\u30a4\u30f3<\/p>\n<h3>\u624b\u9806<\/h3>\n<ol>\n<li>\u300cSublimeLinter\u300d\u672c\u4f53\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb<\/li>\n<li>\u8a00\u8a9e\u3054\u3068\u306b\u5fc5\u8981\u306a\u30d7\u30e9\u30b0\u30a4\u30f3\u3092\u5225\u9014\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb<\/li>\n<\/ol>\n<p><!--more--><\/p>\n<h3>\u672c\u4f53\u306e\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3068\u8a2d\u5b9a<\/h3>\n<h4>SublimeLinter\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb<\/h4>\n<blockquote>\n<p>GitHub &#8211; SublimeLinter<br \/>\nhttps:\/\/github.com\/SublimeLinter<\/p>\n<\/blockquote>\n<ul>\n<li>Package Control\u304b\u3089\u300cSublimeLinter\u300d\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3002<\/li>\n<\/ul>\n<h4>\u30a8\u30e9\u30fc\u30a2\u30a4\u30b3\u30f3\u3092\u898b\u3084\u3059\u304f\u3059\u308b<\/h4>\n<ul>\n<li>\u521d\u671f\u8a2d\u5b9a\u306e\u30a8\u30e9\u30fc\u30a2\u30a4\u30b3\u30f3\u306f\u3001Error\u3082Warning\u3082\u305f\u3060\u306e\u25cf\u30de\u30fc\u30af\u3067\u8996\u8a8d\u6027\u304c\u60aa\u3044\u306e\u3067\u3001\u305d\u308c\u305e\u308c\u306e\u8868\u793a\u3092\u00d7\u3068\u25b3\u304c\u306b\u5909\u66f4\u3059\u308b\u3002<\/li>\n<\/ul>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/hi3103.net\/notes\/img\/uploads\/2017\/03\/1903-sublimelinter-icon_before.png\" alt=\"\u8a2d\u5b9a\u5909\u66f4\u524d\u306e\u30a2\u30a4\u30b3\u30f3\uff08\u30b9\u30af\u30ea\u30fc\u30f3\u30b7\u30e7\u30c3\u30c8\u753b\u50cf\uff09\" width=\"181\" height=\"84\"  \/><\/p>\n<p>\u2193<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/hi3103.net\/notes\/img\/uploads\/2017\/03\/1903-sublimelinter-icon_after.png\" alt=\"\u8a2d\u5b9a\u5909\u66f4\u5f8c\u306e\u30a2\u30a4\u30b3\u30f3\uff08\u30b9\u30af\u30ea\u30fc\u30f3\u30b7\u30e7\u30c3\u30c8\u753b\u50cf\uff09\" width=\"185\" height=\"80\"  \/><\/p>\n<ul>\n<li>\u30c4\u30fc\u30eb\u30d0\u30fc &gt; Preferences &gt; Package Settings &gt; SublimeLinter &gt; Setting\n<ul>\n<li>\u307e\u305f\u306f\u30b3\u30de\u30f3\u30c9\u30d1\u30ec\u30c3\u30c8(cmd+shift+P)\u304b\u3089 Preferences: SublimeLinter Settings<\/li>\n<\/ul>\n<\/li>\n<li>\u53f3\u5074\u306e\u30e6\u30fc\u30b6\u30fc\u8a2d\u5b9a\u306b\u4ee5\u4e0b\u3092\u8ffd\u8a18\u3002<\/li>\n<\/ul>\n<pre><code>{\n    \"styles\": [{\n        \"mark_style\": \"outline\",\n        \"priority\": 1,\n        \"scope\": \"sublimelinter.mark.warning\",\n        \"icon\": \"triangle\",\n        \"types\": [\n            \"warning\"\n        ]\n    }, {\n        \"mark_style\": \"outline\",\n        \"priority\": 1,\n        \"scope\": \"sublimelinter.mark.error\",\n        \"icon\": \"x\",\n        \"types\": [\n            \"error\"\n        ]\n    }]\n}<\/code><\/pre>\n<ul>\n<li>\u4e0a\u8a18\u306e outline \u3092 fill \u306b\u5909\u66f4\u3059\u308b\u3068\u3001\u30a8\u30e9\u30fc\u304c\u51fa\u3066\u3044\u308b\u7b87\u6240\u304c\u3088\u308a\u76ee\u7acb\u3064\u3002<\/li>\n<\/ul>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/hi3103.net\/notes\/img\/uploads\/2017\/03\/1903-sublimelinter-icon_after-fill.png\" alt=\"\u30b9\u30af\u30ea\u30fc\u30f3\u30b7\u30e7\u30c3\u30c8\u753b\u50cf\" width=\"225\" height=\"85\"  \/><\/p>\n<h5>\u53c2\u8003<\/h5>\n<ul>\n<li><a href=\"http:\/\/www.sublimelinter.com\/en\/v3.10.10\/gutter_themes.html\">Gutter Themes \u2014 SublimeLinter 3.4.24 documentation<\/a><\/li>\n<li><a href=\"http:\/\/www.sublimelinter.com\/en\/v3.10.10\/mark_styles.html\">Mark Styles \u2014 SublimeLinter 3.4.24 documentation<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/SublimeLinter\/SublimeLinter\/issues\/1125#issuecomment-371971265\">Icons in custom gutter theme \u00b7 Issue #1125 \u00b7 SublimeLinter\/SublimeLinter \u00b7 GitHub<\/a><\/li>\n<\/ul>\n<h3>\u8a00\u8a9e\u5225\u30d7\u30e9\u30b0\u30a4\u30f3\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb<\/h3>\n<h4>HTML<\/h4>\n<blockquote>\n<p><a href=\"https:\/\/github.com\/SublimeLinter\/SublimeLinter-html-tidy\">GitHub &#8211; SublimeLinter\/SublimeLinter-html-tidy<\/a><br \/>\nBefore installing this plugin, you must ensure that tidy or tidy5 are installed on your system. tidy5 will be used over tidy if available.<\/p>\n<ul>\n<li>Mac OS X \u2013 tidy comes preinstalled on recent versions of Mac OS X. You can install the html5 version by using Homebrew and brew install tidy-html5.<\/li>\n<\/ul>\n<\/blockquote>\n<h5>\u30a8\u30e9\u30fc\u8868\u793a\u30b5\u30f3\u30d7\u30eb<\/h5>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/hi3103.net\/notes\/img\/uploads\/2017\/03\/1903-sublimelinter-icon_after-fill.png\" alt=\"SublimeLinter\u306eHTML\u30a8\u30e9\u30fc\u8868\u793a(\u30b9\u30af\u30ea\u30fc\u30f3\u30b7\u30e7\u30c3\u30c8\u753b\u50cf)\" width=\"225\" height=\"85\"  \/><\/p>\n<h5>\u5fc5\u8981\u306a\u3082\u306e<\/h5>\n<ul>\n<li><a href=\"http:\/\/www.html-tidy.org\/\">HTML Tidy<\/a><\/li>\n<\/ul>\n<h5>\u624b\u9806<\/h5>\n<ul>\n<li>Terminal\u304b\u3089\u4ee5\u4e0b\u3092\u5b9f\u884c<\/li>\n<\/ul>\n<pre><code>$ brew install tidy-html5<\/code><\/pre>\n<ul>\n<li>Package Control\u304b\u3089\u300cSublimeLinter-html-tidy\u300d\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3002<\/li>\n<\/ul>\n<h4>CSS<\/h4>\n<blockquote>\n<p><a href=\"https:\/\/github.com\/SublimeLinter\/SublimeLinter-csslint\">GitHub &#8211; SublimeLinter\/SublimeLinter-csslint<\/a><br \/>\nBefore installing this plugin, ensure that csslint (version 0.10.0 or later) is installed on your system. <\/p>\n<\/blockquote>\n<h5>\u30a8\u30e9\u30fc\u8868\u793a\u30b5\u30f3\u30d7\u30eb<\/h5>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/hi3103.net\/notes\/img\/uploads\/2017\/03\/1903-sublimelinter-css.png\" alt=\"SublimeLinter CSS\u306e\u30a8\u30e9\u30fc\u8868\u793a\uff08\u30b9\u30af\u30ea\u30fc\u30f3\u30b7\u30e7\u30c3\u30c8\u753b\u50cf\uff09\" width=\"137\" height=\"68\"  \/><\/p>\n<h5>\u5fc5\u8981\u306a\u3082\u306e<\/h5>\n<ul>\n<li><a href=\"https:\/\/nodejs.org\/ja\/\">Node.js<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/CSSLint\/csslint\">GitHub &#8211; CSSLint\/csslint<\/a><\/li>\n<\/ul>\n<h5>\u624b\u9806<\/h5>\n<ul>\n<li>node.js\u306fCSScomb\u5c0e\u5165\u6642\u306b\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u6e08\u306a\u306e\u3067\u30b9\u30ad\u30c3\u30d7\u3002\n<ul>\n<li><a href=\"https:\/\/hi3103.net\/notes\/web\/1056\">SublimeText\u306bCSScomb\u3092\u5c0e\u5165\u3059\u308b<\/a><\/li>\n<\/ul>\n<\/li>\n<li>csslint\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3059\u308b\n<ul>\n<li>Terminal\u304b\u3089\u4ee5\u4e0b\u3092\u5b9f\u884c<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<pre><code>$ npm install -g csslint\n\/usr\/local\/bin\/csslint -&gt; \/usr\/local\/lib\/node_modules\/csslint\/dist\/cli.js\n1.  csslint@1.0.5\nadded 3 packages from 25 contributors in 3.369s<\/code><\/pre>\n<ul>\n<li>Package Control\u304b\u3089\u300cSublimeLinter-csslint\u300d\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb<\/li>\n<\/ul>\n<h4>JavaScript<\/h4>\n<blockquote>\n<p><a href=\"https:\/\/github.com\/SublimeLinter\/SublimeLinter-jshint\">GitHub &#8211; SublimeLinter\/SublimeLinter-jshint<\/a><br \/>\nBefore installing this plugin, ensure that jshint (2.5.0 or later) is installed on your system. <\/p>\n<\/blockquote>\n<h5>\u30a8\u30e9\u30fc\u8868\u793a\u30b5\u30f3\u30d7\u30eb<\/h5>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/hi3103.net\/notes\/img\/uploads\/2017\/03\/1903-sublimelinter-js.png\" alt=\"SublimeLinter javascript\u306e\u30a8\u30e9\u30fc\u8868\u793a\uff08\u30b9\u30af\u30ea\u30fc\u30f3\u30b7\u30e7\u30c3\u30c8\u753b\u50cf\uff09\" width=\"256\" height=\"89\"  \/><\/p>\n<h5>\u5fc5\u8981\u306a\u3082\u306e<\/h5>\n<ul>\n<li><a href=\"https:\/\/nodejs.org\/ja\/\">Node.js<\/a><\/li>\n<li><a href=\"https:\/\/jshint.com\/\">JSHint<\/a><\/li>\n<\/ul>\n<h5>\u624b\u9806<\/h5>\n<ul>\n<li>node.js\u306f<a href=\"https:\/\/hi3103.net\/notes\/web\/1056\">CSScomb\u5c0e\u5165\u6642<\/a>\u306b\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u6e08\u306a\u306e\u3067\u30b9\u30ad\u30c3\u30d7\u3002<\/li>\n<li>JSHint\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3059\u308b\n<ul>\n<li>Terminal\u304b\u3089\u4ee5\u4e0b\u3092\u5b9f\u884c<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<pre><code>npm install -g jshint<\/code><\/pre>\n<ul>\n<li>Package Control\u304b\u3089\u300cSublimeLinter-jshint\u300d\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb<\/li>\n<\/ul>\n<h3>npm\u30b3\u30de\u30f3\u30c9\u5b9f\u884c\u6642\u306b\u30d1\u30fc\u30df\u30c3\u30b7\u30e7\u30f3\u30a8\u30e9\u30fc\u304c\u51fa\u3066\u3057\u307e\u3063\u305f\u5834\u5408<\/h3>\n<ul>\n<li>npm\u30b3\u30de\u30f3\u30c9\u5b9f\u884c\u6642\u306b\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306e\u66f8\u304d\u8fbc\u307f\u6a29\u9650\u304c\u306a\u3044\u3068\u30a8\u30e9\u30fc\u304c\u51fa\u3066\u3057\u307e\u3063\u305f\u3002<\/li>\n<\/ul>\n<pre><code>npm WARN checkPermissions Missing write access to \/usr\/local\/lib\/node_modules\nnpm ERR! path \/usr\/local\/lib\/node_modules\nnpm ERR! code EACCES\nnpm ERR! errno -13\nnpm ERR! syscall access\nnpm ERR! Error: EACCES: permission denied, access '\/usr\/local\/lib\/node_modules'\n\uff08\u7565\uff09<\/code><\/pre>\n<ul>\n<li>\u4ee5\u4e0b\u306e\u30a8\u30f3\u30c8\u30ea\u30fc\u3092\u53c2\u8003\u306b\u5bfe\u51e6\u3059\u308b\u3002\n<ul>\n<li><a href=\"http:\/\/neos21.hatenablog.com\/entry\/2019\/01\/02\/080000\">npm \u306e\u30b0\u30ed\u30fc\u30d0\u30eb\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u306b\u5931\u6557\u3057\u305f\u3089 &#8211; Corredor<\/a><\/li>\n<\/ul>\n<\/li>\n<li>\u73fe\u72b6\u306e\u6a29\u9650\u3092\u78ba\u8a8d\u3002<\/li>\n<\/ul>\n<pre><code>$ ls -l \/usr\/local\/lib\n\uff08\u7565\uff09\nlrwxr-xr-x    1 hi3103  admin    38 10 24 01:34 libxvidcore.a -&gt; ..\/Cellar\/xvid\/1.3.5\/lib\/libxvidcore.a\ndrwxr-xr-x    3 root    wheel    96 10 24 21:37 node_modules\nlrwxr-xr-x    1 hi3103  admin    41  3 21 22:11 openjpeg-2.3 -&gt; ..\/Cellar\/openjpeg\/2.3.0\/lib\/openjpeg-2.3\n\uff08\u7565\uff09<\/code><\/pre>\n<ul>\n<li>node_modules \u306e\u6240\u6709\u8005:\u30b0\u30eb\u30fc\u30d7\u304croot:wheel\u306b\u306a\u3063\u3066\u3044\u308b\u306e\u3067\u3001\u307b\u304b\u306b\u3042\u308f\u305b\u3066hi3103(\u30e6\u30fc\u30b6\u540d):admin\u306b\u5909\u66f4<\/li>\n<\/ul>\n<pre><code>$ sudo chown hi3103:admin \/usr\/local\/lib\/node_modules\/\nPassword: \u2192\u30ed\u30b0\u30a4\u30f3\u30d1\u30b9\u30ef\u30fc\u30c9\u3092\u5165\u529b<\/code><\/pre>\n<ul>\n<li>\u78ba\u8a8d<\/li>\n<\/ul>\n<pre><code>$ Alan:~ hi3103$ ls -l \/usr\/local\/lib | grep 'node_modules'\ndrwxr-xr-x    3 hi3103  admin    96 10 24 21:37 node_modules<\/code><\/pre>\n<h3>\u53c2\u8003URL<\/h3>\n<ul>\n<li><a href=\"https:\/\/liginc.co.jp\/web\/js\/73704\">Sublime Text3\u3067\u69cb\u6587\u30a8\u30e9\u30fc\u3092\u30c1\u30a7\u30c3\u30af\u3059\u308b\u30d7\u30e9\u30b0\u30a4\u30f3\u304c\u8d85\u7d76\u4fbf\u5229<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>SublimeLinter\u3068\u306f SublimeLinter http:\/\/www.sublimelinter.com\/ SublimeText\u4e0a\u3067\u30b3\u30fc\u30c9\u306e\u69cb\u6587\u30c1\u30a7\u30c3\u30af\u3092\u30ea\u30a2\u30eb\u30bf\u30a4\u30e0\u3067\u884c\u3048\u308b\u30d7\u30e9\u30b0\u30a4\u30f3 \u624b\u9806 \u300cSublim [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[93],"tags":[86,95,45,30],"class_list":["post-1086","post","type-post","status-publish","format-standard","hentry","category-dev","tag-css","tag-html","tag-javascript","tag-sublimetext"],"_links":{"self":[{"href":"https:\/\/hi3103.net\/notes\/wp-json\/wp\/v2\/posts\/1086","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/hi3103.net\/notes\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/hi3103.net\/notes\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/hi3103.net\/notes\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/hi3103.net\/notes\/wp-json\/wp\/v2\/comments?post=1086"}],"version-history":[{"count":0,"href":"https:\/\/hi3103.net\/notes\/wp-json\/wp\/v2\/posts\/1086\/revisions"}],"wp:attachment":[{"href":"https:\/\/hi3103.net\/notes\/wp-json\/wp\/v2\/media?parent=1086"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/hi3103.net\/notes\/wp-json\/wp\/v2\/categories?post=1086"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/hi3103.net\/notes\/wp-json\/wp\/v2\/tags?post=1086"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}