Son CV dans un terminal web en Javascript!
https://terminal-cv.gregandev.fr
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
80 lines
1.8 KiB
80 lines
1.8 KiB
1 year ago
|
/*
|
||
|
Language: Apache Access Log
|
||
|
Author: Oleg Efimov <efimovov@gmail.com>
|
||
|
Description: Apache/Nginx Access Logs
|
||
|
Website: https://httpd.apache.org/docs/2.4/logs.html#accesslog
|
||
|
*/
|
||
|
|
||
|
/** @type LanguageFn */
|
||
|
function accesslog(hljs) {
|
||
|
// https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods
|
||
|
const HTTP_VERBS = [
|
||
|
"GET", "POST", "HEAD", "PUT", "DELETE", "CONNECT", "OPTIONS", "PATCH", "TRACE"
|
||
|
];
|
||
|
return {
|
||
|
name: 'Apache Access Log',
|
||
|
contains: [
|
||
|
// IP
|
||
|
{
|
||
|
className: 'number',
|
||
|
begin: '^\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}(:\\d{1,5})?\\b',
|
||
|
relevance: 5
|
||
|
},
|
||
|
// Other numbers
|
||
|
{
|
||
|
className: 'number',
|
||
|
begin: '\\b\\d+\\b',
|
||
|
relevance: 0
|
||
|
},
|
||
|
// Requests
|
||
|
{
|
||
|
className: 'string',
|
||
|
begin: '"(' + HTTP_VERBS.join("|") + ')',
|
||
|
end: '"',
|
||
|
keywords: HTTP_VERBS.join(" "),
|
||
|
illegal: '\\n',
|
||
|
relevance: 5,
|
||
|
contains: [{
|
||
|
begin: 'HTTP/[12]\\.\\d',
|
||
|
relevance: 5
|
||
|
}]
|
||
|
},
|
||
|
// Dates
|
||
|
{
|
||
|
className: 'string',
|
||
|
// dates must have a certain length, this prevents matching
|
||
|
// simple array accesses a[123] and [] and other common patterns
|
||
|
// found in other languages
|
||
|
begin: /\[\d[^\]\n]{8,}\]/,
|
||
|
illegal: '\\n',
|
||
|
relevance: 1
|
||
|
},
|
||
|
{
|
||
|
className: 'string',
|
||
|
begin: /\[/,
|
||
|
end: /\]/,
|
||
|
illegal: '\\n',
|
||
|
relevance: 0
|
||
|
},
|
||
|
// User agent / relevance boost
|
||
|
{
|
||
|
className: 'string',
|
||
|
begin: '"Mozilla/\\d\\.\\d \\(',
|
||
|
end: '"',
|
||
|
illegal: '\\n',
|
||
|
relevance: 3
|
||
|
},
|
||
|
// Strings
|
||
|
{
|
||
|
className: 'string',
|
||
|
begin: '"',
|
||
|
end: '"',
|
||
|
illegal: '\\n',
|
||
|
relevance: 0
|
||
|
}
|
||
|
]
|
||
|
};
|
||
|
}
|
||
|
|
||
|
module.exports = accesslog;
|