First shot on #993 for taxonomies, in particular archives. #2778

Merged
merged 38 commits into from Jun 11, 2017

Conversation

Projects
None yet
3 participants
@felixfontein
Contributor

felixfontein commented May 19, 2017

  • I’ve read the guidelines for contributing.
  • I updated AUTHORS.txt and CHANGES.txt (if the change is non-trivial) and documentation (if applicable).
  • I tested my changes.

This PR adds functionality to the taxonomy system to be able to reference translated classifications in taxonomies, with an example how to use this for archives. See #993.

The generated archives currently look ugly due to no CSS :)

nikola/plugins/task/archive.py
@@ -53,6 +53,7 @@ class Archive(Taxonomy):
minimum_post_count_per_classification_in_overview = 1
omit_empty_classifications = False
also_create_classifications_from_other_languages = False
+ other_language_variable_name = 'other_archive_languages'

This comment has been minimized.

@Kwpolska

Kwpolska May 20, 2017

Member

Update docs (template-variables.rst).

@Kwpolska

Kwpolska May 20, 2017

Member

Update docs (template-variables.rst).

This comment has been minimized.

@felixfontein

felixfontein May 20, 2017

Contributor

Good point. Thanks for reminding me!

@felixfontein

felixfontein May 20, 2017

Contributor

Good point. Thanks for reminding me!

@felixfontein

This comment has been minimized.

Show comment
Hide comment
@felixfontein

felixfontein May 20, 2017

Contributor

Ok, basic styles are now there as well.

Contributor

felixfontein commented May 20, 2017

Ok, basic styles are now there as well.

nikola/utils.py
+ # translations themselves
+ args = {'translation_manager': self, 'site': site,
+ 'posts_per_classification_per_language': posts_per_classification_per_language}
+ signal('_translations_config'.format(basename.lower())).send(args)

This comment has been minimized.

@felixfontein

felixfontein May 21, 2017

Contributor

Good catch!

@felixfontein

felixfontein May 21, 2017

Contributor

Good catch!

@felixfontein

This comment has been minimized.

Show comment
Hide comment
@felixfontein

felixfontein May 21, 2017

Contributor

Ok, now there's basic CSS, support for the default themes (base and bootstrap3), and support for sections, tags, categories (with explicit configuration, disabled by default) and authors (enabled by default).

Contributor

felixfontein commented May 21, 2017

Ok, now there's basic CSS, support for the default themes (base and bootstrap3), and support for sections, tags, categories (with explicit configuration, disabled by default) and authors (enabled by default).

@felixfontein

This comment has been minimized.

Show comment
Hide comment
@felixfontein

felixfontein May 21, 2017

Contributor

(Rebasing to master, to get rid of some annoying problems already fixed there.)

Contributor

felixfontein commented May 21, 2017

(Rebasing to master, to get rid of some annoying problems already fixed there.)

@Kwpolska

Pretty good, but I’m not a fan of variable variable names and variable variable existence.

docs/template-variables.rst
+``posts`` list<Post>? List of items for other templates
+``kind`` str The classification name
+``permalink`` str Permanent link to page
+``<other_language_variable_name>`` list<tuple> List of triples ``(other_lang, other_classification, title)``

This comment has been minimized.

@Kwpolska

Kwpolska May 23, 2017

Member

👎 for making even more variable variable names.

@Kwpolska

Kwpolska May 23, 2017

Member

👎 for making even more variable variable names.

This comment has been minimized.

@felixfontein

felixfontein May 23, 2017

Contributor

How about fixing other_languages then?

@felixfontein

felixfontein May 23, 2017

Contributor

How about fixing other_languages then?

This comment has been minimized.

@Kwpolska

Kwpolska May 23, 2017

Member

