### @licstart The following is the entire license notice for the JavaScript code in this page. frTypo, la typographie française simplifiée Copyright (C) 2013 acoeuro This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program 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 Affero General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . @licend The above is the entire license notice for the JavaScript code in this page. ### # La forme principale pour gérer les ponctuations hautes après une lettre, # ou en début de nœud html, # et qui peut contenir des espaces regexp = /(^|[\wàéèêç])\s*([!?:;»%€¢]+)(\s|[^\w\/]|$)/g regexpPost = /([«])\s*([\w])/g $(document).on 'turbolinks:load', -> if $('html').attr('lang') == 'fr' # Ne devrait s'appliquer qu'à une page en français $('body *').contents().filter -> this.nodeType == Node.TEXT_NODE .filter -> # Supprime les éléments pouvant utiliser des ponctuations sans nécessiter # un espacement 0 > ['CODE', 'PRE', 'STYLE', 'TEXTAREA'].indexOf this.parentNode.tagName .filter -> !$(this).parent().hasClass('finePre') && !$(this).parent().hasClass('start_time') && !$(this).parent().hasClass('end_time') .filter -> this.nodeValue.match(regexp)? || this.nodeValue.match(regexpPost)? .each -> $(this).replaceWith -> this.nodeValue .replace(regexp, '$1$2$3') .replace(regexpPost, '$1$2')