🎉 Hello world
This commit is contained in:
commit
2d66ff27e2
15 files changed
+10917
No files matched your search
@@ -0,0 +1,4 @@
|
|||||||
|
# Created by .ignore support plugin (hsz.mobi)
|
||||||
|
.idea
|
||||||
|
/saved/*
|
||||||
|
!/saved/.gitkeep
|
||||||
@@ -0,0 +1,40 @@
|
|||||||
|
body{background:#1E1E1A; color:#FFF;/*font-family:Georgia,"Times New Roman",Times,serif;*/}
|
||||||
|
.container{background:#0C0C0A;border-radius:5px;}
|
||||||
|
input[type=text], input[type=search], input[type=email], input[type=password]{width:385px;height:23px;}
|
||||||
|
input[type=text], input[type=search], input[type=email], input[type=password], textarea{
|
||||||
|
background:#EEE;
|
||||||
|
/*float:left;*/
|
||||||
|
margin: 0.7em 0.5em;
|
||||||
|
border:1px solid #CCC;
|
||||||
|
padding: 2px 7px;
|
||||||
|
font-family:Georgia, serif;
|
||||||
|
}
|
||||||
|
input[type=text]:hover, input[type=search]:hover, input[type=email]:hover, input[type=password]:hover, textarea:hover{
|
||||||
|
border:1px solid #000;
|
||||||
|
}
|
||||||
|
footer{text-align:center;}
|
||||||
|
h1 { font-family: 'Geo', arial, serif; }
|
||||||
|
h1 a, label {color:#FF9900 !important;}
|
||||||
|
h3{background-color:#1E1E1A; padding:5px; color:#FFF;font-family: 'Geo', arial, serif;margin-top:1.25em;}
|
||||||
|
h3 a,h4,h5{color:#FFF; text-decoration:none;}
|
||||||
|
#pagination{margin:0 auto;}
|
||||||
|
hr{background:#FF9900; color:#FF9900;}
|
||||||
|
li{display:block !important;}
|
||||||
|
a{color:#FFF;}
|
||||||
|
a:visited{color:#ccc}
|
||||||
|
a:focus, a:hover {color:#09f;}
|
||||||
|
legend{color:#FF9900;}
|
||||||
|
.subMenu{margin-left: 7px; border-left:1px solid #FF9900;}
|
||||||
|
label{float:left;}
|
||||||
|
.comment-0{background:#333;}
|
||||||
|
.comment-1{background:#666;}
|
||||||
|
.comment-0 xmp, .comment-1 xmp{ font-family:Georgia,"Times New Roman",Times,serif; font-size:11px;}
|
||||||
|
.comment-0, .comment-1{padding:3px;}
|
||||||
|
.comment-0 img, .comment-1 img {float:left;}
|
||||||
|
.myLink{padding-left:14px; background:url('http://shikiryu.com/favicon12.png') left center no-repeat;}
|
||||||
|
.jquery-spelling-incorrect{ color:red; text-decoration:underline;}
|
||||||
|
.jquery-spelling-container{display:block;background:light-grey;}
|
||||||
|
#sug{float:left;width:45%;}
|
||||||
|
#details{width:45%;float:left;visibility:hidden;}
|
||||||
|
#details span{}
|
||||||
|
#wordList{}
|
||||||
@@ -0,0 +1,97 @@
|
|||||||
|
/* --------------------------------------------------------------
|
||||||
|
|
||||||
|
buttons.css
|
||||||
|
* Gives you some great CSS-only buttons.
|
||||||
|
|
||||||
|
Created by Kevin Hale [particletree.com]
|
||||||
|
* particletree.com/features/rediscovering-the-button-element
|
||||||
|
|
||||||
|
See Readme.txt in this folder for instructions.
|
||||||
|
|
||||||
|
-------------------------------------------------------------- */
|
||||||
|
|
||||||
|
a.button, button, input[type=submit] {
|
||||||
|
display:block;
|
||||||
|
float:left;
|
||||||
|
margin: 0.7em 0.5em 0.7em 0;
|
||||||
|
padding:5px 10px 5px 7px; /* Links */
|
||||||
|
|
||||||
|
border:1px solid #dedede;
|
||||||
|
border-top:1px solid #eee;
|
||||||
|
border-left:1px solid #eee;
|
||||||
|
|
||||||
|
background-color:#f5f5f5;
|
||||||
|
font-family:"Lucida Grande", Tahoma, Arial, Verdana, sans-serif;
|
||||||
|
font-size:100%;
|
||||||
|
line-height:130%;
|
||||||
|
text-decoration:none;
|
||||||
|
font-weight:bold;
|
||||||
|
color:#565656;
|
||||||
|
cursor:pointer;
|
||||||
|
}
|
||||||
|
button, input[type=submit] {
|
||||||
|
width:auto;
|
||||||
|
overflow:visible;
|
||||||
|
padding:4px 10px 3px 7px; /* IE6 */
|
||||||
|
}
|
||||||
|
button[type], input[type=submit] {
|
||||||
|
padding:4px 10px 4px 7px; /* Firefox */
|
||||||
|
line-height:17px; /* Safari */
|
||||||
|
}
|
||||||
|
*:first-child+html button[type] {
|
||||||
|
padding:4px 10px 3px 7px; /* IE7 */
|
||||||
|
}
|
||||||
|
button img, a.button img, input[type=submit] img{
|
||||||
|
margin:0 3px -3px 0 !important;
|
||||||
|
padding:0;
|
||||||
|
border:none;
|
||||||
|
width:16px;
|
||||||
|
height:16px;
|
||||||
|
float:none;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* Button colors
|
||||||
|
-------------------------------------------------------------- */
|
||||||
|
|
||||||
|
/* Standard */
|
||||||
|
button:hover, a.button:hover, input[type=submit]:hover{
|
||||||
|
background-color:#dff4ff;
|
||||||
|
border:1px solid #c2e1ef;
|
||||||
|
color:#336699;
|
||||||
|
}
|
||||||
|
a.button:active{
|
||||||
|
background-color:#6299c5;
|
||||||
|
border:1px solid #6299c5;
|
||||||
|
color:#fff;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Positive */
|
||||||
|
body .positive {
|
||||||
|
color:#529214;
|
||||||
|
}
|
||||||
|
a.positive:hover, button.positive:hover , input[type=submit].positive:hover{
|
||||||
|
background-color:#E6EFC2;
|
||||||
|
border:1px solid #C6D880;
|
||||||
|
color:#529214;
|
||||||
|
}
|
||||||
|
a.positive:active {
|
||||||
|
background-color:#529214;
|
||||||
|
border:1px solid #529214;
|
||||||
|
color:#fff;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Negative */
|
||||||
|
body .negative {
|
||||||
|
color:#d12f19;
|
||||||
|
}
|
||||||
|
a.negative:hover, button.negative:hover, input[type=submit].negative:hover {
|
||||||
|
background-color:#fbe3e4;
|
||||||
|
border:1px solid #fbc2c4;
|
||||||
|
color:#d12f19;
|
||||||
|
}
|
||||||
|
a.negative:active {
|
||||||
|
background-color:#d12f19;
|
||||||
|
border:1px solid #d12f19;
|
||||||
|
color:#fff;
|
||||||
|
}
|
||||||
@@ -0,0 +1,29 @@
|
|||||||
|
/* -----------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
Blueprint CSS Framework 1.0
|
||||||
|
http://blueprintcss.org
|
||||||
|
|
||||||
|
* Copyright (c) 2007-Present. See LICENSE for more info.
|
||||||
|
* See README for instructions on how to use Blueprint.
|
||||||
|
* For credits and origins, see AUTHORS.
|
||||||
|
* This is a compressed file. See the sources in the 'src' directory.
|
||||||
|
|
||||||
|
----------------------------------------------------------------------- */
|
||||||
|
|
||||||
|
/* print.css */
|
||||||
|
body {line-height:1.5;font-family:"Helvetica Neue", Arial, Helvetica, sans-serif;color:#000;background:none;font-size:10pt;}
|
||||||
|
.container {background:none;}
|
||||||
|
hr {background:#ccc;color:#ccc;width:100%;height:2px;margin:2em 0;padding:0;border:none;}
|
||||||
|
hr.space {background:#fff;color:#fff;visibility:hidden;}
|
||||||
|
h1, h2, h3, h4, h5, h6 {font-family:"Helvetica Neue", Arial, "Lucida Grande", sans-serif;}
|
||||||
|
code {font:.9em "Courier New", Monaco, Courier, monospace;}
|
||||||
|
a img {border:none;}
|
||||||
|
p img.top {margin-top:0;}
|
||||||
|
blockquote {margin:1.5em;padding:1em;font-style:italic;font-size:.9em;}
|
||||||
|
.small {font-size:.9em;}
|
||||||
|
.large {font-size:1.1em;}
|
||||||
|
.quiet {color:#999;}
|
||||||
|
.hide {display:none;}
|
||||||
|
a:link, a:visited {background:transparent;font-weight:700;text-decoration:underline;}
|
||||||
|
a:link:after, a:visited:after {content:" (" attr(href) ")";font-size:90%;}
|
||||||
+266
@@ -0,0 +1,266 @@
|
|||||||
|
/* -----------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
Blueprint CSS Framework 1.0
|
||||||
|
http://blueprintcss.org
|
||||||
|
|
||||||
|
* Copyright (c) 2007-Present. See LICENSE for more info.
|
||||||
|
* See README for instructions on how to use Blueprint.
|
||||||
|
* For credits and origins, see AUTHORS.
|
||||||
|
* This is a compressed file. See the sources in the 'src' directory.
|
||||||
|
|
||||||
|
----------------------------------------------------------------------- */
|
||||||
|
|
||||||
|
/* reset.css */
|
||||||
|
html {margin:0;padding:0;border:0;}
|
||||||
|
body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, code, del, dfn, em, img, q, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, dialog, figure, footer, header, hgroup, nav, section {margin:0;padding:0;border:0;font-weight:inherit;font-style:inherit;font-size:100%;font-family:inherit;vertical-align:baseline;}
|
||||||
|
article, aside, dialog, figure, footer, header, hgroup, nav, section {display:block;}
|
||||||
|
body {line-height:1.5;background:white;}
|
||||||
|
table {border-collapse:separate;border-spacing:0;}
|
||||||
|
caption, th, td {text-align:left;font-weight:normal;float:none !important;}
|
||||||
|
table, th, td {vertical-align:middle;}
|
||||||
|
blockquote:before, blockquote:after, q:before, q:after {content:'';}
|
||||||
|
blockquote, q {quotes:"" "";}
|
||||||
|
a img {border:none;}
|
||||||
|
:focus {outline:0;}
|
||||||
|
|
||||||
|
/* typography.css */
|
||||||
|
html {font-size:100.01%;}
|
||||||
|
body {font-size:75%;color:#222;background:#fff;font-family:"Helvetica Neue", Arial, Helvetica, sans-serif;}
|
||||||
|
h1, h2, h3, h4, h5, h6 {font-weight:normal;color:#111;}
|
||||||
|
h1 {font-size:3em;line-height:1;margin-bottom:0.5em;}
|
||||||
|
h2 {font-size:2em;margin-bottom:0.75em;}
|
||||||
|
h3 {font-size:1.5em;line-height:1;margin-bottom:1em;}
|
||||||
|
h4 {font-size:1.2em;line-height:1.25;margin-bottom:1.25em;}
|
||||||
|
h5 {font-size:1em;font-weight:bold;margin-bottom:1.5em;}
|
||||||
|
h6 {font-size:1em;font-weight:bold;}
|
||||||
|
h1 img, h2 img, h3 img, h4 img, h5 img, h6 img {margin:0;}
|
||||||
|
p {margin:0 0 1.5em;}
|
||||||
|
.left {float:left !important;}
|
||||||
|
p .left {margin:1.5em 1.5em 1.5em 0;padding:0;}
|
||||||
|
.right {float:right !important;}
|
||||||
|
p .right {margin:1.5em 0 1.5em 1.5em;padding:0;}
|
||||||
|
a:focus, a:hover {color:#09f;}
|
||||||
|
a {color:#06c;text-decoration:underline;}
|
||||||
|
blockquote {margin:1.5em;color:#666;font-style:italic;}
|
||||||
|
strong, dfn {font-weight:bold;}
|
||||||
|
em, dfn {font-style:italic;}
|
||||||
|
sup, sub {line-height:0;}
|
||||||
|
abbr, acronym {border-bottom:1px dotted #666;}
|
||||||
|
address {margin:0 0 1.5em;font-style:italic;}
|
||||||
|
del {color:#666;}
|
||||||
|
pre {margin:1.5em 0;white-space:pre;}
|
||||||
|
pre, code, tt {font:1em 'andale mono', 'lucida console', monospace;line-height:1.5;}
|
||||||
|
li ul, li ol {margin:0;}
|
||||||
|
ul, ol {margin:0 1.5em 1.5em 0;padding-left:1.5em;}
|
||||||
|
ul {list-style-type:disc;}
|
||||||
|
ul.nolist{list-style-type:none;}
|
||||||
|
ol {list-style-type:decimal;}
|
||||||
|
dl {margin:0 0 1.5em 0;}
|
||||||
|
dl dt {font-weight:bold;}
|
||||||
|
dd {margin-left:1.5em;}
|
||||||
|
table {margin-bottom:1.4em;width:100%;}
|
||||||
|
th {font-weight:bold;}
|
||||||
|
thead th {background:#c3d9ff;}
|
||||||
|
th, td, caption {padding:4px 10px 4px 5px;}
|
||||||
|
tbody tr:nth-child(even) td, tbody tr.even td {background:#e5ecf9;}
|
||||||
|
tfoot {font-style:italic;}
|
||||||
|
caption {background:#eee;}
|
||||||
|
.small {font-size:.8em;margin-bottom:1.875em;line-height:1.875em;}
|
||||||
|
.large {font-size:1.2em;line-height:2.5em;margin-bottom:1.25em;}
|
||||||
|
.hide {display:none;}
|
||||||
|
.quiet {color:#666;}
|
||||||
|
.loud {color:#000;}
|
||||||
|
.highlight {background:#ff0;}
|
||||||
|
.added {background:#060;color:#fff;}
|
||||||
|
.removed {background:#900;color:#fff;}
|
||||||
|
.first {margin-left:0;padding-left:0;}
|
||||||
|
.last {margin-right:0;padding-right:0;}
|
||||||
|
.top {margin-top:0;padding-top:0;}
|
||||||
|
.bottom {margin-bottom:0;padding-bottom:0;}
|
||||||
|
|
||||||
|
/* forms.css */
|
||||||
|
label {font-weight:bold;}
|
||||||
|
fieldset {padding:0 1.4em 1.4em 1.4em;margin:0 0 1.5em 0;border:1px solid #ccc;}
|
||||||
|
legend {font-weight:bold;font-size:1.2em;margin-top:-0.2em;margin-bottom:1em;}
|
||||||
|
fieldset, #IE8#HACK {padding-top:1.4em;}
|
||||||
|
legend, #IE8#HACK {margin-top:0;margin-bottom:0;}
|
||||||
|
input[type=text], input[type=password], input.text, input.title, textarea {background-color:#fff;border:1px solid #bbb;}
|
||||||
|
input[type=text]:focus, input[type=password]:focus, input.text:focus, input.title:focus, textarea:focus {border-color:#666;}
|
||||||
|
select {background-color:#fff;border-width:1px;border-style:solid;}
|
||||||
|
input[type=text], input[type=password], input.text, input.title, textarea, select {margin:0.5em 0;}
|
||||||
|
input.text, input.title {width:300px;padding:5px;}
|
||||||
|
input.title {font-size:1.5em;}
|
||||||
|
textarea {width:390px;height:250px;padding:5px;}
|
||||||
|
form.inline {line-height:3;}
|
||||||
|
form.inline p {margin-bottom:0;}
|
||||||
|
.error, .alert, .notice, .success, .info {padding:0.8em;margin-bottom:1em;border:2px solid #ddd;}
|
||||||
|
.error, .alert {background:#fbe3e4;color:#8a1f11;border-color:#fbc2c4;}
|
||||||
|
.notice {background:#fff6bf;color:#514721;border-color:#ffd324;}
|
||||||
|
.success {background:#e6efc2;color:#264409;border-color:#c6d880;}
|
||||||
|
.info {background:#d5edf8;color:#205791;border-color:#92cae4;}
|
||||||
|
.error a, .alert a {color:#8a1f11;}
|
||||||
|
.notice a {color:#514721;}
|
||||||
|
.success a {color:#264409;}
|
||||||
|
.info a {color:#205791;}
|
||||||
|
|
||||||
|
/* grid.css */
|
||||||
|
.container {width:950px;margin:0 auto;}
|
||||||
|
.showgrid {background:url(src/grid.png);}
|
||||||
|
.column, .span-1, .span-2, .span-3, .span-4, .span-5, .span-6, .span-7, .span-8, .span-9, .span-10, .span-11, .span-12, .span-13, .span-14, .span-15, .span-16, .span-17, .span-18, .span-19, .span-20, .span-21, .span-22, .span-23, .span-24 {float:left;margin-right:10px;}
|
||||||
|
.last {margin-right:0;}
|
||||||
|
.span-1 {width:30px;}
|
||||||
|
.span-2 {width:70px;}
|
||||||
|
.span-3 {width:110px;}
|
||||||
|
.span-4 {width:150px;}
|
||||||
|
.span-5 {width:190px;}
|
||||||
|
.span-6 {width:230px;}
|
||||||
|
.span-7 {width:270px;}
|
||||||
|
.span-8 {width:310px;}
|
||||||
|
.span-9 {width:350px;}
|
||||||
|
.span-10 {width:390px;}
|
||||||
|
.span-11 {width:430px;}
|
||||||
|
.span-12 {width:470px;}
|
||||||
|
.span-13 {width:510px;}
|
||||||
|
.span-14 {width:550px;}
|
||||||
|
.span-15 {width:590px;}
|
||||||
|
.span-16 {width:630px;}
|
||||||
|
.span-17 {width:670px;}
|
||||||
|
.span-18 {width:710px;}
|
||||||
|
.span-19 {width:750px;}
|
||||||
|
.span-20 {width:790px;}
|
||||||
|
.span-21 {width:830px;}
|
||||||
|
.span-22 {width:870px;}
|
||||||
|
.span-23 {width:910px;}
|
||||||
|
.span-24 {width:950px;margin-right:0;}
|
||||||
|
input.span-1, textarea.span-1, input.span-2, textarea.span-2, input.span-3, textarea.span-3, input.span-4, textarea.span-4, input.span-5, textarea.span-5, input.span-6, textarea.span-6, input.span-7, textarea.span-7, input.span-8, textarea.span-8, input.span-9, textarea.span-9, input.span-10, textarea.span-10, input.span-11, textarea.span-11, input.span-12, textarea.span-12, input.span-13, textarea.span-13, input.span-14, textarea.span-14, input.span-15, textarea.span-15, input.span-16, textarea.span-16, input.span-17, textarea.span-17, input.span-18, textarea.span-18, input.span-19, textarea.span-19, input.span-20, textarea.span-20, input.span-21, textarea.span-21, input.span-22, textarea.span-22, input.span-23, textarea.span-23, input.span-24, textarea.span-24 {border-left-width:1px;border-right-width:1px;padding-left:5px;padding-right:5px;}
|
||||||
|
input.span-1, textarea.span-1 {width:18px;}
|
||||||
|
input.span-2, textarea.span-2 {width:58px;}
|
||||||
|
input.span-3, textarea.span-3 {width:98px;}
|
||||||
|
input.span-4, textarea.span-4 {width:138px;}
|
||||||
|
input.span-5, textarea.span-5 {width:178px;}
|
||||||
|
input.span-6, textarea.span-6 {width:218px;}
|
||||||
|
input.span-7, textarea.span-7 {width:258px;}
|
||||||
|
input.span-8, textarea.span-8 {width:298px;}
|
||||||
|
input.span-9, textarea.span-9 {width:338px;}
|
||||||
|
input.span-10, textarea.span-10 {width:378px;}
|
||||||
|
input.span-11, textarea.span-11 {width:418px;}
|
||||||
|
input.span-12, textarea.span-12 {width:458px;}
|
||||||
|
input.span-13, textarea.span-13 {width:498px;}
|
||||||
|
input.span-14, textarea.span-14 {width:538px;}
|
||||||
|
input.span-15, textarea.span-15 {width:578px;}
|
||||||
|
input.span-16, textarea.span-16 {width:618px;}
|
||||||
|
input.span-17, textarea.span-17 {width:658px;}
|
||||||
|
input.span-18, textarea.span-18 {width:698px;}
|
||||||
|
input.span-19, textarea.span-19 {width:738px;}
|
||||||
|
input.span-20, textarea.span-20 {width:778px;}
|
||||||
|
input.span-21, textarea.span-21 {width:818px;}
|
||||||
|
input.span-22, textarea.span-22 {width:858px;}
|
||||||
|
input.span-23, textarea.span-23 {width:898px;}
|
||||||
|
input.span-24, textarea.span-24 {width:938px;}
|
||||||
|
.append-1 {padding-right:40px;}
|
||||||
|
.append-2 {padding-right:80px;}
|
||||||
|
.append-3 {padding-right:120px;}
|
||||||
|
.append-4 {padding-right:160px;}
|
||||||
|
.append-5 {padding-right:200px;}
|
||||||
|
.append-6 {padding-right:240px;}
|
||||||
|
.append-7 {padding-right:280px;}
|
||||||
|
.append-8 {padding-right:320px;}
|
||||||
|
.append-9 {padding-right:360px;}
|
||||||
|
.append-10 {padding-right:400px;}
|
||||||
|
.append-11 {padding-right:440px;}
|
||||||
|
.append-12 {padding-right:480px;}
|
||||||
|
.append-13 {padding-right:520px;}
|
||||||
|
.append-14 {padding-right:560px;}
|
||||||
|
.append-15 {padding-right:600px;}
|
||||||
|
.append-16 {padding-right:640px;}
|
||||||
|
.append-17 {padding-right:680px;}
|
||||||
|
.append-18 {padding-right:720px;}
|
||||||
|
.append-19 {padding-right:760px;}
|
||||||
|
.append-20 {padding-right:800px;}
|
||||||
|
.append-21 {padding-right:840px;}
|
||||||
|
.append-22 {padding-right:880px;}
|
||||||
|
.append-23 {padding-right:920px;}
|
||||||
|
.prepend-1 {padding-left:40px;}
|
||||||
|
.prepend-2 {padding-left:80px;}
|
||||||
|
.prepend-3 {padding-left:120px;}
|
||||||
|
.prepend-4 {padding-left:160px;}
|
||||||
|
.prepend-5 {padding-left:200px;}
|
||||||
|
.prepend-6 {padding-left:240px;}
|
||||||
|
.prepend-7 {padding-left:280px;}
|
||||||
|
.prepend-8 {padding-left:320px;}
|
||||||
|
.prepend-9 {padding-left:360px;}
|
||||||
|
.prepend-10 {padding-left:400px;}
|
||||||
|
.prepend-11 {padding-left:440px;}
|
||||||
|
.prepend-12 {padding-left:480px;}
|
||||||
|
.prepend-13 {padding-left:520px;}
|
||||||
|
.prepend-14 {padding-left:560px;}
|
||||||
|
.prepend-15 {padding-left:600px;}
|
||||||
|
.prepend-16 {padding-left:640px;}
|
||||||
|
.prepend-17 {padding-left:680px;}
|
||||||
|
.prepend-18 {padding-left:720px;}
|
||||||
|
.prepend-19 {padding-left:760px;}
|
||||||
|
.prepend-20 {padding-left:800px;}
|
||||||
|
.prepend-21 {padding-left:840px;}
|
||||||
|
.prepend-22 {padding-left:880px;}
|
||||||
|
.prepend-23 {padding-left:920px;}
|
||||||
|
.border {padding-right:4px;margin-right:5px;border-right:1px solid #ddd;}
|
||||||
|
.colborder {padding-right:24px;margin-right:25px;border-right:1px solid #ddd;}
|
||||||
|
.pull-1 {margin-left:-40px;}
|
||||||
|
.pull-2 {margin-left:-80px;}
|
||||||
|
.pull-3 {margin-left:-120px;}
|
||||||
|
.pull-4 {margin-left:-160px;}
|
||||||
|
.pull-5 {margin-left:-200px;}
|
||||||
|
.pull-6 {margin-left:-240px;}
|
||||||
|
.pull-7 {margin-left:-280px;}
|
||||||
|
.pull-8 {margin-left:-320px;}
|
||||||
|
.pull-9 {margin-left:-360px;}
|
||||||
|
.pull-10 {margin-left:-400px;}
|
||||||
|
.pull-11 {margin-left:-440px;}
|
||||||
|
.pull-12 {margin-left:-480px;}
|
||||||
|
.pull-13 {margin-left:-520px;}
|
||||||
|
.pull-14 {margin-left:-560px;}
|
||||||
|
.pull-15 {margin-left:-600px;}
|
||||||
|
.pull-16 {margin-left:-640px;}
|
||||||
|
.pull-17 {margin-left:-680px;}
|
||||||
|
.pull-18 {margin-left:-720px;}
|
||||||
|
.pull-19 {margin-left:-760px;}
|
||||||
|
.pull-20 {margin-left:-800px;}
|
||||||
|
.pull-21 {margin-left:-840px;}
|
||||||
|
.pull-22 {margin-left:-880px;}
|
||||||
|
.pull-23 {margin-left:-920px;}
|
||||||
|
.pull-24 {margin-left:-960px;}
|
||||||
|
.pull-1, .pull-2, .pull-3, .pull-4, .pull-5, .pull-6, .pull-7, .pull-8, .pull-9, .pull-10, .pull-11, .pull-12, .pull-13, .pull-14, .pull-15, .pull-16, .pull-17, .pull-18, .pull-19, .pull-20, .pull-21, .pull-22, .pull-23, .pull-24 {float:left;position:relative;}
|
||||||
|
.push-1 {margin:0 -40px 1.5em 40px;}
|
||||||
|
.push-2 {margin:0 -80px 1.5em 80px;}
|
||||||
|
.push-3 {margin:0 -120px 1.5em 120px;}
|
||||||
|
.push-4 {margin:0 -160px 1.5em 160px;}
|
||||||
|
.push-5 {margin:0 -200px 1.5em 200px;}
|
||||||
|
.push-6 {margin:0 -240px 1.5em 240px;}
|
||||||
|
.push-7 {margin:0 -280px 1.5em 280px;}
|
||||||
|
.push-8 {margin:0 -320px 1.5em 320px;}
|
||||||
|
.push-9 {margin:0 -360px 1.5em 360px;}
|
||||||
|
.push-10 {margin:0 -400px 1.5em 400px;}
|
||||||
|
.push-11 {margin:0 -440px 1.5em 440px;}
|
||||||
|
.push-12 {margin:0 -480px 1.5em 480px;}
|
||||||
|
.push-13 {margin:0 -520px 1.5em 520px;}
|
||||||
|
.push-14 {margin:0 -560px 1.5em 560px;}
|
||||||
|
.push-15 {margin:0 -600px 1.5em 600px;}
|
||||||
|
.push-16 {margin:0 -640px 1.5em 640px;}
|
||||||
|
.push-17 {margin:0 -680px 1.5em 680px;}
|
||||||
|
.push-18 {margin:0 -720px 1.5em 720px;}
|
||||||
|
.push-19 {margin:0 -760px 1.5em 760px;}
|
||||||
|
.push-20 {margin:0 -800px 1.5em 800px;}
|
||||||
|
.push-21 {margin:0 -840px 1.5em 840px;}
|
||||||
|
.push-22 {margin:0 -880px 1.5em 880px;}
|
||||||
|
.push-23 {margin:0 -920px 1.5em 920px;}
|
||||||
|
.push-24 {margin:0 -960px 1.5em 960px;}
|
||||||
|
.push-1, .push-2, .push-3, .push-4, .push-5, .push-6, .push-7, .push-8, .push-9, .push-10, .push-11, .push-12, .push-13, .push-14, .push-15, .push-16, .push-17, .push-18, .push-19, .push-20, .push-21, .push-22, .push-23, .push-24 {float:left;position:relative;}
|
||||||
|
div.prepend-top, .prepend-top {margin-top:1.5em;}
|
||||||
|
div.append-bottom, .append-bottom {margin-bottom:1.5em;}
|
||||||
|
.box {padding:1.5em;margin-bottom:1.5em;background:#e5eCf9;}
|
||||||
|
hr {background:#ddd;color:#ddd;clear:both;float:none;width:100%;height:1px;margin:0 0 1.45em;border:none;}
|
||||||
|
hr.space {background:#fff;color:#fff;visibility:hidden;}
|
||||||
|
.clearfix:after, .container:after {content:"\0020";display:block;height:0;clear:both;visibility:hidden;overflow:hidden;}
|
||||||
|
.clearfix, .container {display:block;}
|
||||||
|
.clear {clear:both;}
|
||||||
+136
@@ -0,0 +1,136 @@
|
|||||||
|
/* HTML5 ✰ Boilerplate */
|
||||||
|
|
||||||
|
html, body, div, span, object, iframe,
|
||||||
|
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
|
||||||
|
abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp,
|
||||||
|
small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li,
|
||||||
|
fieldset, form, label, legend,
|
||||||
|
table, caption, tbody, tfoot, thead, tr, th, td,
|
||||||
|
article, aside, canvas, details, figcaption, figure,
|
||||||
|
footer, header, hgroup, menu, nav, section, summary,
|
||||||
|
time, mark, audio, video {
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
border: 0;
|
||||||
|
font-size: 100%;
|
||||||
|
font: inherit;
|
||||||
|
vertical-align: baseline;
|
||||||
|
}
|
||||||
|
|
||||||
|
article, aside, details, figcaption, figure,
|
||||||
|
footer, header, hgroup, menu, nav, section {
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
|
||||||
|
blockquote, q { quotes: none; }
|
||||||
|
blockquote:before, blockquote:after,
|
||||||
|
q:before, q:after { content: ""; content: none; }
|
||||||
|
ins { background-color: #ff9; color: #000; text-decoration: none; }
|
||||||
|
mark { background-color: #ff9; color: #000; font-style: italic; font-weight: bold; }
|
||||||
|
del { text-decoration: line-through; }
|
||||||
|
abbr[title], dfn[title] { border-bottom: 1px dotted; cursor: help; }
|
||||||
|
table { border-collapse: collapse; border-spacing: 0; }
|
||||||
|
hr { display: block; height: 1px; border: 0; border-top: 1px solid #ccc; margin: 1em 0; padding: 0; }
|
||||||
|
input, select { vertical-align: middle; }
|
||||||
|
|
||||||
|
body { font:13px/1.231 sans-serif; *font-size:small; }
|
||||||
|
select, input, textarea, button { font:99% sans-serif; }
|
||||||
|
pre, code, kbd, samp { font-family: monospace, sans-serif; }
|
||||||
|
|
||||||
|
html { overflow-y: scroll; }
|
||||||
|
a:hover, a:active { outline: none; }
|
||||||
|
ul, ol { margin-left: 2em; }
|
||||||
|
ol { list-style-type: decimal; }
|
||||||
|
nav ul, nav li { margin: 0; list-style:none; list-style-image: none; }
|
||||||
|
small { font-size: 85%; }
|
||||||
|
strong, th { font-weight: bold; }
|
||||||
|
td { vertical-align: top; }
|
||||||
|
sub, sup { font-size: 75%; line-height: 0; position: relative; }
|
||||||
|
sup { top: -0.5em; }
|
||||||
|
sub { bottom: -0.25em; }
|
||||||
|
|
||||||
|
pre { white-space: pre; white-space: pre-wrap; word-wrap: break-word; padding: 15px; }
|
||||||
|
textarea { overflow: auto; }
|
||||||
|
.ie6 legend, .ie7 legend { margin-left: -7px; }
|
||||||
|
input[type="radio"] { vertical-align: text-bottom; }
|
||||||
|
input[type="checkbox"] { vertical-align: bottom; }
|
||||||
|
.ie7 input[type="checkbox"] { vertical-align: baseline; }
|
||||||
|
.ie6 input { vertical-align: text-bottom; }
|
||||||
|
label, input[type="button"], input[type="submit"], input[type="image"], button { cursor: pointer; }
|
||||||
|
button, input, select, textarea { margin: 0; }
|
||||||
|
input:valid, textarea:valid { }
|
||||||
|
input:invalid, textarea:invalid { border-radius: 1px; -moz-box-shadow: 0px 0px 5px red; -webkit-box-shadow: 0px 0px 5px red; box-shadow: 0px 0px 5px red; }
|
||||||
|
.no-boxshadow input:invalid, .no-boxshadow textarea:invalid { background-color: #f0dddd; }
|
||||||
|
|
||||||
|
|
||||||
|
::-moz-selection{ background: #FF5E99; color:#fff; text-shadow: none; }
|
||||||
|
::selection { background:#FF5E99; color:#fff; text-shadow: none; }
|
||||||
|
a:link { -webkit-tap-highlight-color: #FF5E99; }
|
||||||
|
button { width: auto; overflow: visible; }
|
||||||
|
.ie7 img { -ms-interpolation-mode: bicubic; }
|
||||||
|
|
||||||
|
body, select, input, textarea { color: #444; }
|
||||||
|
h1, h2, h3, h4, h5, h6 { font-weight: bold; }
|
||||||
|
a, a:active, a:visited { color: #607890; }
|
||||||
|
a:hover { color: #036; }
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Primary styles
|
||||||
|
*
|
||||||
|
* Author:
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
.ir { display: block; text-indent: -999em; overflow: hidden; background-repeat: no-repeat; text-align: left; direction: ltr; }
|
||||||
|
.hidden { display: none; visibility: hidden; }
|
||||||
|
.visuallyhidden { border: 0; clip: rect(0 0 0 0); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px; }
|
||||||
|
.visuallyhidden.focusable:active,
|
||||||
|
.visuallyhidden.focusable:focus { clip: auto; height: auto; margin: 0; overflow: visible; position: static; width: auto; }
|
||||||
|
.invisible { visibility: hidden; }
|
||||||
|
.clearfix:before, .clearfix:after { content: "\0020"; display: block; height: 0; overflow: hidden; }
|
||||||
|
.clearfix:after { clear: both; }
|
||||||
|
.clearfix { zoom: 1; }
|
||||||
|
|
||||||
|
|
||||||
|
@media all and (orientation:portrait) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@media all and (orientation:landscape) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@media screen and (max-device-width: 480px) {
|
||||||
|
|
||||||
|
/* html { -webkit-text-size-adjust:none; -ms-text-size-adjust:none; } */
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@media print {
|
||||||
|
* { background: transparent !important; color: black !important; text-shadow: none !important; filter:none !important;
|
||||||
|
-ms-filter: none !important; }
|
||||||
|
a, a:visited { color: #444 !important; text-decoration: underline; }
|
||||||
|
a[href]:after { content: " (" attr(href) ")"; }
|
||||||
|
abbr[title]:after { content: " (" attr(title) ")"; }
|
||||||
|
.ir a:after, a[href^="javascript:"]:after, a[href^="#"]:after { content: ""; }
|
||||||
|
pre, blockquote { border: 1px solid #999; page-break-inside: avoid; }
|
||||||
|
thead { display: table-header-group; }
|
||||||
|
tr, img { page-break-inside: avoid; }
|
||||||
|
@page { margin: 0.5cm; }
|
||||||
|
p, h2, h3 { orphans: 3; widows: 3; }
|
||||||
|
h2, h3{ page-break-after: avoid; }
|
||||||
|
}
|
||||||
|
|
||||||
+46
@@ -0,0 +1,46 @@
|
|||||||
|
<!doctype html>
|
||||||
|
<!--[if lt IE 7 ]> <html class="no-js ie6" lang="fr"> <![endif]-->
|
||||||
|
<!--[if IE 7 ]> <html class="no-js ie7" lang="fr"> <![endif]-->
|
||||||
|
<!--[if IE 8 ]> <html class="no-js ie8" lang="fr"> <![endif]-->
|
||||||
|
<!--[if (gte IE 9)|!(IE)]><!--> <html class="no-js" lang="fr"> <!--<![endif]-->
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
||||||
|
<title>Explication simple</title>
|
||||||
|
<meta name="description" content="Donner une explication simple quelque soit le sujet avec seulement ~1500 mots possibles">
|
||||||
|
<meta name="author" content="Clément Desmidt - Shikiryu">
|
||||||
|
<link rel="stylesheet" href="css/style.css?v=1"><!-- CSS : blueprint Framework -->
|
||||||
|
<link rel="stylesheet" href="css/screen.css" type="text/css" media="screen, projection">
|
||||||
|
<link rel="stylesheet" href="css/print.css" type="text/css" media="print">
|
||||||
|
<link rel="stylesheet" href="css/plugins/buttons/screen.css"><!-- Import link-icons plugin // add icons depending of type of link / file -->
|
||||||
|
<link rel="stylesheet" href="css/override.css">
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
<header>
|
||||||
|
|
||||||
|
</header>
|
||||||
|
|
||||||
|
<div id="container" class="container">
|
||||||
|
<form id="myForm" name="myForm" action="save.php" method="post">
|
||||||
|
<textarea id="sug" name="sug"></textarea>
|
||||||
|
<input type="submit" name="submit" value="Enregistrer" />
|
||||||
|
<div id="details">
|
||||||
|
<span><span id="counter"></span> mot(s) interdit(s)</span><br/>
|
||||||
|
<div id="wordList"></div>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
</div> <!--! end of #container -->
|
||||||
|
|
||||||
|
<footer>
|
||||||
|
|
||||||
|
</footer>
|
||||||
|
|
||||||
|
<!-- Grab Google CDN jQuery. fall back to local if necessary -->
|
||||||
|
<script src="js/jquery-1.9.1.js"></script>
|
||||||
|
<script src="js/jquery.a-tools-1.5.2.min.js"></script>
|
||||||
|
<script src="js/jquery.asuggest.js"></script>
|
||||||
|
<script src="js/jquery.explanationCheck.js"></script>
|
||||||
|
<script src="js/plugins.js?v=1"></script>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
Vendored
+9597
File diff suppressed because it is too large.
Load diff
Vendored
+43
@@ -0,0 +1,43 @@
|
|||||||
|
/*!
|
||||||
|
* a-tools 1.5.2
|
||||||
|
*
|
||||||
|
* Copyright (c) 2009 Andrey Kramarev(andrey.kramarev[at]ampparit.com), Ampparit Inc. (www.ampparit.com)
|
||||||
|
* Licensed under the MIT license.
|
||||||
|
* http://www.ampparit.fi/a-tools/license.txt
|
||||||
|
*
|
||||||
|
* Basic usage:
|
||||||
|
|
||||||
|
<textarea></textarea>
|
||||||
|
<input type="text" />
|
||||||
|
|
||||||
|
// Get current selection
|
||||||
|
var sel = $("textarea").getSelection()
|
||||||
|
|
||||||
|
// Replace current selection
|
||||||
|
$("input").replaceSelection("foo");
|
||||||
|
|
||||||
|
// Count characters
|
||||||
|
alert($("textarea").countCharacters());
|
||||||
|
|
||||||
|
// Set max length without callback function
|
||||||
|
$("textarea").setMaxLength(7);
|
||||||
|
|
||||||
|
// Set max length with callback function which will be called when limit is exceeded
|
||||||
|
$("textarea").setMaxLength(10, function() {
|
||||||
|
alert("hello")
|
||||||
|
});
|
||||||
|
|
||||||
|
// Removing limit:
|
||||||
|
$("textarea").setMaxLength(-1);
|
||||||
|
|
||||||
|
// Insert text at current caret position
|
||||||
|
$("#textarea").insertAtCaretPos("hello");
|
||||||
|
|
||||||
|
// Set caret position (1 = beginning, -1 = end)
|
||||||
|
$("#textArea").setCaretPos(10);
|
||||||
|
|
||||||
|
// Set Selection
|
||||||
|
$("#textArea").setSelection(10,15);
|
||||||
|
|
||||||
|
*/
|
||||||
|
var caretPositionAmp=[]; function init(){if(navigator.appName=="Microsoft Internet Explorer"){obj=document.getElementsByTagName("TEXTAREA");var b,a=0;for(a=0;a<obj.length;a++){b=obj[a];caretPositionAmp[a]=b.value.length;b.onmouseup=function(){b=document.activeElement;for(var c=0;c<obj.length;c++)if(obj[c]==b)break;b.focus();var e=document.selection.createRange(),h=b.createTextRange(),d=h.duplicate();h.moveToBookmark(e.getBookmark());d.setEndPoint("EndToStart",h);caretPositionAmp[c]=d.text.length};b.onkeyup=function(){b=document.activeElement; for(var c=0;c<obj.length;c++)if(obj[c]==b)break;b.focus();var e=document.selection.createRange(),h=b.createTextRange(),d=h.duplicate();h.moveToBookmark(e.getBookmark());d.setEndPoint("EndToStart",h);caretPositionAmp[c]=d.text.length}}}}window.onload=init; jQuery.fn.extend({getSelection:function(){var b=this.jquery?this[0]:this,a,c,e,h=0;b.onmousedown=function(){document.selection&&typeof b.selectionStart!="number"?document.selection.empty():window.getSelection().removeAllRanges()};if(document.selection){var d=document.selection.createRange(),f=0,g=0,i=0;a=document.getElementsByTagName("TEXTAREA");for(c=0;c<a.length;c++)if(a[c]==b)break;if(b.value.match(/\n/g)!=null)h=b.value.match(/\n/g).length;if(d.text){e=d.text;if(typeof b.selectionStart=="number"){a= b.selectionStart;c=b.selectionEnd;if(a==c)return{start:a,end:c,text:d.text,length:c-a}}else{a=b.createTextRange();e=a.duplicate();firstRe=a.text;a.moveToBookmark(d.getBookmark());secondRe=a.text;e.setEndPoint("EndToStart",a);if(firstRe==secondRe&&firstRe!=d.text||e.text.length>firstRe.length)return{start:caretPositionAmp[c],end:caretPositionAmp[c],text:"",length:0};a=e.text.length;c=e.text.length+d.text.length}if(h>0)for(e=0;e<=h;e++){var k=b.value.indexOf("\n",g);if(k!=-1&&k<a){g=k+1;f++;i=f}else if(k!= -1&&k>=a&&k<=c)if(k==a+1){f--;i--;g=k+1}else{g=k+1;i++}else e=h}if(d.text.indexOf("\n",0)==1)i+=2;a-=f;c-=i;return{start:a,end:c,text:d.text,length:c-a}}b.focus();if(typeof b.selectionStart=="number")a=b.selectionStart;else{d=document.selection.createRange();a=b.createTextRange();e=a.duplicate();a.moveToBookmark(d.getBookmark());e.setEndPoint("EndToStart",a);a=e.text.length}if(h>0)for(e=0;e<=h;e++){k=b.value.indexOf("\n",g);if(k!=-1&&k<a){g=k+1;f++}else e=h}a-=f;if(a==0&&typeof b.selectionStart!= "number"){a=caretPositionAmp[c];c=caretPositionAmp[c]}return{start:a,end:a,text:d.text,length:0}}else if(typeof b.selectionStart=="number"){a=b.selectionStart;c=b.selectionEnd;e=b.value.substring(b.selectionStart,b.selectionEnd);return{start:a,end:c,text:e,length:c-a}}else return{start:undefined,end:undefined,text:undefined,length:undefined}},replaceSelection:function(b){var a=this.jquery?this[0]:this,c,e;e=0;var h,d,f=0,g=0,i=a.scrollTop==undefined?0:a.scrollTop;c=document.getElementsByTagName("TEXTAREA"); for(var k=0;k<c.length;k++)if(c[k]==a)break;if(document.selection&&typeof a.selectionStart!="number"){i=document.selection.createRange();if(typeof a.selectionStart!="number"){var j;d=a.createTextRange();h=d.duplicate();c=d.text;d.moveToBookmark(i.getBookmark());j=d.text;try{h.setEndPoint("EndToStart",d)}catch(m){return this}if(c==j&&c!=i.text||h.text.length>c.length)return this}if(i.text){part=i.text;if(a.value.match(/\n/g)!=null)f=a.value.match(/\n/g).length;c=h.text.length;if(f>0)for(j=0;j<=f;j++){var l= a.value.indexOf("\n",e);if(l!=-1&&l<c){e=l+1;g++}else j=f}i.text=b;caretPositionAmp[k]=h.text.length+b.length;d.move("character",caretPositionAmp[k]);document.selection.empty();a.blur()}return this}else if(typeof a.selectionStart=="number"&&a.selectionStart!=a.selectionEnd){c=a.selectionStart;e=a.selectionEnd;a.value=a.value.substr(0,c)+b+a.value.substr(e);e=c+b.length;a.setSelectionRange(e,e);a.scrollTop=i;return this}return this},setSelection:function(b,a){b=parseInt(b);a=parseInt(a);var c=this.jquery? this[0]:this;c.focus();if(typeof c.selectionStart!="number"){re=c.createTextRange();if(re.text.length<a)a=re.text.length+1}if(a<b)return this;if(document.selection){var e=0,h=0,d=0,f=0;if(typeof c.selectionStart!="number"){re.collapse(true);re.moveEnd("character",a);re.moveStart("character",b);re.select()}else{if(typeof c.selectionStart=="number"){if(c.value.match(/\n/g)!=null)e=c.value.match(/\n/g).length;if(e>0)for(var g=0;g<=e;g++){var i=c.value.indexOf("\n",d);if(i!=-1&&i<b){d=i+1;h++;f=h}else if(i!= -1&&i>=b&&i<=a)if(i==b+1){h--;f--;d=i+1}else{d=i+1;f++}else g=e}b+=h;a+=f;c.selectionStart=b;c.selectionEnd=a}c.focus()}return this}else if(c.selectionStart||c.selectionStart==0){c.focus();window.getSelection().removeAllRanges();c.selectionStart=b;c.selectionEnd=a;c.focus();return this}},insertAtCaretPos:function(b){var a=this.jquery?this[0]:this,c,e,h,d,f,g,i;c=e=0;var k=a.scrollTop==undefined?0:a.scrollTop;i=document.getElementsByTagName("TEXTAREA");for(var j=0;j<i.length;j++)if(i[j]==a)break;a.focus(); if(document.selection&&typeof a.selectionStart!="number"){if(a.value.match(/\n/g)!=null)c=a.value.match(/\n/g).lengthLine truncated
|
||||||
@@ -0,0 +1,231 @@
|
|||||||
|
/*
|
||||||
|
* jQuery textarea suggest plugin
|
||||||
|
*
|
||||||
|
* Copyright (c) 2009-2010 Roman Imankulov
|
||||||
|
*
|
||||||
|
* Dual licensed under the MIT and GPL licenses:
|
||||||
|
* http://www.opensource.org/licenses/mit-license.php
|
||||||
|
* http://www.gnu.org/licenses/gpl.html
|
||||||
|
*
|
||||||
|
* Requires:
|
||||||
|
* - jQuery (tested with 1.3.x and 1.4.x)
|
||||||
|
* - jquery.a-tools >= 1.4.1 (http://plugins.jquery.com/project/a-tools)
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*globals jQuery,document */
|
||||||
|
|
||||||
|
(function ($) {
|
||||||
|
// workaround for Opera browser
|
||||||
|
if (navigator.userAgent.match(/opera/i)) {
|
||||||
|
$(document).keypress(function (e) {
|
||||||
|
if ($.asuggestFocused) {
|
||||||
|
$.asuggestFocused.focus();
|
||||||
|
$.asuggestFocused = null;
|
||||||
|
e.preventDefault();
|
||||||
|
e.stopPropagation();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
$.asuggestKeys = {
|
||||||
|
UNKNOWN: 0,
|
||||||
|
SHIFT: 16,
|
||||||
|
CTRL: 17,
|
||||||
|
ALT: 18,
|
||||||
|
LEFT: 37,
|
||||||
|
UP: 38,
|
||||||
|
RIGHT: 39,
|
||||||
|
DOWN: 40,
|
||||||
|
DEL: 46,
|
||||||
|
TAB: 9,
|
||||||
|
RETURN: 13,
|
||||||
|
ESC: 27,
|
||||||
|
COMMA: 188,
|
||||||
|
PAGEUP: 33,
|
||||||
|
PAGEDOWN: 34,
|
||||||
|
BACKSPACE: 8,
|
||||||
|
SPACE: 32
|
||||||
|
};
|
||||||
|
$.asuggestFocused = null;
|
||||||
|
|
||||||
|
$.fn.asuggest = function (suggests, options) {
|
||||||
|
return this.each(function () {
|
||||||
|
$.makeSuggest(this, suggests, options);
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
$.fn.asuggest.defaults = {
|
||||||
|
'delimiters': '\n ',
|
||||||
|
'minChunkSize': 1,
|
||||||
|
'cycleOnTab': true,
|
||||||
|
'autoComplete': true,
|
||||||
|
'endingSymbols': ' ',
|
||||||
|
'stopSuggestionKeys': [$.asuggestKeys.RETURN, $.asuggestKeys.SPACE],
|
||||||
|
'ignoreCase': false
|
||||||
|
};
|
||||||
|
|
||||||
|
/* Make suggest:
|
||||||
|
*
|
||||||
|
* create and return jQuery object on the top of DOM object
|
||||||
|
* and store suggests as part of this object
|
||||||
|
*
|
||||||
|
* @param area: HTML DOM element to add suggests to
|
||||||
|
* @param suggests: The array of suggest strings
|
||||||
|
* @param options: The options object
|
||||||
|
*/
|
||||||
|
$.makeSuggest = function (area, suggests, options) {
|
||||||
|
options = $.extend({}, $.fn.asuggest.defaults, options);
|
||||||
|
|
||||||
|
var KEY = $.asuggestKeys,
|
||||||
|
$area = $(area);
|
||||||
|
$area.suggests = suggests;
|
||||||
|
$area.options = options;
|
||||||
|
|
||||||
|
/* Internal method: get the chunk of text before the cursor */
|
||||||
|
$area.getChunk = function () {
|
||||||
|
var delimiters = this.options.delimiters.split(''), // array of chars
|
||||||
|
textBeforeCursor = this.val().substr(0, this.getSelection().start),
|
||||||
|
indexOfDelimiter = -1,
|
||||||
|
i,
|
||||||
|
d,
|
||||||
|
idx;
|
||||||
|
for (i = 0; i < delimiters.length; i++) {
|
||||||
|
d = delimiters[i];
|
||||||
|
idx = textBeforeCursor.lastIndexOf(d);
|
||||||
|
if (idx > indexOfDelimiter) {
|
||||||
|
indexOfDelimiter = idx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (indexOfDelimiter < 0) {
|
||||||
|
return textBeforeCursor;
|
||||||
|
} else {
|
||||||
|
return textBeforeCursor.substr(indexOfDelimiter + 1);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
/* Internal method: get completion.
|
||||||
|
* If performCycle is true then analyze getChunk() and and getSelection()
|
||||||
|
*/
|
||||||
|
$area.getCompletion = function (performCycle) {
|
||||||
|
var text = this.getChunk(),
|
||||||
|
selectionText = this.getSelection().text,
|
||||||
|
suggests = this.suggests,
|
||||||
|
foundAlreadySelectedValue = false,
|
||||||
|
firstMatchedValue = null,
|
||||||
|
i,
|
||||||
|
suggest;
|
||||||
|
// search the variant
|
||||||
|
for (i = 0; i < suggests.length; i++) {
|
||||||
|
suggest = suggests[i];
|
||||||
|
if ($area.options.ignoreCase) {
|
||||||
|
suggest = suggest.toLowerCase();
|
||||||
|
text = text.toLowerCase();
|
||||||
|
}
|
||||||
|
// some variant is found
|
||||||
|
if (suggest.indexOf(text) === 0) {
|
||||||
|
if (performCycle) {
|
||||||
|
if (text + selectionText === suggest) {
|
||||||
|
foundAlreadySelectedValue = true;
|
||||||
|
} else if (foundAlreadySelectedValue) {
|
||||||
|
return suggest.substr(text.length);
|
||||||
|
} else if (firstMatchedValue === null) {
|
||||||
|
firstMatchedValue = suggest;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
return suggest.substr(text.length);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (performCycle && firstMatchedValue) {
|
||||||
|
return firstMatchedValue.substr(text.length);
|
||||||
|
} else {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
$area.updateSelection = function (completion) {
|
||||||
|
if (completion) {
|
||||||
|
var _selectionStart = $area.getSelection().start,
|
||||||
|
_selectionEnd = _selectionStart + completion.length;
|
||||||
|
if ($area.getSelection().text === "") {
|
||||||
|
if ($area.val().length === _selectionStart) { // Weird IE workaround, I really have no idea why it works
|
||||||
|
$area.setCaretPos(_selectionStart + 10000);
|
||||||
|
}
|
||||||
|
$area.insertAtCaretPos(completion);
|
||||||
|
} else {
|
||||||
|
$area.replaceSelection(completion);
|
||||||
|
}
|
||||||
|
$area.setSelection(_selectionStart, _selectionEnd);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
$area.unbind('keydown.asuggest').bind('keydown.asuggest', function (e) {
|
||||||
|
if (e.keyCode === KEY.TAB) {
|
||||||
|
if ($area.options.cycleOnTab) {
|
||||||
|
var chunk = $area.getChunk();
|
||||||
|
if (chunk.length >= $area.options.minChunkSize) {
|
||||||
|
$area.updateSelection($area.getCompletion(true));
|
||||||
|
}
|
||||||
|
e.preventDefault();
|
||||||
|
e.stopPropagation();
|
||||||
|
$area.focus();
|
||||||
|
$.asuggestFocused = this;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// Check for conditions to stop suggestion
|
||||||
|
if ($area.getSelection().length &&
|
||||||
|
$.inArray(e.keyCode, $area.options.stopSuggestionKeys) !== -1) {
|
||||||
|
// apply suggestion. Clean up selection and insert a space
|
||||||
|
var _selectionEnd = $area.getSelection().end +
|
||||||
|
$area.options.endingSymbols.length;
|
||||||
|
var _text = $area.getSelection().text +
|
||||||
|
$area.options.endingSymbols;
|
||||||
|
$area.replaceSelection(_text);
|
||||||
|
$area.setSelection(_selectionEnd, _selectionEnd);
|
||||||
|
e.preventDefault();
|
||||||
|
e.stopPropagation();
|
||||||
|
this.focus();
|
||||||
|
$.asuggestFocused = this;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
$area.unbind('keyup.asuggest').bind('keyup.asuggest', function (e) {
|
||||||
|
var hasSpecialKeys = e.altKey || e.metaKey || e.ctrlKey,
|
||||||
|
hasSpecialKeysOrShift = hasSpecialKeys || e.shiftKey;
|
||||||
|
switch (e.keyCode) {
|
||||||
|
case KEY.UNKNOWN: // Special key released
|
||||||
|
case KEY.SHIFT:
|
||||||
|
case KEY.CTRL:
|
||||||
|
case KEY.ALT:
|
||||||
|
case KEY.RETURN: // we don't want to suggest when RETURN key has pressed (another IE workaround)
|
||||||
|
break;
|
||||||
|
case KEY.TAB:
|
||||||
|
if (!hasSpecialKeysOrShift && $area.options.cycleOnTab) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case KEY.ESC:
|
||||||
|
case KEY.BACKSPACE:
|
||||||
|
case KEY.DEL:
|
||||||
|
case KEY.UP:
|
||||||
|
case KEY.DOWN:
|
||||||
|
case KEY.LEFT:
|
||||||
|
case KEY.RIGHT:
|
||||||
|
if (!hasSpecialKeysOrShift && $area.options.autoComplete) {
|
||||||
|
$area.replaceSelection("");
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
if (!hasSpecialKeys && $area.options.autoComplete) {
|
||||||
|
var chunk = $area.getChunk();
|
||||||
|
if (chunk.length >= $area.options.minChunkSize) {
|
||||||
|
$area.updateSelection($area.getCompletion(false));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
return $area;
|
||||||
|
};
|
||||||
|
}(jQuery));
|
||||||
@@ -0,0 +1,72 @@
|
|||||||
|
(function ($) {
|
||||||
|
$.fn.explanationCheck = function (terms, options) {
|
||||||
|
return this.each(function () {
|
||||||
|
$.checkText(this, terms, options);
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
$.fn.explanationCheck.defaults = {
|
||||||
|
details: $('#details'),
|
||||||
|
counter: $('#counter'),
|
||||||
|
wordList: $('#wordList'),
|
||||||
|
separator: '<br/>',
|
||||||
|
ignoredCharacters: '\.\!,;\?',
|
||||||
|
splitCharacters:""
|
||||||
|
};
|
||||||
|
|
||||||
|
$.createCheckWorld = function(options, a) {
|
||||||
|
options.counter = typeof options.counter == 'string' ? options.counter[0] == '#' ? $(options.counter) : $("#"+options.counter) : options.counter;
|
||||||
|
options.wordList = typeof options.wordList == 'string' ? options.wordList[0] == '#' ? $(options.wordList) : $("#"+options.wordList) : options.wordList;
|
||||||
|
options.details = typeof options.details == 'string' ? options.details[0] == '#' ? $(options.details) : $("#"+options.details) : options.details;
|
||||||
|
if(options.counter.length == 0) options.counter = $('<span id="counter">0</span>').insertAfter(a);
|
||||||
|
if(options.wordList.length == 0) options.wordList = $('<span id="wordList"></span>').insertAfter(a);
|
||||||
|
}
|
||||||
|
|
||||||
|
$.updateWrongWord = function(o,w,c){
|
||||||
|
o.counter.html(c);
|
||||||
|
o.wordList.html(w.join(o.separator));
|
||||||
|
}
|
||||||
|
|
||||||
|
$.checkText = function (area, terms, options) {
|
||||||
|
options = $.extend({}, $.fn.explanationCheck.defaults, options);
|
||||||
|
|
||||||
|
var $area = $(area),
|
||||||
|
words = "",
|
||||||
|
counter = 0,
|
||||||
|
wrongWords = []
|
||||||
|
$countEl = typeof options.counter == 'string' ? $(options.counter) : options.counter;
|
||||||
|
$area.terms = terms;
|
||||||
|
$area.options = options;
|
||||||
|
|
||||||
|
$.createCheckWorld(options, $area);
|
||||||
|
|
||||||
|
$area.keyup(function(e){
|
||||||
|
if($(this).getSelection.length == 0){
|
||||||
|
counter = 0;
|
||||||
|
wrongWords = [];
|
||||||
|
words = $area.val().replace(new RegExp("["+$area.options.ignoredCharacters+"]","g"), '');
|
||||||
|
words = words.split(/[\s\n']+/g);
|
||||||
|
for(var i = 0, l = words.length; i < l ; i++){
|
||||||
|
var w = $.trim(words[i]).toLowerCase();
|
||||||
|
if(w != '' && !~terms.indexOf(w)){
|
||||||
|
wrongWords.push(w);
|
||||||
|
counter = wrongWords.length;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$.updateWrongWord(options, wrongWords, counter);
|
||||||
|
$countEl.updateCounter(counter);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
$countEl.updateCounter = function(){
|
||||||
|
if(counter == 0){
|
||||||
|
$area.options.details.css('visibility','hidden');
|
||||||
|
}else{
|
||||||
|
$area.options.details.css('visibility','visible');
|
||||||
|
}
|
||||||
|
$countEl.html(counter);
|
||||||
|
}
|
||||||
|
|
||||||
|
return $area;
|
||||||
|
};
|
||||||
|
}(jQuery));
|
||||||
+190
@@ -0,0 +1,190 @@
|
|||||||
|
// remap jQuery to $
|
||||||
|
(function ($) {
|
||||||
|
|
||||||
|
if (window.location.hash !== "") {
|
||||||
|
$.post(
|
||||||
|
'load.php',
|
||||||
|
{'hash': window.location.hash},
|
||||||
|
function (data) {
|
||||||
|
if (data) {
|
||||||
|
$('#sug').val(data);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
'text'
|
||||||
|
);
|
||||||
|
}
|
||||||
|
var verbs1 = "abandonner,accepter,accompagner,accorder,accrocher,accuser,acheter,achever,adresser,affirmer,agiter,aider,aimer,ajouter,allumer,amener,amuser,animer,annoncer,appeler,apporter,approcher,appuyer,armer,arracher,arrêter,arriver,assister,assurer,attacher,attaquer,attirer,avancer,avouer,baisser,briller,briser,brûler,cacher,calmer,caresser,casser,causer,céder,cesser,changer,chanter,charger,chasser,chercher,commander,commencer,composer,compter,condamner,confier,considérer,consulter,contenter,continuer,coucher,couler,couper,coûter,créer,creuser,crier,croiser,danser,déchirer,décider,déclarer,dégager,demander,demeurer,dépasser,déposer,désigner,désirer,dessiner,détacher,deviner,diriger,discuter,disposer,distinguer,dominer,donner,douter,dresser,durer,écarter,échapper,éclairer,éclater,écouter,écraser,effacer,élever,éloigner,embrasser,emmener,empêcher,employer,emporter,enfermer,enfoncer,engager,enlever,entourer,entraîner,entrer,envelopper,envoyer,éprouver,espérer,essayer,essuyer,étaler,étonner,étouffer,étudier,éviter,examiner,exécuter,exiger,exister,expliquer,exposer,exprimer,fatiguer,fermer,figurer,fixer,fonder,forcer,former,frapper,fumer,gagner,garder,glisser,habiller,habiter,hésiter,ignorer,imaginer,importer,imposer,indiquer,inquiéter,inspirer,installer,intéresser,interroger,inventer,inviter,jeter,jouer,juger,lever,lier,lisser,livrer,lutter,manger,manier,manquer,marcher,marier,marquer,mêler,menacer,mener,mériter,miser,monter,montrer,nommer,obliger,observer,occuper,oser,oublier,parler,partager,passer,payer,pencher,pénétrer,penser,peser,placer,pleurer,plonger,porter,poser,posséder,pousser,précéder,précipiter,préférer,préparer,présenter,presser,prêter,prier,profiter,promener,prononcer,proposer,protéger,prouver,quitter,raconter,ramasser,ramener,rappeler,rapporter,rassurer,réclamer,recommencer,reculer,refuser,regarder,regretter,rejeter,relever,remarquer,remercier,remonter,remplacer,rencontrer,renoncer,rentrer,renverser,répéter,reposer,repousser,représenter,réserver,résister,respecter,respirer,ressembler,rester,retirer,retomber,retourner,retrouver,réveiller,révéler,rêver,risquer,rouler,saluer,sauter,sauver,sembler,séparer,serrer,signer,signifier,songer,sonner,souffler,souhaiter,soulever,supporter,supposer,surveiller,tenter,terminer,tirer,tomber,toucher,tourner,tracer,traîner,traiter,transformer,travailler,traverser,trembler,tromper,troubler,trouver,tuer,user,veiller,verser,voler,voyager".split(','),
|
||||||
|
verbs2 = "accomplir,agir,choisir,établir,finir,franchir,grandir,nourrir,obéir,réfléchir,remplir,réunir,réussir,saisir,subir,vêtir".split(','),
|
||||||
|
verbs3 = "apercevoir,aperçois,aperçoit,apercevons,apercevez,aperçoivent,apparaître,apparais,apparait,apparqissons,apparqissez,apparaissent,apprendre,apprend,apprends,apprenons,apprenez,apprennent,atteindre,atteins,atteint,atteignons,atteignez,atteignent,attendre,attend,attends,attendons,attendez,attendent,avoir,ai,as,a,avons,avez,ont,boire,bois,boit,buvons,buvez,boivent,comprendre,comprend,comprends,comprenons,comprenez,comprennent,conclure,conclus,conclut,concluons,concluez,concluent,conduire,conduis,conduit,conduisons,conduisez,conduisent,confondre,confond,confonds,confondons,confondez,confondent,connaître,connais,connait,connaissons,connaissez,connaissent,construire,construis,construits,construisons,construisez,construisent,craindre,crains,craint,craignons,craignez,craignent,croire,crois,croit,croyons,croyez,croient,décrire,décris,décrit,décrivons,décrivez,décrivent,défendre,défends,défend,défendons,défendez,défendent,descendre,descend,descends,descendons,descendez,descendent,détruire,détruit,détruis,détruisons,détruisez,détruisent,devoir,dois,doit,devons,devez,doivent,dire,dis,dit,disons,disez,disent,disparaître,disparais,disparait,disparissons,disparaissez,disparraissent,écrire,écris,écrit,écrivons,écrivons,écrivent,entendre,entends,entend,entendons,entendez,entendent,éteindre,éteins,éteint,éteignons,éteignez,éteignent,étendre,étends,étend,étendons,étendez,étendent,être,suis,es,est,sommes,êtes,sont,falloir,faut,haïr,haïs,haït,haïssons,haïssez,haïssent,interrompre,interromps,interrompt,interrompons,interrompez,interrompent,joindre,joins,joint,joignons,joignez,joignent,lire,lis,lit,lisons,lisez,lisent,naître,nais,nait,naissons,naissez,naissent,paraître,parais,parait,paraissons,paraissez,paraissent,pendre,pend,pends,pendons,pendez,pendent,perdre,perd,perds,perdons,perdez,perdent,plaindre,plains,plaint,plaignons,plaignez,plaignent,plaire,plais,plait,plaisons,plaisez,plaisent,poursuivre,poursuis,poursuit,poursuivons,poursuivez,poursuivent,pouvoir,peux,peut,pouvons,pouvez,peuvent,prendre,prends,prend,prenons,prenez,prennent,prétendre,prétend,prétends,prétendons,prétendez,prétendent,prévoir,prévois,prévoit,prévoyons,prévoyez,prévoient,produire,produis,produit,produisons,produisez,produisent,promettre,promets,promet,promettons,promettez,promettent,recevoir,reçois,reçoit,recevons,recevez,reçoivent,reconnaître,reconnais,reconnait,reconnaissons,reconnaissez,reconnaissent,réduire,réduis,réduit,réduisons,réduisez,réduisent,rejoindre,rejoins,rejoint,rejoignons,rejoignez,rejoignent,rendre,rends,rend,rendons,rendez,rendent,répandre,répand,répands,répendons,répendez,répendent,répondre,répond,réponds,répondons,répondez,répondent,reprendre,reprends,reprend,reprenons,reprenez,reprenent,résoudre,résous,résout,resolvons,resolvez,resolvent,revoir,revois,revoit,revoyons,revoyez,revoient,rire,ris,rit,rions,riez,rient,rompre,romps,rompt,rompons,rompez,rompent,satisfaire,satisfais,satisfait,satisfaisons,satisfaisez,satisfaisent,savoir,sais,sait,savons,savez,savent,sourire,souris,sourit,sourions,souriez,sourient,suffire,suffis,suffit,suffisons,suffisez,suffisent,suivre,suis,suit,suivons,suivez,suivent,surprendre,surprends,surprend,surprenons,surprenez,surprennent,taire,tais,tait,taisons,taisez,taisent,tendre,tends,tend,tendons,tendez,tendent,vaincre,vaincs,vainc,vainquons,vainquez,vainquent,valoir,vaux,vaut,valons,valez,valent,vendre,vends,vend,vendons,vendez,vendent,vivre,vis,vit,vivons,vivez,vivent,voir,vois,voit,voyons,voyez,voient,vouloir,veux,veut,voulons,voulez,veulent,appartenir,appartiens,appartient,appartenons,appartenez,appartiennent,consentir,consens,consent,consentons,consentez,consentent,contenir,contiens,contient,contenons,contenez,contiennent,convenir,conviens,convient,convenons,convenez,conviennent,courir,cours,court,courrons,courrez,courrent,couvrir,couvres,couvre,couvrons,couvrez,couvrent,découvrir,découvres,découvre,découvrons,découvrez,découvrent,devenir,deviens,devient,devenons,devenez,deviennent,dormir,dors,dort,dormons,dormez,dorment,endormir,endors,endort,endormons,endormez,endorment,entretenir,entretiens,entretient,entretenons,entretenez,entretiennent,fuir,fuis,fuit,fuyons,fuyez,fuient,maintenir,maintiens,maintient,maintenons,maintenez,maintiennent,mentir,mens,ment,mentons,mentez,mentent,mourir,meurs,meurt,mourons,mourez,meurent,obtenir,obtient,obtiens,obtenons,obtenez,obtiennent,offrir,offres,offre,offront,offrez,offrent,ouvrir,ouvres,ouvre,ouvrons,ouvrez,ouvrent,parcourir,parcours,parcourt,parcourons,parcourez,parcourent,partir,pars,part,partons,partez,partent,parvenir,parviens,parvient,parvenons,parvenez,parviennent,prévenir,préviens,prévient,prévenons,prévenez,préviennent,recueillir,recueilles,recueille,recueillons,recueillez,recueillent,retenir,retiens,retient,retenons,retenez,retiennet,revenir,reviens,revient,revenons,revenez,reviennent,sentir,sens,sent,sentons,sentez,sentent,servir,sers,serLine truncated
|
||||||
|
verbs3ttre = "abattre,admettre,battre,mettre,permettre,remettre,soumettre".split(','),
|
||||||
|
adverbs = "d,l,n,s,m,à,absolument,afin,ah,ailleurs,ainsi,alors,attention,assez,au,aux,aujourd'hui,auprès,auquel,aussi,aussitôt,autant,après,arrière,aucun,aucune,autour,autrefois,autrement,avant,avec,beau,beaux,belle,belles,beaucoup,bientôt,brusquement,ça,car,ce,ceci,cela,celui,cependant,certain,certainement,certes,chacun,chacune,chaque,chez,ci,cinq,cinquante,combien,comme,comment,complètement,courant,d'abord,dans,d'autre,d'autres,davantage,de,debout,dehors,déjà,delà,demain,depuis,derrière,dès,des,désormais,dessus,deux,devant,dimanche,divers,dix,donc,dont,doucement,douze,du,durant,eau,eaux,également,eh,en,encore,enfin,ensuite,entre,environ,est,et,etc,fois,grâce,guère,hier,hors,huit,ici,jamais,je,jusque,jusqu'à,là,la,le,lentement,laquelle,lequel,lesquels,lesquelles,longtemps,lors,lorsque,lui,l'un,l'une,madame,maintenant,mais,malgré,me,même,midi,moi,moins,mois,mon,naturellement,ne,nez,ni,non,nord,notre,nous,oh,on,or,ou,où,oui,par,parce,parfaitement,parfois,parmi,partout,pas,pendant,peu,plus,plusieurs,plutôt,pour,pourquoi,pourtant,près,presque,printemps,profondément,propos,puis,puisque,quand,quant,quarante,quatre,que,quel,quelque,quelqu'un,qui,quinze,quoi,rapidement,rien,sans,se,selon,sept,seulement,si,simplement,six,soit,son,soudain,sous,souvent,suivant,sur,surtout,tandis,tant,tantôt,tard,te,tel,tellement,toi,ton,tôt,toujours,tout,toute,trente,très,trois,troisième,trop,tu,un,une,vers,vieil,vieux,vingt,vite,voici,voilà,votre,vous,vraiment,y,oeil,yeux".split(','), // Invariables
|
||||||
|
adjectives = "absolu,ancien,anglais,bas,blanc,bleu,blond,bon,calme,capable,chaud,cher,clair,commun,complet,content,court,cruel,curieux,dangereux,différent,difficile,digne,double,doux,droit,drôle,dur,égal,épais,étendu,éternel,étrange,étroit,extraordinaire,facile,faible,fidèle,fier,fin,fort,frais,franc,français,froid,gauche,général,grand,grave,gris,gros,haut,heureux,immense,immobile,important,impossible,inutile,jaune,jeune,joli,juste,large,léger,libre,long,lourd,magnifique,mauvais,meilleur,mien,mince,muet,naturel,nécessaire,nerveux,neuf,nombreux,nouveau,nu,nul,ouvert,pareil,perdu,petit,plein,politique,possible,précieux,précis,premier,présent,prochain,profond,propre,public,puissant,pur,rapide,rare,réel,riche,rond,rose,rouge,saint,sauvage,sec,secret,semblable,sérieux,seul,sien,silencieux,simple,social,sombre,sourd,supérieur,sûr,tendre,terrible,tranquille,triste,vaste,véritable,vert,vif,violent,visible,vivant,vrai".split(','), // Variable (m/f + pluriel)
|
||||||
|
names = "abri,absence,accent,accord,acte,action,affaire,âgé,âge,agent,aide,aile,air,âme,ami,amour,an,angoisse,animal,année,apparence,appartement,appel,arbre,argent,arme,armée,arrivée,art,article,as,aspect,attitude,auteur,autorité,autre,avance,avenir,aventure,avis,banc,bande,barbe,bataille,beauté,besoin,bête,bien,billet,bois,bonheur,bord,bouche,bout,branche,bras,bruit,bureau,but,cabinet,camarade,campagne,caractère,carte,cas,cause,cent,centre,cercle,cerveau,chaîne,chair,chaise,chaleur,chambre,champ,chance,changement,chant,charge,chasse,chat,chef,chemin,chemise,cheval,cheveu,chien,chiffre,choix,chose,chute,ciel,circonstance,classe,clé,clef,coeur,coin,colère,colline,colon,combat,commencement,compagnie,compagnon,compte,condition,confiance,connaissance,conscience,conseil,contraire,contre,conversation,corde,corps,côte,côté,cou,couche,couleur,coup,cour,courage,cours,course,crainte,cri,crise,croix,cuisine,curiosité,dame,danger,début,défaut,demande,demi,dent,départ,dernier,désert,désespoir,désir,détail,devoir,dieu,direction,discours,discussion,distance,docteur,doigt,dos,douceur,douleur,doute,drame,éclat,école,effet,effort,élément,elle,émotion,empire,endroit,énergie,enfance,enfant,ennemi,énorme,ensemble,entier,entrée,envie,épaule,époque,erreur,escalier,espace,espèce,espoir,esprit,étage,état,été,étoile,étranger,étude,événement,exemple,existence,expérience,expression,face,façon,faim,fait,famille,fatigue,faute,fauteuil,faux,faveur,femme,fenêtre,fer,ferme,fête,feu,feuille,figure,fil,fille,fils,fixe,flamme,fleur,flot,foi,folie,fonction,fond,force,forêt,forme,fortune,fou,foule,frère,front,fruit,fumée,fusil,garçon,garde,genou,genre,gens,geste,glace,gloire,goût,goutte,gouvernement,grain,groupe,guerre,habitant,habitude,haine,hasard,hauteur,herbe,heure,histoire,hiver,homme,honneur,honte,horizon,hôtel,humain,humide,idée,il,île,image,importance,impression,inconnu,inquiétude,instant,instinct,intelligence,intention,intérêt,intérieur,jambe,jardin,jeu,jeunesse,joie,joue,jour,journal,journée,juge,justice,larme,lendemain,lettre,leur,lèvre,liberté,lien,lieu,ligne,lit,livre,loi,loin,loup,lueur,lumière,lune,lutte,machine,main,maison,maître,mal,malade,maladie,malheur,marchand,marché,marche,mari,mariage,masse,matière,matin,médecin,membre,mémoire,mensonge,mer,mesure,métier,mieux,milieu,militaire,mille,million,mine,ministre,minute,mode,moindre,moitié,moment,monde,monsieur,montagne,morceau,mort,mot,mouvement,moyen,mur,musique,naissance,nation,nature,noir,noire,nom,nombre,note,nuage,nuit,objet,occasion,odeur,oeuvre,officier,oiseau,ombre,oncle,ordre,oreille,ouvrage,page,pain,paix,palais,papa,papier,paquet,parent,parole,part,parti,particulier,partie,passage,passé,passion,patron,paupière,pauvre,pays,paysage,paysan,peau,peine,pensée,père,personnage,personne,perte,peuple,peur,phrase,pièce,pied,pierre,pitié,place,plaine,plaisir,plan,planche,plante,pluie,poche,poésie,poète,poids,point,pointe,poitrine,police,pont,port,porte,portier,position,poste,poussière,pouvoir,présence,président,prêt,preuve,prière,prince,principe,prison,prix,problème,professeur,projet,puissance,qualité,quart,quartier,question,queue,race,raison,rang,rapport,rayon,réalité,recherche,réflexion,regard,règle,relation,religion,rencontre,repas,réponse,résistance,respect,reste,résultat,retour,rêve,révolution,rideau,robe,roche,rocher,roi,rôle,roman,route,rue,ruine,sable,sac,saison,salle,salut,sang,santé,savoir,scène,science,second,seconde,secours,secrétaire,seigneur,sein,semaine,sens,sentier,sentiment,service,seuil,siècle,siège,signe,silence,situation,société,soi,soin,soir,soirée,sol,soldat,soleil,solitude,somme,sommeil,sommet,sorte,sou,souffrance,source,souvenir,spectacle,succès,sueur,suite,sujet,système,table,tâche,tache,taille,tapis,témoin,tempête,temps,terme,terrain,terre,terreur,terrible,tête,théâtre,titre,toile,toit,tombe,tour,trace,train,trait,travail,travers,trésor,trou,type,unique,usage,vague,valeur,veille,vent,ventre,vérité,verre,vêtement,victime,vide,vie,vieillard,village,ville,vin,violence,visage,vision,visite,voie,voile,voisin,voiture,voix,vol,volonté,voyage,vue".split(',');
|
||||||
|
|
||||||
|
verbs1 = conjuguer1(verbs1);
|
||||||
|
verbs2 = conjuguer2(verbs2);
|
||||||
|
verbs3ttre = conjuguerttre(verbs3ttre);
|
||||||
|
adjectives = varadj(adjectives);
|
||||||
|
names = varnames(names);
|
||||||
|
|
||||||
|
function conjuguer1(v) {
|
||||||
|
v2 = v;
|
||||||
|
for (var i = 0, l = v.length; i < l; i++) {
|
||||||
|
var strLen = v[i].length,
|
||||||
|
curv = v[i].substr(0, strLen - 1),
|
||||||
|
curs = curv + "s",
|
||||||
|
strLen2 = curv.length,
|
||||||
|
curv2 = curv.substr(0, strLen2 - 1),
|
||||||
|
curons = curv2.substr(-1) === 'c' ? curv2.substr(0, strLen2 - 2) + "çons" : curv2 + "ons",
|
||||||
|
curez = curv2 + "ez",
|
||||||
|
curent = curv2 + "ent";
|
||||||
|
v2.push(curv, curs, curons, curez, curent);
|
||||||
|
}
|
||||||
|
return v2;
|
||||||
|
}
|
||||||
|
|
||||||
|
function conjuguer2(v) {
|
||||||
|
v2 = v;
|
||||||
|
for (var i = 0, l = v.length; i < l; i++) {
|
||||||
|
var strLen = v[i].length,
|
||||||
|
curv = v[i].substr(0, strLen - 1),
|
||||||
|
curs = curv + "s",
|
||||||
|
curt = curv + "t",
|
||||||
|
curons = curv + "ssons",
|
||||||
|
curez = curv + "ssez",
|
||||||
|
curent = curv + "ssent";
|
||||||
|
v2.push(curt, curs, curons, curez, curent);
|
||||||
|
}
|
||||||
|
return v2;
|
||||||
|
}
|
||||||
|
|
||||||
|
function conjuguerttre(v) {
|
||||||
|
v2 = v;
|
||||||
|
for (var i = 0, l = v.length; i < l; i++) {
|
||||||
|
var strLen = v[i].length,
|
||||||
|
curv = v[i].substr(0, strLen - 3),
|
||||||
|
curs = curv + "s",
|
||||||
|
curons = curv + "tons",
|
||||||
|
curez = curv + "tez",
|
||||||
|
curent = curv + "tent";
|
||||||
|
v2.push(curv, curs, curons, curez, curent);
|
||||||
|
}
|
||||||
|
return v2;
|
||||||
|
}
|
||||||
|
|
||||||
|
function varadj(a) {
|
||||||
|
a2 = a;
|
||||||
|
for (var i = 0, l = a.length; i < l; i++) {
|
||||||
|
var adj = a[i];
|
||||||
|
if (adj === "") continue;
|
||||||
|
// pluriel
|
||||||
|
if (adj.substr(-1) !== 's' && adj.substr(-1) !== 'x') {
|
||||||
|
if (adj.substr(-3) === 'eau') {
|
||||||
|
a2.push(adj + 'x');
|
||||||
|
} else if (adj.substr(-2) !== 'al') {
|
||||||
|
a2.push(adj + 's');
|
||||||
|
} else {
|
||||||
|
a2.push(adj.substr(0, adj.length - 2) + 'aux');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// féminin
|
||||||
|
var fem = "";
|
||||||
|
if (adj.substr(-2) === 'er' || adj.substr(-2) === 'et') {
|
||||||
|
fem = adj.substr(0, adj.length - 2) + 'è' + adj.substr(-1) + 'e';
|
||||||
|
}
|
||||||
|
if (adj.substr(-2) === 'en') {
|
||||||
|
fem = adj.substr(0, adj.length - 2) + 'enne';
|
||||||
|
} else if (adj.substr(-2) === 'as') {
|
||||||
|
fem = adj + 'se';
|
||||||
|
} else if (adj.substr(-1) === 'c') { // NO !
|
||||||
|
fem = adj + 'he';
|
||||||
|
} else if (adj.substr(-1) === 'n' && adj.substr(-2, 1) !== 'e') {
|
||||||
|
fem = adj + 'ne';
|
||||||
|
} else if (adj.substr(-1) === 'l') {
|
||||||
|
fem = adj + 'e';
|
||||||
|
} else if (adj.substr(-1) === 'f') {
|
||||||
|
fem = adj.substr(0, adj.length - 1) + 've';
|
||||||
|
} else if (adj.substr(-1) === 'g') {
|
||||||
|
fem = adj + 'ue';
|
||||||
|
} else if (adj.substr(-1) === 'x') {
|
||||||
|
fem = adj.substr(0, adj.length - 1) + 'se';
|
||||||
|
} else if (adj.substr(-3) === 'eau') {
|
||||||
|
fem = adj.substr(0, adj.length - 3) + 'elle';
|
||||||
|
}
|
||||||
|
if (fem === "" && adj.substr(-1) !== 'e') {
|
||||||
|
fem = adj + 'e';
|
||||||
|
}
|
||||||
|
if (fem !== "") {
|
||||||
|
a2.push(fem);
|
||||||
|
// féminin pluriel
|
||||||
|
a2.push(fem + 's');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return a2;
|
||||||
|
}
|
||||||
|
|
||||||
|
function varnames(n) {
|
||||||
|
n2 = n;
|
||||||
|
for (var i = 0, l = n.length; i < l; i++) {
|
||||||
|
var nam = n[i];
|
||||||
|
if (nam === "") continue;
|
||||||
|
// pluriel
|
||||||
|
if (nam.substr(-1) !== 's' && nam.substr(-1) !== 'x') {
|
||||||
|
if (nam.substr(-3) === 'eau') {
|
||||||
|
n2.push(nam + 'x');
|
||||||
|
} else if (nam.substr(-2) !== 'al') {
|
||||||
|
n2.push(nam + 's');
|
||||||
|
} else {
|
||||||
|
n2.push(nam.substr(0, nam.length - 2) + 'aux');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return n2;
|
||||||
|
}
|
||||||
|
|
||||||
|
var terms = adverbs.concat(adjectives, names, verbs1, verbs2, verbs3ttre, verbs3);
|
||||||
|
var sug = $('#sug')
|
||||||
|
.asuggest(terms, {
|
||||||
|
'stopSuggestionKeys': [$.asuggestKeys.RETURN],
|
||||||
|
'minChunkSize': 1,
|
||||||
|
'delimiters': ' '
|
||||||
|
})
|
||||||
|
.explanationCheck(terms);
|
||||||
|
$('#myForm').on('submit', function (e) {
|
||||||
|
e.preventDefault();
|
||||||
|
$.post(
|
||||||
|
$(this).prop('action'),
|
||||||
|
{'sug': $('#sug').val()},
|
||||||
|
function (data) {
|
||||||
|
if (data) {
|
||||||
|
alert('saved');
|
||||||
|
window.history.pushState(data.file, "Title", "#" + data.file);
|
||||||
|
} else {
|
||||||
|
|
||||||
|
}
|
||||||
|
},
|
||||||
|
'json'
|
||||||
|
);
|
||||||
|
});
|
||||||
|
})(window.jQuery);
|
||||||
|
|
||||||
|
|
||||||
|
// usage: log('inside coolFunc',this,arguments);
|
||||||
|
// paulirish.com/2009/log-a-lightweight-wrapper-for-consolelog/
|
||||||
|
window.log = function () {
|
||||||
|
log.history = log.history || []; // store logs to an array for reference
|
||||||
|
log.history.push(arguments);
|
||||||
|
if (this.console) {
|
||||||
|
console.log(Array.prototype.slice.call(arguments));
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
// catch all document.write() calls
|
||||||
|
(function (doc) {
|
||||||
|
var write = doc.write;
|
||||||
|
doc.write = function (q) {
|
||||||
|
log('document.write(): ', arguments);
|
||||||
|
if (/docwriteregexwhitelist/.test(q)) write.apply(doc, arguments);
|
||||||
|
};
|
||||||
|
})(document);
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
<?php
|
||||||
|
if(empty($_POST['hash'])) exit;
|
||||||
|
$hash = substr($_POST['hash'],1);
|
||||||
|
if (is_readable('saved/'.$hash)) {
|
||||||
|
echo file_get_contents('saved/'.$hash);
|
||||||
|
}
|
||||||
@@ -0,0 +1,160 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
header('Content-type: application/json');
|
||||||
|
|
||||||
|
if (empty($_POST['sug'])) {
|
||||||
|
exit;
|
||||||
|
}
|
||||||
|
$content = $_POST['sug'];
|
||||||
|
$verbs1 = explode(',', 'abandonner,accepter,accompagner,accorder,accrocher,accuser,acheter,achever,adresser,affirmer,agiter,aider,aimer,ajouter,allumer,amener,amuser,animer,annoncer,appeler,apporter,approcher,appuyer,armer,arracher,arrêter,arriver,assister,assurer,attacher,attaquer,attirer,avancer,avouer,baisser,briller,briser,brûler,cacher,calmer,caresser,casser,causer,céder,cesser,changer,chanter,charger,chasser,chercher,commander,commencer,composer,compter,condamner,confier,considérer,consulter,contenter,continuer,coucher,couler,couper,coûter,créer,creuser,crier,croiser,danser,déchirer,décider,déclarer,dégager,demander,demeurer,dépasser,déposer,désigner,désirer,dessiner,détacher,deviner,diriger,discuter,disposer,distinguer,dominer,donner,douter,dresser,durer,écarter,échapper,éclairer,éclater,écouter,écraser,effacer,élever,éloigner,embrasser,emmener,empêcher,employer,emporter,enfermer,enfoncer,engager,enlever,entourer,entraîner,entrer,envelopper,envoyer,éprouver,espérer,essayer,essuyer,étaler,étonner,étouffer,étudier,éviter,examiner,exécuter,exiger,exister,expliquer,exposer,exprimer,fatiguer,fermer,figurer,fixer,fonder,forcer,former,frapper,fumer,gagner,garder,glisser,habiller,habiter,hésiter,ignorer,imaginer,importer,imposer,indiquer,inquiéter,inspirer,installer,intéresser,interroger,inventer,inviter,jeter,jouer,juger,lever,lier,lisser,livrer,lutter,manger,manier,manquer,marcher,marier,marquer,mêler,menacer,mener,mériter,miser,monter,montrer,nommer,obliger,observer,occuper,oser,oublier,parler,partager,passer,payer,pencher,pénétrer,penser,peser,placer,pleurer,plonger,porter,poser,posséder,pousser,précéder,précipiter,préférer,préparer,présenter,presser,prêter,prier,profiter,promener,prononcer,proposer,protéger,prouver,quitter,raconter,ramasser,ramener,rappeler,rapporter,rassurer,réclamer,recommencer,reculer,refuser,regarder,regretter,rejeter,relever,remarquer,remercier,remonter,remplacer,rencontrer,renoncer,rentrer,renverser,répéter,reposer,repousser,représenter,réserver,résister,respecter,respirer,ressembler,rester,retirer,retomber,retourner,retrouver,réveiller,révéler,rêver,risquer,rouler,saluer,sauter,sauver,sembler,séparer,serrer,signer,signifier,songer,sonner,souffler,souhaiter,soulever,supporter,supposer,surveiller,tenter,terminer,tirer,tomber,toucher,tourner,tracer,traîner,traiter,transformer,travailler,traverser,trembler,tromper,troubler,trouver,tuer,user,veiller,verser,voler,voyager');
|
||||||
|
$verbs2 = explode(',', 'accomplir,agir,choisir,établir,finir,franchir,grandir,nourrir,obéir,réfléchir,remplir,réunir,réussir,saisir,subir,vêtir');
|
||||||
|
$verbs3 = explode(',', 'apercevoir,aperçois,aperçoit,apercevons,apercevez,aperçoivent,apparaître,apparais,apparait,apparqissons,apparqissez,apparaissent,apprendre,apprend,apprends,apprenons,apprenez,apprennent,atteindre,atteins,atteint,atteignons,atteignez,atteignent,attendre,attend,attends,attendons,attendez,attendent,avoir,ai,as,a,avons,avez,ont,boire,bois,boit,buvons,buvez,boivent,comprendre,comprend,comprends,comprenons,comprenez,comprennent,conclure,conclus,conclut,concluons,concluez,concluent,conduire,conduis,conduit,conduisons,conduisez,conduisent,confondre,confond,confonds,confondons,confondez,confondent,connaître,connais,connait,connaissons,connaissez,connaissent,construire,construis,construits,construisons,construisez,construisent,craindre,crains,craint,craignons,craignez,craignent,croire,crois,croit,croyons,croyez,croient,décrire,décris,décrit,décrivons,décrivez,décrivent,défendre,défends,défend,défendons,défendez,défendent,descendre,descend,descends,descendons,descendez,descendent,détruire,détruit,détruis,détruisons,détruisez,détruisent,devoir,dois,doit,devons,devez,doivent,dire,dis,dit,disons,disez,disent,disparaître,disparais,disparait,disparissons,disparaissez,disparraissent,écrire,écris,écrit,écrivons,écrivons,écrivent,entendre,entends,entend,entendons,entendez,entendent,éteindre,éteins,éteint,éteignons,éteignez,éteignent,étendre,étends,étend,étendons,étendez,étendent,être,suis,es,est,sommes,êtes,sont,falloir,faut,haïr,haïs,haït,haïssons,haïssez,haïssent,interrompre,interromps,interrompt,interrompons,interrompez,interrompent,joindre,joins,joint,joignons,joignez,joignent,lire,lis,lit,lisons,lisez,lisent,naître,nais,nait,naissons,naissez,naissent,paraître,parais,parait,paraissons,paraissez,paraissent,pendre,pend,pends,pendons,pendez,pendent,perdre,perd,perds,perdons,perdez,perdent,plaindre,plains,plaint,plaignons,plaignez,plaignent,plaire,plais,plait,plaisons,plaisez,plaisent,poursuivre,poursuis,poursuit,poursuivons,poursuivez,poursuivent,pouvoir,peux,peut,pouvons,pouvez,peuvent,prendre,prends,prend,prenons,prenez,prennent,prétendre,prétend,prétends,prétendons,prétendez,prétendent,prévoir,prévois,prévoit,prévoyons,prévoyez,prévoient,produire,produis,produit,produisons,produisez,produisent,promettre,promets,promet,promettons,promettez,promettent,recevoir,reçois,reçoit,recevons,recevez,reçoivent,reconnaître,reconnais,reconnait,reconnaissons,reconnaissez,reconnaissent,réduire,réduis,réduit,réduisons,réduisez,réduisent,rejoindre,rejoins,rejoint,rejoignons,rejoignez,rejoignent,rendre,rends,rend,rendons,rendez,rendent,répandre,répand,répands,répendons,répendez,répendent,répondre,répond,réponds,répondons,répondez,répondent,reprendre,reprends,reprend,reprenons,reprenez,reprenent,résoudre,résous,résout,resolvons,resolvez,resolvent,revoir,revois,revoit,revoyons,revoyez,revoient,rire,ris,rit,rions,riez,rient,rompre,romps,rompt,rompons,rompez,rompent,satisfaire,satisfais,satisfait,satisfaisons,satisfaisez,satisfaisent,savoir,sais,sait,savons,savez,savent,sourire,souris,sourit,sourions,souriez,sourient,suffire,suffis,suffit,suffisons,suffisez,suffisent,suivre,suis,suit,suivons,suivez,suivent,surprendre,surprends,surprend,surprenons,surprenez,surprennent,taire,tais,tait,taisons,taisez,taisent,tendre,tends,tend,tendons,tendez,tendent,vaincre,vaincs,vainc,vainquons,vainquez,vainquent,valoir,vaux,vaut,valons,valez,valent,vendre,vends,vend,vendons,vendez,vendent,vivre,vis,vit,vivons,vivez,vivent,voir,vois,voit,voyons,voyez,voient,vouloir,veux,veut,voulons,voulez,veulent,appartenir,appartiens,appartient,appartenons,appartenez,appartiennent,consentir,consens,consent,consentons,consentez,consentent,contenir,contiens,contient,contenons,contenez,contiennent,convenir,conviens,convient,convenons,convenez,conviennent,courir,cours,court,courrons,courrez,courrent,couvrir,couvres,couvre,couvrons,couvrez,couvrent,découvrir,découvres,découvre,découvrons,découvrez,découvrent,devenir,deviens,devient,devenons,devenez,deviennent,dormir,dors,dort,dormons,dormez,dorment,endormir,endors,endort,endormons,endormez,endorment,entretenir,entretiens,entretient,entretenons,entretenez,entretiennent,fuir,fuis,fuit,fuyons,fuyez,fuient,maintenir,maintiens,maintient,maintenons,maintenez,maintiennent,mentir,mens,ment,mentons,mentez,mentent,mourir,meurs,meurt,mourons,mourez,meurent,obtenir,obtient,obtiens,obtenons,obtenez,obtiennent,offrir,offres,offre,offront,offrez,offrent,ouvrir,ouvres,ouvre,ouvrons,ouvrez,ouvrent,parcourir,parcours,parcourt,parcourons,parcourez,parcourent,partir,pars,part,partons,partez,partent,parvenir,parviens,parvient,parvenons,parvenez,parviennent,prévenir,préviens,prévient,prévenons,prévenez,préviennent,recueillir,recueilles,recueille,recueillons,recueillez,recueillent,retenir,retiens,retient,retenons,retenez,retiennet,revenir,reviens,revient,revenons,revenez,reviennent,sentir,sens,sent,sentons,sentez,sentent,servir,seLine truncated
|
||||||
|
$verbs3ttre = explode(',', 'abattre,admettre,battre,mettre,permettre,remettre,soumettre');
|
||||||
|
$adverbs = explode(',', 'd,l,n,s,m,à,absolument,afin,ah,ailleurs,ainsi,alors,attention,assez,au,aux,aujourd\'hui,auprès,auquel,aussi,aussitôt,autant,après,arrière,aucun,aucune,autour,autrefois,autrement,avant,avec,beau,beaux,belle,belles,beaucoup,bientôt,brusquement,ça,car,ce,ceci,cela,celui,cependant,certain,certainement,certes,chacun,chacune,chaque,chez,ci,cinq,cinquante,combien,comme,comment,complètement,courant,d\'abord,dans,d\'autre,d\'autres,davantage,de,debout,dehors,déjà,delà,demain,depuis,derrière,dès,des,désormais,dessus,deux,devant,dimanche,divers,dix,donc,dont,doucement,douze,du,durant,eau,eaux,également,eh,en,encore,enfin,ensuite,entre,environ,est,et,etc,fois,grâce,guère,hier,hors,huit,ici,jamais,je,jusque,jusqu\'à,là,la,le,lentement,laquelle,lequel,lesquels,lesquelles,longtemps,lors,lorsque,lui,l\'un,l\'une,madame,maintenant,mais,malgré,me,même,midi,moi,moins,mois,mon,naturellement,ne,nez,ni,non,nord,notre,nous,oh,on,or,ou,où,oui,par,parce,parfaitement,parfois,parmi,partout,pas,pendant,peu,plus,plusieurs,plutôt,pour,pourquoi,pourtant,près,presque,printemps,profondément,propos,puis,puisque,quand,quant,quarante,quatre,que,quel,quelque,quelqu\'un,qui,quinze,quoi,rapidement,rien,sans,se,selon,sept,seulement,si,simplement,six,soit,son,soudain,sous,souvent,suivant,sur,surtout,tandis,tant,tantôt,tard,te,tel,tellement,toi,ton,tôt,toujours,tout,toute,trente,très,trois,troisième,trop,tu,un,une,vers,vieil,vieux,vingt,vite,voici,voilà,votre,vous,vraiment,y,oeil,yeux');
|
||||||
|
$adjectives = explode(',', 'absolu,ancien,anglais,bas,blanc,bleu,blond,bon,calme,capable,chaud,cher,clair,commun,complet,content,court,cruel,curieux,dangereux,différent,difficile,digne,double,doux,droit,drôle,dur,égal,épais,étendu,éternel,étrange,étroit,extraordinaire,facile,faible,fidèle,fier,fin,fort,frais,franc,français,froid,gauche,général,grand,grave,gris,gros,haut,heureux,immense,immobile,important,impossible,inutile,jaune,jeune,joli,juste,large,léger,libre,long,lourd,magnifique,mauvais,meilleur,mien,mince,muet,naturel,nécessaire,nerveux,neuf,nombreux,nouveau,nu,nul,ouvert,pareil,perdu,petit,plein,politique,possible,précieux,précis,premier,présent,prochain,profond,propre,public,puissant,pur,rapide,rare,réel,riche,rond,rose,rouge,saint,sauvage,sec,secret,semblable,sérieux,seul,sien,silencieux,simple,social,sombre,sourd,supérieur,sûr,tendre,terrible,tranquille,triste,vaste,véritable,vert,vif,violent,visible,vivant,vrai');
|
||||||
|
$names = explode(',', 'abri,absence,accent,accord,acte,action,affaire,âgé,âge,agent,aide,aile,air,âme,ami,amour,an,angoisse,animal,année,apparence,appartement,appel,arbre,argent,arme,armée,arrivée,art,article,as,aspect,attitude,auteur,autorité,autre,avance,avenir,aventure,avis,banc,bande,barbe,bataille,beauté,besoin,bête,bien,billet,bois,bonheur,bord,bouche,bout,branche,bras,bruit,bureau,but,cabinet,camarade,campagne,caractère,carte,cas,cause,cent,centre,cercle,cerveau,chaîne,chair,chaise,chaleur,chambre,champ,chance,changement,chant,charge,chasse,chat,chef,chemin,chemise,cheval,cheveu,chien,chiffre,choix,chose,chute,ciel,circonstance,classe,clé,clef,coeur,coin,colère,colline,colon,combat,commencement,compagnie,compagnon,compte,condition,confiance,connaissance,conscience,conseil,contraire,contre,conversation,corde,corps,côte,côté,cou,couche,couleur,coup,cour,courage,cours,course,crainte,cri,crise,croix,cuisine,curiosité,dame,danger,début,défaut,demande,demi,dent,départ,dernier,désert,désespoir,désir,détail,devoir,dieu,direction,discours,discussion,distance,docteur,doigt,dos,douceur,douleur,doute,drame,éclat,école,effet,effort,élément,elle,émotion,empire,endroit,énergie,enfance,enfant,ennemi,énorme,ensemble,entier,entrée,envie,épaule,époque,erreur,escalier,espace,espèce,espoir,esprit,étage,état,été,étoile,étranger,étude,événement,exemple,existence,expérience,expression,face,façon,faim,fait,famille,fatigue,faute,fauteuil,faux,faveur,femme,fenêtre,fer,ferme,fête,feu,feuille,figure,fil,fille,fils,fixe,flamme,fleur,flot,foi,folie,fonction,fond,force,forêt,forme,fortune,fou,foule,frère,front,fruit,fumée,fusil,garçon,garde,genou,genre,gens,geste,glace,gloire,goût,goutte,gouvernement,grain,groupe,guerre,habitant,habitude,haine,hasard,hauteur,herbe,heure,histoire,hiver,homme,honneur,honte,horizon,hôtel,humain,humide,idée,il,île,image,importance,impression,inconnu,inquiétude,instant,instinct,intelligence,intention,intérêt,intérieur,jambe,jardin,jeu,jeunesse,joie,joue,jour,journal,journée,juge,justice,larme,lendemain,lettre,leur,lèvre,liberté,lien,lieu,ligne,lit,livre,loi,loin,loup,lueur,lumière,lune,lutte,machine,main,maison,maître,mal,malade,maladie,malheur,marchand,marché,marche,mari,mariage,masse,matière,matin,médecin,membre,mémoire,mensonge,mer,mesure,métier,mieux,milieu,militaire,mille,million,mine,ministre,minute,mode,moindre,moitié,moment,monde,monsieur,montagne,morceau,mort,mot,mouvement,moyen,mur,musique,naissance,nation,nature,noir,noire,nom,nombre,note,nuage,nuit,objet,occasion,odeur,oeuvre,officier,oiseau,ombre,oncle,ordre,oreille,ouvrage,page,pain,paix,palais,papa,papier,paquet,parent,parole,part,parti,particulier,partie,passage,passé,passion,patron,paupière,pauvre,pays,paysage,paysan,peau,peine,pensée,père,personnage,personne,perte,peuple,peur,phrase,pièce,pied,pierre,pitié,place,plaine,plaisir,plan,planche,plante,pluie,poche,poésie,poète,poids,point,pointe,poitrine,police,pont,port,porte,portier,position,poste,poussière,pouvoir,présence,président,prêt,preuve,prière,prince,principe,prison,prix,problème,professeur,projet,puissance,qualité,quart,quartier,question,queue,race,raison,rang,rapport,rayon,réalité,recherche,réflexion,regard,règle,relation,religion,rencontre,repas,réponse,résistance,respect,reste,résultat,retour,rêve,révolution,rideau,robe,roche,rocher,roi,rôle,roman,route,rue,ruine,sable,sac,saison,salle,salut,sang,santé,savoir,scène,science,second,seconde,secours,secrétaire,seigneur,sein,semaine,sens,sentier,sentiment,service,seuil,siècle,siège,signe,silence,situation,société,soi,soin,soir,soirée,sol,soldat,soleil,solitude,somme,sommeil,sommet,sorte,sou,souffrance,source,souvenir,spectacle,succès,sueur,suite,sujet,système,table,tâche,tache,taille,tapis,témoin,tempête,temps,terme,terrain,terre,terreur,terrible,tête,théâtre,titre,toile,toit,tombe,tour,trace,train,trait,travail,travers,trésor,trou,type,unique,usage,vague,valeur,veille,vent,ventre,vérité,verre,vêtement,victime,vide,vie,vieillard,village,ville,vin,violence,visage,vision,visite,voie,voile,voisin,voiture,voix,vol,volonté,voyage,vue');
|
||||||
|
|
||||||
|
$verbs1 = conjuguer1($verbs1);
|
||||||
|
$verbs2 = conjuguer2($verbs2);
|
||||||
|
$verbs3ttre = conjuguerttre($verbs3ttre);
|
||||||
|
$adjectives = varadj($adjectives);
|
||||||
|
$names = varnames($names);
|
||||||
|
|
||||||
|
function conjuguer1($v)
|
||||||
|
{
|
||||||
|
$v2 = $v;
|
||||||
|
for ($i = 0, $l = count($v); $i < $l; $i++) {
|
||||||
|
$strLen = strlen($v[$i]);
|
||||||
|
$curv = substr($v[$i], 0, $strLen - 1);
|
||||||
|
$curs = $curv . 's';
|
||||||
|
$strLen2 = strlen($curv);
|
||||||
|
$curv2 = substr($curv, 0, $strLen2 - 1);
|
||||||
|
$curons = substr($curv2, -1) === 'c' ? substr($curv2, 0, $strLen2 - 2) . "çons" : $curv2 . "ons";
|
||||||
|
$curez = $curv2 . 'ez';
|
||||||
|
$curent = $curv2 . 'ent';
|
||||||
|
array_push($v2, $curv, $curs, $curons, $curez, $curent);
|
||||||
|
}
|
||||||
|
return $v2;
|
||||||
|
}
|
||||||
|
|
||||||
|
function conjuguer2($v)
|
||||||
|
{
|
||||||
|
$v2 = $v;
|
||||||
|
for ($i = 0, $l = count($v); $i < $l; $i++) {
|
||||||
|
$strLen = strlen($v[$i]);
|
||||||
|
$curv = substr($v[$i], 0, $strLen - 1);
|
||||||
|
$curs = $curv . 's';
|
||||||
|
$curt = $curv . 't';
|
||||||
|
$curons = $curv . 'ssons';
|
||||||
|
$curez = $curv . 'ssez';
|
||||||
|
$curent = $curv . 'ssent';
|
||||||
|
array_push($v2, $curt, $curs, $curons, $curez, $curent);
|
||||||
|
}
|
||||||
|
return $v2;
|
||||||
|
}
|
||||||
|
|
||||||
|
function conjuguerttre($v)
|
||||||
|
{
|
||||||
|
$v2 = $v;
|
||||||
|
for ($i = 0, $l = count($v); $i < $l; $i++) {
|
||||||
|
$strLen = strlen($v[$i]);
|
||||||
|
$curv = substr($v[$i], 0, $strLen - 3);
|
||||||
|
$curs = $curv . 's';
|
||||||
|
$curons = $curv . 'tons';
|
||||||
|
$curez = $curv . 'tez';
|
||||||
|
$curent = $curv . 'tent';
|
||||||
|
array_push($v2, $curv, $curs, $curons, $curez, $curent);
|
||||||
|
}
|
||||||
|
return $v2;
|
||||||
|
}
|
||||||
|
|
||||||
|
function varadj($a)
|
||||||
|
{
|
||||||
|
$a2 = $a;
|
||||||
|
for ($i = 0, $l = count($a); $i < $l; $i++) {
|
||||||
|
$adj = $a[$i];
|
||||||
|
if ($adj === '') continue;
|
||||||
|
// pluriel
|
||||||
|
if (substr($adj, -1) !== 's' && substr($adj, -1) !== 'x') {
|
||||||
|
if (substr($adj, -3) === 'eau') {
|
||||||
|
array_push($a2, $adj . 'x');
|
||||||
|
} else if (substr($adj, -2) !== 'al') {
|
||||||
|
array_push($a2, $adj . 's');
|
||||||
|
} else {
|
||||||
|
array_push($a2, substr($adj, 0, $adj . strlen($adj) - 2) . 'aux');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// féminin
|
||||||
|
$fem = "";
|
||||||
|
if (substr($adj, -2) === 'er' || substr($adj, -2) === 'et') {
|
||||||
|
$fem = substr($adj, strlen($adj) - 2) . 'è' . substr($adj, -1) . 'e';
|
||||||
|
}
|
||||||
|
if (substr($adj, -2) === 'en') {
|
||||||
|
$fem = substr($adj, 0, strlen($adj) - 2) . 'enne';
|
||||||
|
} else if (substr($adj, -2) === 'as') {
|
||||||
|
$fem = $adj . 'se';
|
||||||
|
} else if (substr($adj, -1) === 'c') { // NO !
|
||||||
|
$fem = $adj . 'he';
|
||||||
|
} else if (substr($adj, -1) === 'n' && substr($adj, -2, 1) != 'e') {
|
||||||
|
$fem = $adj . 'ne';
|
||||||
|
} else if (substr($adj, -1) === 'l') {
|
||||||
|
$fem = $adj . 'e';
|
||||||
|
} else if (substr($adj, -1) === 'f') {
|
||||||
|
$fem = substr($adj, 0, strlen($adj) - 1) . 've';
|
||||||
|
} else if (substr($adj, -1) === 'g') {
|
||||||
|
$fem = $adj . 'ue';
|
||||||
|
} else if (substr($adj, -1) === 'x') {
|
||||||
|
$fem = substr($adj, 0, strlen($adj) - 1) . 'se';
|
||||||
|
} else if (substr($adj, -3) === 'eau') {
|
||||||
|
$fem = substr($adj, 0, strlen($adj) - 3) . 'elle';
|
||||||
|
}
|
||||||
|
if ($fem == "" && substr($adj, -1) != 'e') {
|
||||||
|
$fem = $adj . 'e';
|
||||||
|
}
|
||||||
|
if ($fem != "") {
|
||||||
|
array_push($a2, $fem, $fem . 's');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return $a2;
|
||||||
|
}
|
||||||
|
|
||||||
|
function varnames($n)
|
||||||
|
{
|
||||||
|
$n2 = $n;
|
||||||
|
for ($i = 0, $l = count($n); $i < $l; $i++) {
|
||||||
|
$nam = $n[$i];
|
||||||
|
if ($nam == "") continue;
|
||||||
|
// pluriel
|
||||||
|
if (substr($nam, -1) != 's' && substr($nam, -1) != 'x') {
|
||||||
|
if (substr($nam, -3) == 'eau') {
|
||||||
|
array_push($n2, $nam . 'x');
|
||||||
|
} else if (substr($nam, -2) != 'al') {
|
||||||
|
array_push($n2, $nam . 's');
|
||||||
|
} else {
|
||||||
|
array_push($n2, substr($nam, 0, $nam . strlen($nam) - 2) . 'aux');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return $n2;
|
||||||
|
}
|
||||||
|
|
||||||
|
function multiexplode($delimiters, $string)
|
||||||
|
{
|
||||||
|
$ready = str_replace($delimiters, $delimiters[0], $string);
|
||||||
|
$launch = explode($delimiters[0], $ready);
|
||||||
|
return $launch;
|
||||||
|
}
|
||||||
|
|
||||||
|
$terms = array_merge($adverbs, $adjectives, $names, $verbs1, $verbs2, $verbs3ttre, $verbs3);
|
||||||
|
$words = str_replace(array('.', '!', ',', ';', '?'), "", $content);
|
||||||
|
$words = multiexplode(array(" ", "\n", "'"), $words);
|
||||||
|
foreach ($words as $word) {
|
||||||
|
$word = trim(strtolower($word));
|
||||||
|
if (!empty($word) && !in_array($word, $terms)) {
|
||||||
|
exit;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$tod = gettimeofday();
|
||||||
|
$finalFilename = $tod['sec'] . $tod['usec'] . rand(0, 50);
|
||||||
|
file_put_contents('saved/' . $finalFilename, $content);
|
||||||
|
echo function_exists('json_encode') ? json_encode(array('file' => $finalFilename)) : '{"file":"' . $finalFilename . '"}';
|
||||||
Whitespace-only changes.
Reference in new issue
Block a user