Much better (see also: #2778 (comment) )

@Kwpolska

Kwpolska May 23, 2017

Member

Much better (see also: #2778 (comment) )

This comment has been minimized.

@felixfontein

felixfontein May 23, 2017

Contributor

Fixed.

@felixfontein

felixfontein May 23, 2017

Contributor

Fixed.

nikola/conf.py.in
+# example if they have different meaning:
+# [
+# {'en': 'cloud', 'de': 'Wolke'}, # the fluffy thing in the sky
+# {'en': 'cloud', 'de': 'Cloud'}, # cloud computing

This comment has been minimized.

@Kwpolska

Kwpolska May 23, 2017

Member

How is this going to work? Do English-language readers have to separate sky and butt-computing posts themselves, while the Germans get this done for them?

Perhaps we shouldn’t encourage users to make ambiguous layouts like that, and even prevent duplicate values.

@Kwpolska

Kwpolska May 23, 2017

Member

How is this going to work? Do English-language readers have to separate sky and butt-computing posts themselves, while the Germans get this done for them?

Perhaps we shouldn’t encourage users to make ambiguous layouts like that, and even prevent duplicate values.

This comment has been minimized.

@felixfontein

felixfontein May 23, 2017

Contributor

That was just the first example which came to my mind :) It could also be the other way around.

The problem is that when you're writing a blog over a longer time, you sooner or later have cases where you use one tag for two different things because the word has multiple meanings. If you start translating stuff, you can end up having that tag split up into two different tags.

While this kind of sucks, I'd really do not want to disallow this. If a user wants to use the same tag for different things (for example, because he has already been doing that for years and only recently noticed), then why not let him do that?

What we can do is not mention this explicitly in a comment, though, if you'd prefer that.

@felixfontein

felixfontein May 23, 2017

Contributor

That was just the first example which came to my mind :) It could also be the other way around.

The problem is that when you're writing a blog over a longer time, you sooner or later have cases where you use one tag for two different things because the word has multiple meanings. If you start translating stuff, you can end up having that tag split up into two different tags.

While this kind of sucks, I'd really do not want to disallow this. If a user wants to use the same tag for different things (for example, because he has already been doing that for years and only recently noticed), then why not let him do that?

What we can do is not mention this explicitly in a comment, though, if you'd prefer that.

This comment has been minimized.

@Kwpolska

Kwpolska May 25, 2017

Member

Yeah, don’t mention it. The five users who need it will discover it by mistake, or will fix their tags.

@Kwpolska

Kwpolska May 25, 2017

Member

Yeah, don’t mention it. The five users who need it will discover it by mistake, or will fix their tags.

This comment has been minimized.

@felixfontein

felixfontein May 24, 2017

Contributor

@Kwpolska: so do you want the examples removed/simplified to not use collisions?

@felixfontein

felixfontein May 24, 2017

Contributor

@Kwpolska: so do you want the examples removed/simplified to not use collisions?

This comment has been minimized.

@Kwpolska

Kwpolska May 25, 2017

Member

Remove lines 360-370, 432-436 and replace them with:

# Format: a list of dicts {language: translation, language2: translation2, …}
# See POSTS_SECTION_TRANSLATIONS example above.
@Kwpolska

Kwpolska May 25, 2017

Member

Remove lines 360-370, 432-436 and replace them with:

# Format: a list of dicts {language: translation, language2: translation2, …}
# See POSTS_SECTION_TRANSLATIONS example above.

This comment has been minimized.

@felixfontein

felixfontein May 25, 2017

Contributor

Both done.

@felixfontein

felixfontein May 25, 2017

Contributor

Both done.

nikola/conf.py.in
+# If set to True, a tag in a language will be treated as a translation
+# of the literally same tag in all other languages. Enable this if you
+# do not translate tags, for example.
+# TAG_TRANSLATIONS_ADD_DEFAULTS = False

This comment has been minimized.

@Kwpolska

Kwpolska May 23, 2017

Member

I wouldn’t mind a True value for this with uncommenting.

@Kwpolska

Kwpolska May 23, 2017

Member

I wouldn’t mind a True value for this with uncommenting.

This comment has been minimized.

@felixfontein

felixfontein May 23, 2017

Contributor

I thought that the value in the comment should be the default value, so that if you uncomment it nothing will change (at least in this version). Or is that not the case?

@felixfontein

felixfontein May 23, 2017

