issue_comments

14 rows where issue = 276842536 sorted by updated_at descending

View and edit SQL

Suggested facets: created_at (date), updated_at (date)

user

author_association

issue

  • Ability to customize presentation of specific columns in HTML view · 14
id html_url issue_url node_id user created_at updated_at ▲ author_association body reactions issue
350519821 https://github.com/simonw/datasette/issues/153#issuecomment-350519821 https://api.github.com/repos/simonw/datasette/issues/153 MDEyOklzc3VlQ29tbWVudDM1MDUxOTgyMQ== simonw 9599 2017-12-10T02:08:45Z 2017-12-10T02:08:45Z OWNER

Also worth mentioning: as of #160 and #157 the datasette publish now, datasette publish heroku and datasette package commands all know how to bundle up any --static or --template-dir content and include it in the Docker image / Heroku/Now deployment that gets generated.

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
Ability to customize presentation of specific columns in HTML view 276842536
350519736 https://github.com/simonw/datasette/issues/153#issuecomment-350519736 https://api.github.com/repos/simonw/datasette/issues/153 MDEyOklzc3VlQ29tbWVudDM1MDUxOTczNg== simonw 9599 2017-12-10T02:06:01Z 2017-12-10T02:06:01Z OWNER

@ftrain Datasette 0.14 is now released with all of the above: https://github.com/simonw/datasette/releases/tag/0.14

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
Ability to customize presentation of specific columns in HTML view 276842536
349874052 https://github.com/simonw/datasette/issues/153#issuecomment-349874052 https://api.github.com/repos/simonw/datasette/issues/153 MDEyOklzc3VlQ29tbWVudDM0OTg3NDA1Mg== simonw 9599 2017-12-07T06:17:33Z 2017-12-07T06:17:33Z OWNER

In #159 I added a mechanism for easily customizing per-column displays, and I've added documentation showing an example of using this mechanism to set certain columns to display as unescaped HTML: http://datasette.readthedocs.io/en/latest/custom_templates.html#custom-templates

This fixes item 3, so I'm closing this ticket!

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
Ability to customize presentation of specific columns in HTML view 276842536
348255925 https://github.com/simonw/datasette/issues/153#issuecomment-348255925 https://api.github.com/repos/simonw/datasette/issues/153 MDEyOklzc3VlQ29tbWVudDM0ODI1NTkyNQ== simonw 9599 2017-11-30T17:12:03Z 2017-11-30T17:12:03Z OWNER

Documentation is now live for this: http://datasette.readthedocs.io/en/latest/custom_templates.html

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
Ability to customize presentation of specific columns in HTML view 276842536
348252037 https://github.com/simonw/datasette/issues/153#issuecomment-348252037 https://api.github.com/repos/simonw/datasette/issues/153 MDEyOklzc3VlQ29tbWVudDM0ODI1MjAzNw== ftrain 20264 2017-11-30T16:59:00Z 2017-11-30T16:59:00Z NONE

WOW!

--
Paul Ford // (646) 369-7128 // @ftrain

On Thu, Nov 30, 2017 at 11:47 AM, Simon Willison notifications@github.com
wrote:

Remaining work on this now lives in a milestone:
https://github.com/simonw/datasette/milestone/6


You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/simonw/datasette/issues/153#issuecomment-348248406,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AABPKHzaVPKwTOoHouK2aMUnM-mPnPk6ks5s7twzgaJpZM4Qq2zW
.

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
Ability to customize presentation of specific columns in HTML view 276842536
348248406 https://github.com/simonw/datasette/issues/153#issuecomment-348248406 https://api.github.com/repos/simonw/datasette/issues/153 MDEyOklzc3VlQ29tbWVudDM0ODI0ODQwNg== simonw 9599 2017-11-30T16:47:45Z 2017-11-30T16:47:45Z OWNER

Remaining work on this now lives in a milestone: https://github.com/simonw/datasette/milestone/6

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
Ability to customize presentation of specific columns in HTML view 276842536
348245843 https://github.com/simonw/datasette/issues/153#issuecomment-348245843 https://api.github.com/repos/simonw/datasette/issues/153 MDEyOklzc3VlQ29tbWVudDM0ODI0NTg0Mw== simonw 9599 2017-11-30T16:40:02Z 2017-11-30T16:40:02Z OWNER

