From 2f61b11a5a4dfac10f8190714751b2c0bb91694a Mon Sep 17 00:00:00 2001 From: Gergely Polonkai Date: Mon, 27 Apr 2015 11:00:04 +0200 Subject: [PATCH] Move post code chunks to Gists Also, remove highlight specific things from style.sass --- ...es-with-mod-proxy-and-mod-rewrite.markdown | 10 +- ...th-your-roles-coming-from-the-orm.markdown | 20 +- ...ession-cookie-s-name-in-symfony-2.markdown | 8 +- ...ation-array-of-associative-arrays.markdown | 38 +- ...n-enum-type-in-glib-s-type-system.markdown | 73 +--- _posts/2013-03-05-haversine-in-mysql.markdown | 11 +- ...te-tracking-branches-side-by-side.markdown | 33 +- ...m-type-in-glib-glib-mkenums-magic.markdown | 118 +----- ...ng-numbers-to-n-decimals-in-emacs.markdown | 20 +- ...ect-to-find-the-first-good-commit.markdown | 7 +- css/style.sass | 347 +----------------- 11 files changed, 20 insertions(+), 665 deletions(-) diff --git a/_posts/2011-06-10-proxy-only-non-existing-files-with-mod-proxy-and-mod-rewrite.markdown b/_posts/2011-06-10-proxy-only-non-existing-files-with-mod-proxy-and-mod-rewrite.markdown index 6510da1..f07d690 100644 --- a/_posts/2011-06-10-proxy-only-non-existing-files-with-mod-proxy-and-mod-rewrite.markdown +++ b/_posts/2011-06-10-proxy-only-non-existing-files-with-mod-proxy-and-mod-rewrite.markdown @@ -17,14 +17,6 @@ hosting the page yet. Until we get it in our hands, I did a trick. I enabled `mod_rewrite`, `mod_proxy` and `mod_proxy_http`, then added the following lines to my apache config: -{% highlight apache %} -RewriteEngine on -RewriteRule ^/$ http://172.16.72.131:8080/ [QSA,L,P] -RewriteCond %{REQUEST_FILENAME} !-f -RewriteRule ^/(.*) http://172.16.72.131:8080/$1 [QSA,L,P] - -Order allow,deny -Allow from all -{% endhighlight %} +{% gist gergelypolonkai/47680bfa44eb29708f20 %} I’m not totally sure it’s actually secure, but it works for now. diff --git a/_posts/2012-09-16-symfony-2-create-role-and-class-based-acls-with-your-roles-coming-from-the-orm.markdown b/_posts/2012-09-16-symfony-2-create-role-and-class-based-acls-with-your-roles-coming-from-the-orm.markdown index 67f5b00..f2282a0 100644 --- a/_posts/2012-09-16-symfony-2-create-role-and-class-based-acls-with-your-roles-coming-from-the-orm.markdown +++ b/_posts/2012-09-16-symfony-2-create-role-and-class-based-acls-with-your-roles-coming-from-the-orm.markdown @@ -24,9 +24,7 @@ own role hierarchy service that implements `RoleHierarchyInterface`. So far so good, first tests. It soon turned out that if `User::getRoles()` returns a `DoctrineCollection` as it does by default, then the standard -{% highlight php %} -$this->get('security.context')->isGranted('ROLE_ADMIN'); -{% endhighlight %} +{% gist gergelypolonkai/883ace4f35e440f6fe0f WhatEver.php %} doesn’t work. I know, it should not be hard coded, as my roles and permission tables are dynamic, I have just tested. So I fixed my `User` entity so @@ -37,24 +35,12 @@ return the original collection, but I think it will never be used. After that, I had to implement some more features so I put this task away. Then, I tried to create my first ACL. -{% highlight php %} -$securityIdentity = new RoleSecurityIdentity('ROLE_ADMIN'); -$objectIdentity = new ObjectIdentity('newsClass', 'Acme\\DemoBundle\\Entity\\News'); -$acl = $aclProvider->createAcl($objectIdentity); - -$acl->insertClassAce($securityIdentity, MaskBuilder::MASK_OWNER); -$aclProvider->updateAcl($acl); -{% endhighlight %} +{% gist gergelypolonkai/883ace4f35e440f6fe0f WhatEver2.php %} I was about to check if the user who is logged in has an `OWNER` permission on the `User` class. -{% highlight php %} -$this->objectIdentity = new ObjectIdentity(self::OBJECT_ID, self::OBJECT_FQCN); -if ($this->securityContext->isGranted('OWNER', $this->objectIdentity) === false) { - throw new AccessDeniedException('You don’t have the required permissions!'); -} -{% endhighlight %} +{% gist gergelypolonkai/883ace4f35e440f6fe0f WhatEver3.php %} The ACL was defined based on a role, so everyone who had the `ROLE_ADMIN` role should gain access to the user listing page. But they didn’t. It took several diff --git a/_posts/2012-10-13-changing-the-session-cookie-s-name-in-symfony-2.markdown b/_posts/2012-10-13-changing-the-session-cookie-s-name-in-symfony-2.markdown index 90e6835..4e86a3d 100644 --- a/_posts/2012-10-13-changing-the-session-cookie-s-name-in-symfony-2.markdown +++ b/_posts/2012-10-13-changing-the-session-cookie-s-name-in-symfony-2.markdown @@ -17,10 +17,4 @@ the same name. To change this, you will have to modify the `config.yml` file like this: -{% highlight yaml %} -session: - name: SiteSpecificSessionName - lifetime: 3600 -{% endhighlight %} - -I hope it helps some of you. +{% gist gergelypolonkai/c695670ecca2809f7c93 %} \ No newline at end of file diff --git a/_posts/2012-12-20-symfony-2-configuration-array-of-associative-arrays.markdown b/_posts/2012-12-20-symfony-2-configuration-array-of-associative-arrays.markdown index 5c2ed11..a78f385 100644 --- a/_posts/2012-12-20-symfony-2-configuration-array-of-associative-arrays.markdown +++ b/_posts/2012-12-20-symfony-2-configuration-array-of-associative-arrays.markdown @@ -13,44 +13,10 @@ author: Few days ago I have struggled with a problem using Symfony2 configuration. I wanted to add the following kind of configuration to `config.yml`: -{% highlight yaml %} -acme_demo: - transitions: - - { hc_cba: 180 } - - { cba_hc: -1 } -{% endhighlight %} +{% gist gergelypolonkai/30440e25f7a447730064 config.yml %} The problem was that the stuff under `transitions` is dynamic, so those `hc_cba` and `cba_hc` tags can be pretty much anything. After hitting many errors, I came to the solution: -{% highlight php %} -children() - ->arrayNode('state_machine') - ->requiresAtLeastOneElement() - ->beforeNormalization() - ->ifArray() - ->then(function($values) { - $ret = array(); - - foreach ($values as $value) { - foreach ($value as $transition => $time) { - $ret[] = array('transition' => $transition, 'time' => e); - } - } - - return $ret; - }) - ->end() - ->prototype('array') - ->children() - ->scalarNode('transition')->end() - ->scalarNode('time')->end() - ->end() - ->end() - ->end() - ->end() -; -{% endhighlight %} +{% gist gergelypolonkai/30440e25f7a447730064 DynarrayConfiguration.php %} diff --git a/_posts/2013-01-06-registering-an-enum-type-in-glib-s-type-system.markdown b/_posts/2013-01-06-registering-an-enum-type-in-glib-s-type-system.markdown index c8a7873..26ed44e 100644 --- a/_posts/2013-01-06-registering-an-enum-type-in-glib-s-type-system.markdown +++ b/_posts/2013-01-06-registering-an-enum-type-in-glib-s-type-system.markdown @@ -20,78 +20,9 @@ feature](https://developer.gnome.org/gobject/unstable/gtype-non-instantiable.htm obvious. Making the long story short, I have checked with the `GIO` sources for an example, and using that, I have created this small, working chunk: -{% highlight c %} -#ifndef __WMUD_CLIENT_STATE_H__ -#define __WMUD_CLIENT_STATE_H__ +{% gist gergelypolonkai/47794b6fb94484f8160b client-state.h %} -#include - -/** - * WmudClientState: - * @WMUD_CLIENT_STATE_FRESH: Client is newly connected. Waiting for a login - * player name - * @WMUD_CLIENT_STATE_PASSWAIT: Login player name is entered, waiting for a - * login password - * @WMUD_CLIENT_STATE_MENU: Authentication was successful, player is now in the - * main game menu - * @WMUD_CLIENT_STATE_INGAME: Character login was successful, player is now - * in-game - * @WMUD_CLIENT_STATE_YESNO: Player was asked a yes/no question, and we are - * waiting for the answer. client.yesNoCallback MUST be set at this point! - * TODO: if wmudClient had a prevState field, and there would be some hooks - * that are called before and after the client enters a new state, this - * could be a three-state stuff, in which the player can enter e.g ? as - * the answer, so they would be presented with the question again. - * @WMUD_CLIENT_STATE_REGISTERING: Registering a new player. Waiting for the - * e-mail address to be given - * @WMUD_CLIENT_STATE_REGEMAIL_CONFIRM: E-mail address entered séms valid, - * waiting for confirmation - * - * Game client states. - */ -typedef enum { - WMUD_CLIENT_STATE_FRESH, - WMUD_CLIENT_STATE_PASSWAIT, - WMUD_CLIENT_STATE_MENU, - WMUD_CLIENT_STATE_INGAME, - WMUD_CLIENT_STATE_YESNO, - WMUD_CLIENT_STATE_REGISTERING, - WMUD_CLIENT_STATE_REGEMAIL_CONFIRM -} WmudClientState; - - -GType wmud_client_state_get_type (void) G_GNUC_CONST; -#define WMUD_TYPE_CLIENT_STATE (wmud_client_state_get_type()) - -#endif /* __WMUD_CLIENT_STATE_H__ */ -{% endhighlight %} - -{% highlight c %} -#include "wmudclientstate.h" - -GType -wmud_client_state_get_type (void) -{ - static volatile gsize g_define_type_id__volatile = 0; - - if (g_once_init_enter(&g_define_type_id__volatile)) { - static const GEnumValue values[] = { - { WMUD_CLIENT_STATE_FRESH, "WMUD_CLIENT_STATE_FRESH", "fresh" }, - { WMUD_CLIENT_STATE_PASSWAIT, "WMUD_CLIENT_STATE_PASSWAIT", "passwait" }, - { WMUD_CLIENT_STATE_MENU, "WMUD_CLIENT_STATE_MENU", "menu" }, - { WMUD_CLIENT_STATE_INGAME, "WMUD_CLIENT_STATE_INGAME", "ingame" }, - { WMUD_CLIENT_STATE_YESNO, "WMUD_CLIENT_STATE_YESNO", "yesno" }, - { WMUD_CLIENT_STATE_REGISTERING, "WMUD_CLIENT_STATE_REGISTERING", "registering" }, - { WMUD_CLIENT_STATE_REGEMAIL_CONFIRM, "WMUD_CLIENT_STATE_REGEMAIL_CONFIRM", "regemail-confirm" }, - { 0, NULL, NULL } - }; - GType g_define_type_id = g_enum_register_static(g_intern_static_string("WmudClientState"), values); - g_once_init_leave(&g_define_type_id__volatile, g_define_type_id); - } - - return g_define_type_id__volatile; -} -{% endhighlight %} +{% gist gergelypolonkai/47794b6fb94484f8160b client-state.c %} Still, it can be made more perfect by using the [glib-mkenums](http://developer.gnome.org/gobject/stable/glib-mkenums.html) diff --git a/_posts/2013-03-05-haversine-in-mysql.markdown b/_posts/2013-03-05-haversine-in-mysql.markdown index 8afed61..36cb355 100644 --- a/_posts/2013-03-05-haversine-in-mysql.markdown +++ b/_posts/2013-03-05-haversine-in-mysql.markdown @@ -14,13 +14,4 @@ Just insert it in your database, feed them two Google coordinates, and you get the distance in kilometres. If you happen to need it in miles, change the constant `12756.200` in the `RETURN` row to `7922.6` instead. -{% highlight sql %} -DELIMITER $$ - -CREATE FUNCTION `haversine` (lng1 FLOAT, lat1 FLOAT, lng2 FLOAT, lat2 FLOAT) -RETURNS float NO SQL DETERMINISTIC -BEGIN - SET @a = ABS(POWER(SIN(RADIANS(lat1 - lat2)) / 2, 2) + COS(RADIANS(lat1)) * COS(RADIANS(lat2)) * POWER(SIN(RADIANS(lng1 - lng2)) / 2, 2)); - RETURN 12756.200 * ATAN2(SQRT(@a), SQRT(1 - @a)); -END$$ -{% endhighlight %} +{% gist gergelypolonkai/bdad1cf2d410853bef35 %} \ No newline at end of file diff --git a/_posts/2014-07-18-list-git-branches-and-their-remote-tracking-branches-side-by-side.markdown b/_posts/2014-07-18-list-git-branches-and-their-remote-tracking-branches-side-by-side.markdown index daab2ba..73e1503 100644 --- a/_posts/2014-07-18-list-git-branches-and-their-remote-tracking-branches-side-by-side.markdown +++ b/_posts/2014-07-18-list-git-branches-and-their-remote-tracking-branches-side-by-side.markdown @@ -20,38 +20,7 @@ does the work for me. Its only requirements are git (of course), and the `column` command, which is pretty obviously present on every POSIX compliant systems (even OSX). -{% highlight sh %} -#! /bin/sh - -COLUMN=`which column 2> /dev/null` -if test -z $COLUMN -then - echo "`column' is not found in PATH. Cannot continue." - exit 1 -fi - -current_branch=`git rev-parse --abbrev-ref HEAD` - -for branch in $(git for-each-ref --shell --format='%(refname)' refs/heads | sed -e s/^\'refs\\/heads\\///-e s/\'$//) -do - remote=`git config branch.$branch.remote` - merge=`git config branch.$branch.merge | sed -e 's/^refs\/heads\///'` - - [ x"$current_branch" == x"$branch" ] && echo -n '*' - - echo -n "$branch" - - if ! test -z $merge - then - echo -en "\t" - echo -n $remote - echo -n / - echo -n $merge - fi - - echo -done | $COLUMN -t -{% endhighlight %} +{% gist gergelypolonkai/8af6a3e86b57dd4c250e %} I just put it in my path, and `git branches-with-remotes` does the work! diff --git a/_posts/2014-08-16-registering-an-enum-type-in-glib-glib-mkenums-magic.markdown b/_posts/2014-08-16-registering-an-enum-type-in-glib-glib-mkenums-magic.markdown index 93d3acb..e433dc6 100644 --- a/_posts/2014-08-16-registering-an-enum-type-in-glib-glib-mkenums-magic.markdown +++ b/_posts/2014-08-16-registering-an-enum-type-in-glib-glib-mkenums-magic.markdown @@ -20,14 +20,7 @@ In my other project, method. The following two rules in `Makefile.am` create `gswe-enumtypes.h` and `gswe-enumtypes.c`. -{% highlight make %} -gswe-enumtypes.h: $(gswe_enum_headers) gswe-enumtypes.h.template - $(GLIB_MKENUMS) --template $(filter %.template,$^) $(filter-out %.template,$^) > \ - gswe-enumtypes.h.tmp && mv gswe-enumtypes.h.tmp gswe-enumtypes.h -gswe-enumtypes.c: $(gswe_enum_headers) gswe-enumtypes.h gswe-enumtypes.c.template - $(GLIB_MKENUMS) --template $(filter %.template,$^) $(filter-out %.template,$^) > \ - gswe-enumtypes.c.tmp && mv gswe-enumtypes.c.tmp gswe-enumtypes.c -{% endhighlight %} +{% gist gergelypolonkai/1e2fdedb136de3ca67f0 Makefile %} `$(GLIB_MKENUMS)` is set in `configure` with `AC_PATH_PROG([GLIB_MKENUMS], [glib-mkenums])`. @@ -38,111 +31,6 @@ files, one for the header and one for the code. `$(gswe_enum_headers)` contains a list of all the header files that have enum types defined throughout the project. -{% highlight c %} -/*** BEGIN file-header ***/ -/* gswe-enumtypes.h - Enumeration types for SWE-GLib - * - * Copyright © 2013 Gergely Polonkai - * - * SWE-GLib is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 3 of the License, or - * (at your option) any later version. - * - * SWE-GLib is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this library; if not, see . - */ -#ifndef __GSWE_ENUM_TYPES_H__ -#define __GSWE_ENUM_TYPES_H__ -#include +{% gist gergelypolonkai/1e2fdedb136de3ca67f0 gswe-enumtypes.h %} -/*** END file-header ***/ - -/*** BEGIN file-production ***/ -/* enumerations from "@filename@" */ - -#include "@filename@" -/*** END file-production ***/ - -/*** BEGIN value-header ***/ -GType @enum_name@_get_type(void); -#define @ENUMPREFIX@_TYPE_@ENUMSHORT@ (@enum_name@_get_type()) -/*** END value-header ***/ - -/*** BEGIN file-tail ***/ - -#endif /* __GSWE_ENUM_TYPES_H__ */ -/*** END file-tail ***/ -{% endhighlight %} - -{% highlight c %} -/*** BEGIN file-header ***/ -/* gswe-enumtypes.c - Enumeration types for SWE-GLib - * - * Copyright © 2013 Gergely Polonkai - * - * SWE-GLib is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 3 of the License, or - * (at your option) any later version. - * - * SWE-GLib is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this library; if not, see . -*/ -#include "swe-glib.h" -#include "gswe-enumtypes.h" -#include "@filename@" - -/*** END file-header ***/ - -/*** BEGIN file-production ***/ -/* enumerations from "@filename@" */ -/*** END file-production ***/ - -/*** BEGIN value-header ***/ -GType -@enum_name@_get_type(void) -{ - static volatile gsize g_define_type_id__volatile = 0; - - gswe_init(); - - if (g_once_init_enter(&g;_define_type_id__volatile)) { - static const G@Type@Value values[] = { -/*** END value-header ***/ - -/*** BEGIN value-production ***/ - { - @VALUENAME@, - "@VALUENAME@", - "@valuenick@" - }, -/*** END value-production ***/ - -/*** BEGIN value-tail ***/ - { 0, NULL, NULL } - }; - - GType g_define_type_id = g_@type@_register_static( - g_intern_static_string("@EnumName@"), - values - ); - - g_once_init_leave(&g;_define_type_id__volatile, g_define_type_id); - } - - return g_define_type_id__volatile; -} - -/*** END value-tail ***/ -{% endhighlight %} +{% gist gergelypolonkai/1e2fdedb136de3ca67f0 gswe-enumtypes.c %} \ No newline at end of file diff --git a/_posts/2014-10-07-rounding-numbers-to-n-decimals-in-emacs.markdown b/_posts/2014-10-07-rounding-numbers-to-n-decimals-in-emacs.markdown index 4817c46..5f026e6 100644 --- a/_posts/2014-10-07-rounding-numbers-to-n-decimals-in-emacs.markdown +++ b/_posts/2014-10-07-rounding-numbers-to-n-decimals-in-emacs.markdown @@ -16,25 +16,7 @@ displayed in small size, so this amount of precision was irrelevant, and these numbers took almost half of my SVG images’ size. So I created an Elisp defun to round these numbers to 2 decimals: -{% highlight common-lisp %} -(defun get-number-at-point () - (interactive) - (skip-chars-backward "0123456789.-") - (or (looking-at "[0123456789.-]+") - (error "No number at point")) - (string-to-number (match-string 0))) - -(defun round-number-at-point-to-decimals (decimal-count) - (interactive "NDecimal count: ") - (let ((mult (expt 10 decimal-count))) - (replace-match (number-to-string - (/ - (fround - (* - mult - (get-number-at-point))) - mult))))) -{% endhighlight %} +{% gist gergelypolonkai/9c721ceda6d3079b4f05 %} This finds the first digit of the number under point (the cursor), and reduces its digits to the given amount (or the number given with `C-u`). It diff --git a/_posts/2015-02-26-using-git-bisect-to-find-the-first-good-commit.markdown b/_posts/2015-02-26-using-git-bisect-to-find-the-first-good-commit.markdown index 75c39ff..3fb30de 100644 --- a/_posts/2015-02-26-using-git-bisect-to-find-the-first-good-commit.markdown +++ b/_posts/2015-02-26-using-git-bisect-to-find-the-first-good-commit.markdown @@ -43,9 +43,4 @@ his local repository with the same technique). [This StackOverflow answer](http://stackoverflow.com/a/17153598/1305139) suggests the very same, but with some aliases: -{% highlight ini %} - -[alias] - bisect-fixed = bisect bad - bisect-unfixed = bisect good -{% endhighlight %} +{% gist gergelypolonkai/a98f4aab84659d60364e %} diff --git a/css/style.sass b/css/style.sass index 6ed12cb..be5938e 100644 --- a/css/style.sass +++ b/css/style.sass @@ -64,6 +64,10 @@ article.post margin-top: .8em margin-bottom: .5em +.gist-data + max-height: 300px + overflow: auto + body background-color: $page-background margin: 50px 0 0 0 @@ -82,349 +86,6 @@ body img padding-right: 1em - .highlight - background-color: #fdf6e3 - color: #586e75 - padding: 10px - - /* Line Numbers */ - /* Make line numbers unselectable: excludes line numbers from */ - /* copy-paste user ops */ - .lineno - color: #93a1a1 - -webkit-user-select: none - -moz-user-select: none - -o-user-select: none - - .lineno::-moz-selection /* Mozilla specific */ - background-color: transparent - - .lineno::selection /* Other major browsers */ - background-color: transparent - - .code-title - text-indent: 0 !important - font-size: 120% - font-weight: bold - - .code-description - border: 1px solid #333 - background-color: #d9d9d9 - padding: 3px - text-indent: 0 !important - margin: .5em 0 0 0 !important - font-size: 75% - color: #444 - - pre - font-family: monospace - padding: 5px - height: 300px - overflow: auto - color: #586e75 - - * - font-family: monospace - color: #586e75 - - code - /* Comment */ - .c - color: #93a1a1 - font-style: italic - - /* Error */ - .err - color: #586e75 - - /* Generic */ - .g - color: #586e75 - - /* Keyword */ - .k - color: #859900 - font-weight: bold - - /* Literal */ - .l - color: #586e75 - - /* Name */ - .n - color: #586e75 - - /* Operator */ - .o - color: #859900 - font-weight: bold - - /* Other */ - .x - color: #cb4b16 - - /* Punctuation */ - .p - color: #586e75 - - /* Comment.Multiline */ - .cm - color: #93a1a1 - font-style: italic - - /* Comment.Preproc */ - .cp - color: #859900 - font-weight: bold - - /* Comment.Single */ - .c1 - color: #93a1a1 - font-style: italic - - /* Comment.Special */ - .cs - color: #859900 - font-weight: bold - font-style: italic - - /* Generic.Deleted */ - .gd - color: #2aa198 - background-color: #ffdddd - - /* Generic.Deleted.Specific */ - .x - color: #000000 - background-color: #ffaaaa - - /* Generic.Emph */ - .ge - color: #586e75 - font-style: italic - - /* Generic.Error */ - .gr - color: #dc322f - - /* Generic.Heading */ - .gh - color: #cb4b16 - - /* Generic.Inserted */ - .gi - color: #859900 - - /* Generic.Output */ - .go - color: #586e75 - - /* Generic.Prompt */ - .gp - color: #586e75 - - /* Generic.Strong */ - .gs - color: #586e75 - font-weight: bold - - /* Generic.Subheading */ - .gu - color: #cb4b16 - - /* Generic.Traceback */ - .gt - color: #586e75 - - /* Keyword.Constant */ - .kc - color: #cb4b16 - font-weight: bold - - /* Keyword.Declaration */ - .kd - color: #268bd2 - font-weight: bold - - /* Keyword.Namespace */ - .kn - color: #859900 - - /* Keyword.Pseudo */ - .kp - color: #859900 - font-weight: bold - - /* Keyword.Reserved */ - .kr - color: #268bd2 - font-weight: bold - - /* Keyword.Type */ - .kt - color: #dc322f - font-weight: bold - - /* Literal.Date */ - .ld - color: #586e75 - - /* Literal.Number */ - .m - color: #2aa198 - - /* Literal.String */ - .s - color: #2aa198 - - /* Name.Attribute */ - .na - color: #586e75 - - /* Name.Builtin */ - .nb - color: #b58900 - - /* Name.Class */ - .nc - color: #268bd2 - font-weight: bold - - /* Name.Constant */ - .no - color: #cb4b16 - - /* Name.Decorator */ - .nd - color: #268bd2 - - /* Name.Entity */ - .ni - color: #cb4b16 - - /* Name.Exception */ - .ne - color: #cb4b16 - font-weight: bold - - /* Name.Function */ - .nf - color: #268bd2 - font-weight: bold - - /* Name.Label */ - .nl - color: #586e75 - - /* Name.Namespace */ - .nn - color: #586e75 - - /* Name.Other */ - .nx - color: #586e75 - - /* Name.Property */ - .py - color: #586e75 - - /* Name.Tag */ - .nt - color: #268bd2 - - /* Name.Variable */ - .nv - color: #268bd2 - - /* Operator.Word */ - .ow - color: #859900 - - /* Text.Whitespace */ - .w - color: #586e75 - - /* Literal.Number.Float */ - .mf - color: #2aa198 - - /* Literal.Number.Hex */ - .mh - color: #2aa198 - - /* Literal.Number.Integer */ - .mi - color: #2aa198 - - /* Literal.Number.Oct */ - .mo - color: #2aa198 - - /* Literal.String.Backtick */ - .sb - color: #93a1a1 - - /* Literal.String.Char */ - .sc - color: #2aa198 - - /* Literal.String.Doc */ - .sd - color: #586e75 - - /* Literal.String.Double */ - .s2 - color: #2aa198 - - /* Literal.String.Escape */ - .se - color: #cb4b16 - - /* Literal.String.Heredoc */ - .sh - color: #586e75 - - /* Literal.String.Interpol */ - .si - color: #2aa198 - - /* Literal.String.Other */ - .sx - color: #2aa198 - - /* Literal.String.Regex */ - .sr - color: #dc322f - - /* Literal.String.Single */ - .s1 - color: #2aa198 - - /* Literal.String.Symbol */ - .ss - color: #2aa198 - - /* Name.Builtin.Pseudo */ - .bp - color: #268bd2 - - /* Name.Variable.Class */ - .vc - color: #268bd2 - - /* Name.Variable.Global */ - .vg - color: #268bd2 - - /* Name.Variable.Instance */ - .vi - color: #268bd2 - - /* Literal.Number.Integer.Long */ - .il - color: #2aa198 - - #keywords-button font-size: 50% color: #7f7f7f