Contributor

I thought that the value in the comment should be the default value, so that if you uncomment it nothing will change (at least in this version). Or is that not the case?

This comment has been minimized.

@Kwpolska

Kwpolska May 23, 2017

Member

It’s a hack: put one value in nikola.py (oh by the way, you have some work to do in this regard) and another in conf.py.in, so new sites get new behavior, and old sites get something safer.

@Kwpolska

Kwpolska May 23, 2017

Member

It’s a hack: put one value in nikola.py (oh by the way, you have some work to do in this regard) and another in conf.py.in, so new sites get new behavior, and old sites get something safer.

This comment has been minimized.

@felixfontein

felixfontein May 23, 2017

Contributor

Ok, done.

@felixfontein

felixfontein May 23, 2017

Contributor

Ok, done.

nikola/conf.py.in
+# For example:
+# [
+# {'en': 'private', 'de': 'Privat'},
+# {'en': 'business', 'fr': 'Arbeit'},

This comment has been minimized.

@Kwpolska

Kwpolska May 23, 2017

Member

last time I checked, die Arbeit was German (and is this the same as business?)

@Kwpolska

Kwpolska May 23, 2017

Member

last time I checked, die Arbeit was German (and is this the same as business?)

This comment has been minimized.

@felixfontein

felixfontein May 23, 2017

Contributor

LOL, yes, it is. I wanted to look up the French word, but apparently I forgot to do that... Fixed that.

@felixfontein

felixfontein May 23, 2017

Contributor

LOL, yes, it is. I wanted to look up the French word, but apparently I forgot to do that... Fixed that.

@@ -11,10 +11,24 @@
<link rel="prefetch" href="${posts[0].permalink()}" type="text/html">
% endif
${math.math_styles_ifposts(posts)}
+ %if other_languages is not UNDEFINED and other_languages:

This comment has been minimized.

@Kwpolska

Kwpolska May 23, 2017

Member

It’d be great if this check was unnecessary, or approached in some different way. (If it’s main index vs taxonomies: pagekind? If it’s taxonomy-dependent: a variable has_other_languages? Define everywhere but make it empty? And of course, you should use True/False, not None/'other_languages')

@Kwpolska

Kwpolska May 23, 2017

Member

It’d be great if this check was unnecessary, or approached in some different way. (If it’s main index vs taxonomies: pagekind? If it’s taxonomy-dependent: a variable has_other_languages? Define everywhere but make it empty? And of course, you should use True/False, not None/'other_languages')

This comment has been minimized.

@felixfontein

felixfontein May 23, 2017

Contributor

I've added has_other_languages. This means that now list.tmpl requires has_other_languages to be defined, which might be a problem for custom plugins. It looks like none of the standard plugins (both Nikola core and Nikola plugins repositories) do that except taxonomies.

@felixfontein

felixfontein May 23, 2017

Contributor

I've added has_other_languages. This means that now list.tmpl requires has_other_languages to be defined, which might be a problem for custom plugins. It looks like none of the standard plugins (both Nikola core and Nikola plugins repositories) do that except taxonomies.

nikola/conf.py.in
+# {'en': 'private', 'de': 'Privat'},
+# {'en': 'business', 'fr': 'Arbeit'},
+# ]
+# SECTION_TRANSLATIONS = []

This comment has been minimized.

@Kwpolska

Kwpolska May 23, 2017

Member

POST_SECTION_TRANSLATIONS

@Kwpolska

Kwpolska May 23, 2017

Member

POST_SECTION_TRANSLATIONS

This comment has been minimized.

@felixfontein

felixfontein May 23, 2017

Contributor

Fixed. (I also changed the setting below that accordingly.)

@felixfontein

felixfontein May 23, 2017

Contributor

Fixed. (I also changed the setting below that accordingly.)

nikola/utils.py
+ # Step 3: collapse the tree structure into a linear sorted list,
+ # with a node coming before its children.
+
+ def append_node(classifications, node, path=()):

This comment has been minimized.

@Kwpolska

Kwpolska May 23, 2017

Member