It is now possible to over-ride templates on a per-database / per-row or per-
table basis.

When you access e.g. /mydatabase/mytable Datasette will look for the following:

- table-mydatabase-mytable.html
- table.html

If you provided a --template-dir argument to datasette serve it will look in
that directory first.

The lookup rules are as follows:

Index page (/):
    index.html

Database page (/mydatabase):
    database-mydatabase.html
    database.html

Table page (/mydatabase/mytable):
    table-mydatabase-mytable.html
    table.html

Row page (/mydatabase/mytable/id):
    row-mydatabase-mytable.html
    row.html

If a table name has spaces or other unexpected characters in it, the template
filename will follow the same rules as our custom <body> CSS classes
introduced in 8ab3a16 - for example, a table called "Food Trucks"
will attempt to load the following templates:

table-mydatabase-Food-Trucks-399138.html
table.html

It is possible to extend the default templates using Jinja template
inheritance. If you want to customize EVERY row template with some additional
content you can do so by creating a row.html template like this:

{% extends "default:row.html" %}

{% block content %}
<h1>EXTRA HTML AT THE TOP OF THE CONTENT BLOCK</h1>
<p>This line renders the original block:</p>
{{ super() }}
{% endblock %}
{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
Ability to customize presentation of specific columns in HTML view 276842536
348103270 https://github.com/simonw/datasette/issues/153#issuecomment-348103270 https://api.github.com/repos/simonw/datasette/issues/153 MDEyOklzc3VlQ29tbWVudDM0ODEwMzI3MA== simonw 9599 2017-11-30T07:16:40Z 2017-11-30T07:16:40Z OWNER

Every template now gets CSS classes in the body designed to support custom
styling.

The index template (the top level page at /) gets this:

<body class="index">

The database template (/dbname/) gets this:

<body class="db db-dbname">

The table template (/dbname/tablename) gets:

<body class="table db-dbname table-tablename">

The row template (/dbname/tablename/rowid) gets:

<body class="row db-dbname table-tablename">

The db-x and table-x classes use the database or table names themselves IF
they are valid CSS identifiers. If they aren't, we strip any invalid
characters out and append a 6 character md5 digest of the original name, in
order to ensure that multiple tables which resolve to the same stripped
character version still have different CSS classes.

Some examples (extracted from the unit tests):

"simple" => "simple"
"MixedCase" => "MixedCase"
"-no-leading-hyphens" => "no-leading-hyphens-65bea6"
"_no-leading-underscores" => "no-leading-underscores-b921bc"
"no spaces" => "no-spaces-7088d7"
"-" => "336d5e"
"no $ characters" => "no--characters-59e024"
{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
Ability to customize presentation of specific columns in HTML view 276842536
347928926 https://github.com/simonw/datasette/issues/153#issuecomment-347928926 https://api.github.com/repos/simonw/datasette/issues/153 MDEyOklzc3VlQ29tbWVudDM0NzkyODkyNg== simonw 9599 2017-11-29T17:09:40Z 2017-11-29T17:09:40Z OWNER

OK, that's point 1 covered.

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
Ability to customize presentation of specific columns in HTML view 276842536
347735598 https://github.com/simonw/datasette/issues/153#issuecomment-347735598 https://api.github.com/repos/simonw/datasette/issues/153 MDEyOklzc3VlQ29tbWVudDM0NzczNTU5OA== simonw 9599 2017-11-29T02:46:31Z 2017-11-29T02:47:27Z OWNER

To style individual columns you'll currently need to use the nth-of-type selector, e.g.:

td:nth-of-type(5):before { white-space: pre }
{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
Ability to customize presentation of specific columns in HTML view 276842536
347735724 https://github.com/simonw/datasette/issues/153#issuecomment-347735724 https://api.github.com/repos/simonw/datasette/issues/153 MDEyOklzc3VlQ29tbWVudDM0NzczNTcyNA== simonw 9599 2017-11-29T02:47:14Z 2017-11-29T02:47:14Z OWNER

(This only addresses point 2 in your issue description - points 1 and point 3 are still to come)

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
Ability to customize presentation of specific columns in HTML view 276842536
347735334 https://github.com/simonw/datasette/issues/153#issuecomment-347735334 https://api.github.com/repos/simonw/datasette/issues/153 MDEyOklzc3VlQ29tbWVudDM0NzczNTMzNA== simonw 9599 2017-11-29T02:45:03Z 2017-11-29T02:45:03Z OWNER

@ftrain OK I've shipped the first version of this. Here's the initial documentation:

Create a metadata.json file that looks like this:

{
    "extra_css_urls": [
        "https://simonwillison.net/static/css/all.bf8cd891642c.css"
    ],
    "extra_js_urls": [
        "https://code.jquery.com/jquery-3.2.1.slim.min.js"
    ]
}

Then start datasette like this:

datasette mydb.db --metadata=metadata.json

The CSS and JavaScript files will be linked in the <head> of every page.

You can also specify a SRI (subresource integrity hash) for these assets:

{
    "extra_css_urls": [
        {
            "url": "https://simonwillison.net/static/css/all.bf8cd891642c.css",
            "sri": "sha384-9qIZekWUyjCyDIf2YK1FRoKiPJq4PHt6tp/ulnuuyRBvazd0hG7pWbE99zvwSznI"
        }
    ],
    "extra_js_urls": [
        {
            "url": "https://code.jquery.com/jquery-3.2.1.slim.min.js",
            "sri": "sha256-k2WSCIexGzOj3Euiig+TlR8gA0EmPjuc79OEeY5L45g="
        }
    ]
}

Modern browsers will only execute the stylsheet or JavaScript if the SRI hash
matches the content served. You can generate hashes using www.srihash.org

This isn't shipped in a release yet, but you can still access these features in datasette publish like so:

datasette publish now mydb.db --metadata=metadata.json --branch=master

The --branch=master option will pull the latest master build of Datasette from GitHub.

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
Ability to customize presentation of specific columns in HTML view 276842536
347051331 https://github.com/simonw/datasette/issues/153#issuecomment-347051331 https://api.github.com/repos/simonw/datasette/issues/153 MDEyOklzc3VlQ29tbWVudDM0NzA1MTMzMQ== simonw 9599 2017-11-27T00:23:40Z 2017-11-27T03:58:49Z OWNER

One quick fix could be to add a extra_css_url key to the metadata.json format (which currently hosts title, license_url etc) - if populated, we can inject a link to that stylesheet on every page. We could add a few classes in strategic places that include the database and table names to give people styling hooks.

While we're at it, an extra_js_url key would let people go really nuts!

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
Ability to customize presentation of specific columns in HTML view 276842536
347050235 https://github.com/simonw/datasette/issues/153#issuecomment-347050235 https://api.github.com/repos/simonw/datasette/issues/153 MDEyOklzc3VlQ29tbWVudDM0NzA1MDIzNQ== simonw 9599 2017-11-27T00:06:24Z 2017-11-27T00:06:24Z OWNER

I've been thinking about 1. a bit - I actually think it would be fine to have a rule that says "if the contents of the cell starts with http:// or https:// and doesn't contain any whitespace, turn that into a link". If you need the non-linked version that will always be available in the JSON.

For the other two... I think #12 may be the way to go here: if you can easily over-ride the row.html and table.html templates for specific databases you can easily set pre-formatted text or similar for certain values - maybe even with CSS that targets a specific table column.

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
Ability to customize presentation of specific columns in HTML view 276842536

Advanced export

JSON shape: default, array, newline-delimited, object

CSV options:

CREATE TABLE [issue_comments] (
   [html_url] TEXT,
   [issue_url] TEXT,
   [id] INTEGER PRIMARY KEY,
   [node_id] TEXT,
   [user] INTEGER REFERENCES [users]([id]),
   [created_at] TEXT,
   [updated_at] TEXT,
   [author_association] TEXT,
   [body] TEXT,
   [reactions] TEXT,
   [issue] INTEGER REFERENCES [issues]([id])
);
CREATE INDEX [idx_issue_comments_issue]
                ON [issue_comments] ([issue]);
CREATE INDEX [idx_issue_comments_user]
                ON [issue_comments] ([user]);
Powered by Datasette · Query took 26.163ms · About: github-to-sqlite