May I request a split of all the hierarchical stuff to a special module? utils.py is quite cluttered, so some special file for those hierarchies will work better. In that case, sort_node, append_node, and perhaps some others, would also be re-usable between functions. (I kinda dislike defining functions inside functions.)

@Kwpolska

Kwpolska May 23, 2017

Member

May I request a split of all the hierarchical stuff to a special module? utils.py is quite cluttered, so some special file for those hierarchies will work better. In that case, sort_node, append_node, and perhaps some others, would also be re-usable between functions. (I kinda dislike defining functions inside functions.)

This comment has been minimized.

@felixfontein

felixfontein May 23, 2017

Contributor

This is an inner function because it works on an ad-hoc defined particular data structure which might never be used anywhere again. Making it publicly available (at module level) means that the data structure needs to be documented and written in stone from now on. That's why I used a function in a function.

About splitting the stuff: sure, that could be done, but it might break backwards compatibility if some plugin uses one of these functions. (Not this one, of course, since it's new, but the other, already existing hierarchical stuff.)

@felixfontein

felixfontein May 23, 2017

Contributor

This is an inner function because it works on an ad-hoc defined particular data structure which might never be used anywhere again. Making it publicly available (at module level) means that the data structure needs to be documented and written in stone from now on. That's why I used a function in a function.

About splitting the stuff: sure, that could be done, but it might break backwards compatibility if some plugin uses one of these functions. (Not this one, of course, since it's new, but the other, already existing hierarchical stuff.)

This comment has been minimized.

@felixfontein

felixfontein May 23, 2017

Contributor

The split should probably cover the following functions/classes, right?

  • TreeNode
  • clone_treenode
  • flatten_tree_structure
  • sort_classifications
  • parse_escaped_hierarchical_category_name
  • join_hierarchical_category_path
@felixfontein

felixfontein May 23, 2017

Contributor

The split should probably cover the following functions/classes, right?

  • TreeNode
  • clone_treenode
  • flatten_tree_structure
  • sort_classifications
  • parse_escaped_hierarchical_category_name
  • join_hierarchical_category_path

This comment has been minimized.

@Kwpolska

Kwpolska May 24, 2017

Member

Yes. You can maintain the old API by using a from-import in utils.py.

@Kwpolska

Kwpolska May 24, 2017

Member

Yes. You can maintain the old API by using a from-import in utils.py.

This comment has been minimized.

@felixfontein

felixfontein May 24, 2017

Contributor

Ok, I'll do that. I think I'll call it hierarchy_utils.py, is that OK for you?

@felixfontein

felixfontein May 24, 2017

Contributor

Ok, I'll do that. I think I'll call it hierarchy_utils.py, is that OK for you?

This comment has been minimized.

@Kwpolska

Kwpolska May 25, 2017

Member

Sure.

This comment has been minimized.

@felixfontein

felixfontein May 24, 2017

Contributor

Done.

@felixfontein

felixfontein May 24, 2017

Contributor

Done.

+ if site.config.get('{}_TRANSLATIONS_ADD_DEFAULTS'.format(basename), add_defaults_default):
+ self.add_defaults(posts_per_classification_per_language)
+ # Use blinker to inform interested parties (plugins) that they can add
+ # translations themselves

This comment has been minimized.

@Kwpolska

Kwpolska May 23, 2017

Member

Got any ideas for plugins that would do that?

@Kwpolska

Kwpolska May 23, 2017

Member

Got any ideas for plugins that would do that?

This comment has been minimized.

@felixfontein

felixfontein May 23, 2017

Contributor

If someone wants a more complicated scheme (like using Google Translator to automatically translate tag/category/section/... names), they can use this hook to implement that.

@felixfontein

felixfontein May 23, 2017

Contributor

If someone wants a more complicated scheme (like using Google Translator to automatically translate tag/category/section/... names), they can use this hook to implement that.

This comment has been minimized.

@Kwpolska

Kwpolska May 24, 2017

Member

IMO it’s unnecessary.

@Kwpolska

Kwpolska May 24, 2017

Member

IMO it’s unnecessary.

This comment has been minimized.

@felixfontein

felixfontein May 24, 2017

Contributor

I don't like preventing extensibility if it is so simple and easy to achieve. (And also very efficient. This is only called once per plugin initialization.)

@felixfontein

felixfontein May 24, 2017

Contributor

I don't like preventing extensibility if it is so simple and easy to achieve. (And also very efficient. This is only called once per plugin initialization.)

display: none;
}
+.translationslist p:before {

This comment has been minimized.

@Kwpolska

Kwpolska May 23, 2017

Member

You can add that to the existing .metadata p:before.

@Kwpolska

Kwpolska May 23, 2017

Member

You can add that to the existing .metadata p:before.

This comment has been minimized.

@felixfontein

felixfontein May 23, 2017

Contributor

Fixed.

@felixfontein

felixfontein May 23, 2017

Contributor

Fixed.

nikola/conf.py.in
+# For example:
+# [
+# {'en': 'car', 'de': 'Auto'},
+# {'en': 'window', 'fr': 'fenêtre'},

This comment has been minimized.

@Kwpolska

Kwpolska May 25, 2017

Member

I’d prefer to see {'en': 'window', 'de': 'Fenster', 'fr': 'fenêtre'} to demonstrate the fact that those dictionaries can contain multiple languages.

@Kwpolska

Kwpolska May 25, 2017

Member

I’d prefer to see {'en': 'window', 'de': 'Fenster', 'fr': 'fenêtre'} to demonstrate the fact that those dictionaries can contain multiple languages.

This comment has been minimized.

@felixfontein

felixfontein May 25, 2017

Contributor

Since that example is now gone, I added {'en': 'work', 'fr': 'travail', 'de': 'Arbeit'}, in the post sections example.

@felixfontein

felixfontein May 25, 2017

Contributor

Since that example is now gone, I added {'en': 'work', 'fr': 'travail', 'de': 'Arbeit'}, in the post sections example.

nikola/conf.py.in
+# example if they have different meaning:
+# [
+# {'en': 'cloud', 'de': 'Wolke'}, # the fluffy thing in the sky
+# {'en': 'cloud', 'de': 'Cloud'}, # cloud computing

This comment has been minimized.

@Kwpolska

Kwpolska May 25, 2017

Member

Yeah, don’t mention it. The five users who need it will discover it by mistake, or will fix their tags.

@Kwpolska

Kwpolska May 25, 2017

Member

Yeah, don’t mention it. The five users who need it will discover it by mistake, or will fix their tags.

nikola/conf.py.in
+# For example:
+# [
+# {'en': 'private', 'de': 'Privat'},
+# {'en': 'business', 'fr': 'travail'},

This comment has been minimized.

@Kwpolska

Kwpolska May 25, 2017

Member

'en': 'work'

also, I would not duplicate examples — just make one for sections and in other cases, say “refer to post_sections_whatever documentation”.

@Kwpolska

Kwpolska May 25, 2017

Member

'en': 'work'

also, I would not duplicate examples — just make one for sections and in other cases, say “refer to post_sections_whatever documentation”.

This comment has been minimized.

@felixfontein

felixfontein May 25, 2017

Contributor

Fixed.

@felixfontein

felixfontein May 25, 2017

Contributor

Fixed.

nikola/utils.py
+ # Step 3: collapse the tree structure into a linear sorted list,
+ # with a node coming before its children.
+
+ def append_node(classifications, node, path=()):

This comment has been minimized.

@Kwpolska

Kwpolska May 25, 2017

Member

Sure.

nikola/conf.py.in
+# example if they have different meaning:
+# [
+# {'en': 'cloud', 'de': 'Wolke'}, # the fluffy thing in the sky
+# {'en': 'cloud', 'de': 'Cloud'}, # cloud computing

This comment has been minimized.

@Kwpolska

Kwpolska May 25, 2017

Member

Remove lines 360-370, 432-436 and replace them with:

# Format: a list of dicts {language: translation, language2: translation2, …}
# See POSTS_SECTION_TRANSLATIONS example above.
@Kwpolska

Kwpolska May 25, 2017

Member

Remove lines 360-370, 432-436 and replace them with:

# Format: a list of dicts {language: translation, language2: translation2, …}
# See POSTS_SECTION_TRANSLATIONS example above.
nikola/plugins/task/authors.py
@@ -138,6 +140,10 @@ def provide_context_and_uptodate(self, author, lang, node=None):
kw.update(context)
return context, kw
+ def get_other_language_variants(self, author, lang, classifications_per_language):

This comment has been minimized.

@Kwpolska

Kwpolska May 25, 2017

Member

(Codacy’s Parameters differ from overridden 'get_other_language_variants' method suggestion here and in other places is pretty sound)

@Kwpolska

Kwpolska May 25, 2017

Member

(Codacy’s Parameters differ from overridden 'get_other_language_variants' method suggestion here and in other places is pretty sound)

This comment has been minimized.

@felixfontein

felixfontein May 25, 2017

Contributor

Should be fixed now.

@felixfontein

felixfontein May 25, 2017

Contributor

Should be fixed now.

This comment has been minimized.

@felixfontein

felixfontein May 25, 2017

Contributor

(Now even a bit more ;) )

@felixfontein

felixfontein May 25, 2017

Contributor

(Now even a bit more ;) )

@felixfontein

This comment has been minimized.

Show comment
Hide comment
@felixfontein

felixfontein Jun 1, 2017

Contributor

@Kwpolska: I think everything you mentioned is fixed.

Contributor

felixfontein commented Jun 1, 2017

@Kwpolska: I think everything you mentioned is fixed.

@felixfontein

This comment has been minimized.

Show comment
Hide comment
@felixfontein

felixfontein Jun 4, 2017

Contributor

(I rebased to get rid of several merge conflicts.)

Contributor

felixfontein commented Jun 4, 2017

(I rebased to get rid of several merge conflicts.)

@getnikola getnikola deleted a comment from codacy-bot Jun 8, 2017

@getnikola getnikola deleted a comment from codacy-bot Jun 8, 2017

felixfontein added some commits Jun 8, 2017

@getnikola getnikola deleted a comment from codacy-bot Jun 8, 2017

@felixfontein

This comment has been minimized.

Show comment
Hide comment
@felixfontein

felixfontein Jun 8, 2017

Contributor

Ok, I think now the diffs look as expected.

Contributor

felixfontein commented Jun 8, 2017

Ok, I think now the diffs look as expected.

@getnikola getnikola deleted a comment from codacy-bot Jun 10, 2017

@Kwpolska

This comment has been minimized.

Show comment
Hide comment
@Kwpolska

Kwpolska Jun 10, 2017

Member

translation_link_helper is a bad name for this. Make it feed_translation_helper.tmpl with functions renamed eg.feed_head.

Member

Kwpolska commented Jun 10, 2017

translation_link_helper is a bad name for this. Make it feed_translation_helper.tmpl with functions renamed eg.feed_head.

@felixfontein

This comment has been minimized.

Show comment
Hide comment
@felixfontein

felixfontein Jun 10, 2017

Contributor

If the helper would only be for feeds, I'd agree. But the whole point of the rename is that it has functions not only for feeds, but also for links to translated HTML pages!

Contributor

felixfontein commented Jun 10, 2017

If the helper would only be for feeds, I'd agree. But the whole point of the rename is that it has functions not only for feeds, but also for links to translated HTML pages!

@felixfontein

This comment has been minimized.

Show comment
Hide comment
@felixfontein

felixfontein Jun 10, 2017

Contributor

(link should be renamed to feed_link, though, since that's the only function dealing only with feeds.)

Contributor

felixfontein commented Jun 10, 2017

(link should be renamed to feed_link, though, since that's the only function dealing only with feeds.)

@Kwpolska

This comment has been minimized.

Show comment
Hide comment
@Kwpolska

Kwpolska Jun 10, 2017

Member

feed_ should be included in both the filename and macro names.

Member

Kwpolska commented Jun 10, 2017

feed_ should be included in both the filename and macro names.

@felixfontein

This comment has been minimized.

Show comment
Hide comment
@felixfontein

felixfontein Jun 10, 2017

Contributor

Why should it be in the file name? That makes no sense at all.

Contributor

felixfontein commented Jun 10, 2017

Why should it be in the file name? That makes no sense at all.

@Kwpolska

This comment has been minimized.

Show comment
Hide comment
@Kwpolska

Kwpolska Jun 10, 2017

Member

83% of the file is concerned with feeds, not translations.

Member

Kwpolska commented Jun 10, 2017

83% of the file is concerned with feeds, not translations.

@getnikola getnikola deleted a comment from codacy-bot Jun 10, 2017

@felixfontein

This comment has been minimized.

Show comment
Hide comment
@felixfontein

felixfontein Jun 10, 2017

Contributor

I counted. 50 lines are related to translations, 39 lines are related to feeds for blogs with only one language.

Contributor

felixfontein commented Jun 10, 2017

I counted. 50 lines are related to translations, 39 lines are related to feeds for blogs with only one language.

@felixfontein

This comment has been minimized.

Show comment
Hide comment
@felixfontein

felixfontein Jun 10, 2017

Contributor

The template generates links to other representations. These can be feeds, translations, or both.

Contributor

felixfontein commented Jun 10, 2017

The template generates links to other representations. These can be feeds, translations, or both.

Rename translation_link_helper.tmpl → feeds_translations_helper.tmpl
Signed-off-by: Chris Warrick <kwpolska@gmail.com>
@felixfontein

This comment has been minimized.

Show comment
Hide comment
@felixfontein

felixfontein Jun 10, 2017

Contributor

I strongly advise against the new name.

Contributor

felixfontein commented Jun 10, 2017

I strongly advise against the new name.

@getnikola getnikola deleted a comment from codacy-bot Jun 10, 2017

@felixfontein

This comment has been minimized.

Show comment
Hide comment
@felixfontein

felixfontein Jun 10, 2017

Contributor

That should fix the tests.

Contributor

felixfontein commented Jun 10, 2017

That should fix the tests.

@getnikola getnikola deleted a comment from codacy-bot Jun 10, 2017

@getnikola getnikola deleted a comment from codacy-bot Jun 11, 2017

@getnikola getnikola deleted a comment from codacy-bot Jun 11, 2017

@Kwpolska Kwpolska added this to the v7.8.8 milestone Jun 11, 2017

@Kwpolska Kwpolska self-assigned this Jun 11, 2017

@Kwpolska Kwpolska added the BLOCKER label Jun 11, 2017

@getnikola getnikola deleted a comment from felixfontein Jun 11, 2017

@Kwpolska Kwpolska merged commit afe6799 into master Jun 11, 2017

3 of 5 checks passed

continuous-integration/travis-ci/pr The Travis CI build failed
Details
continuous-integration/travis-ci/push The Travis CI build failed
Details
codacy/pr Good work! A positive pull request.
Details
continuous-integration/appveyor/branch AppVeyor build succeeded
Details
continuous-integration/appveyor/pr AppVeyor build succeeded
Details

@Kwpolska Kwpolska deleted the taxonomy-lang-refs branch Jun 11, 2017

@Kwpolska

This comment has been minimized.

Show comment
Hide comment
@Kwpolska

Kwpolska Jun 11, 2017

Member

Thanks for doing this!

Member

Kwpolska commented Jun 11, 2017

Thanks for doing this!

@felixfontein

This comment has been minimized.

Show comment
Hide comment
@felixfontein

felixfontein Jun 11, 2017

Contributor

Thanks for reviews and merging :)

Contributor

felixfontein commented Jun 11, 2017

Thanks for reviews and merging :)

@gwax

This comment has been minimized.

Show comment
Hide comment
@gwax

gwax Jun 12, 2017

Contributor

@felixfontein thanks for doing this; it's an important thing to get right.

Contributor

gwax commented Jun 12, 2017

@felixfontein thanks for doing this; it's an important thing to get right.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment