├── .gitignore ├── .idea ├── .name ├── MyFirstBlog.iml ├── encodings.xml ├── inspectionProfiles │ ├── Project_Default.xml │ └── profiles_settings.xml ├── misc.xml ├── modules.xml ├── vcs.xml └── workspace.xml ├── Procfile ├── README.md ├── __init__.py ├── manage.py ├── migrations ├── README ├── alembic.ini ├── env.py ├── script.py.mako └── versions │ └── 253420e18fbf_.py ├── migrations_back ├── README ├── alembic.ini ├── env.py └── script.py.mako ├── programe ├── __init__.py ├── app │ ├── __init__.py │ ├── api_1_0 │ │ ├── __init__.py │ │ ├── authentication.py │ │ ├── decorators.py │ │ ├── errors.py │ │ ├── posts.py │ │ └── users.py │ ├── auth │ │ ├── __init__.py │ │ ├── forms.py │ │ └── views.py │ ├── decorators.py │ ├── email.py │ ├── main │ │ ├── CodeAcdemy.js │ │ ├── __init__.py │ │ ├── errors.py │ │ ├── forms.py │ │ └── views.py │ ├── models.py │ ├── static │ │ ├── backgroud_img.jpg │ │ ├── category.png │ │ ├── ckeditor │ │ │ ├── adapters │ │ │ │ └── jquery.js │ │ │ ├── build-config.js │ │ │ ├── ckeditor.js │ │ │ ├── config.js │ │ │ ├── contents.css │ │ │ ├── lang │ │ │ │ ├── af.js │ │ │ │ ├── ar.js │ │ │ │ ├── bg.js │ │ │ │ ├── bn.js │ │ │ │ ├── bs.js │ │ │ │ ├── ca.js │ │ │ │ ├── cs.js │ │ │ │ ├── cy.js │ │ │ │ ├── da.js │ │ │ │ ├── de-ch.js │ │ │ │ ├── de.js │ │ │ │ ├── el.js │ │ │ │ ├── en-au.js │ │ │ │ ├── en-ca.js │ │ │ │ ├── en-gb.js │ │ │ │ ├── en.js │ │ │ │ ├── eo.js │ │ │ │ ├── es.js │ │ │ │ ├── et.js │ │ │ │ ├── eu.js │ │ │ │ ├── fa.js │ │ │ │ ├── fi.js │ │ │ │ ├── fo.js │ │ │ │ ├── fr-ca.js │ │ │ │ ├── fr.js │ │ │ │ ├── gl.js │ │ │ │ ├── gu.js │ │ │ │ ├── he.js │ │ │ │ ├── hi.js │ │ │ │ ├── hr.js │ │ │ │ ├── hu.js │ │ │ │ ├── id.js │ │ │ │ ├── is.js │ │ │ │ ├── it.js │ │ │ │ ├── ja.js │ │ │ │ ├── ka.js │ │ │ │ ├── km.js │ │ │ │ ├── ko.js │ │ │ │ ├── ku.js │ │ │ │ ├── lt.js │ │ │ │ ├── lv.js │ │ │ │ ├── mk.js │ │ │ │ ├── mn.js │ │ │ │ ├── ms.js │ │ │ │ ├── nb.js │ │ │ │ ├── nl.js │ │ │ │ ├── no.js │ │ │ │ ├── pl.js │ │ │ │ ├── pt-br.js │ │ │ │ ├── pt.js │ │ │ │ ├── ro.js │ │ │ │ ├── ru.js │ │ │ │ ├── si.js │ │ │ │ ├── sk.js │ │ │ │ ├── sl.js │ │ │ │ ├── sq.js │ │ │ │ ├── sr-latn.js │ │ │ │ ├── sr.js │ │ │ │ ├── sv.js │ │ │ │ ├── th.js │ │ │ │ ├── tr.js │ │ │ │ ├── tt.js │ │ │ │ ├── ug.js │ │ │ │ ├── uk.js │ │ │ │ ├── vi.js │ │ │ │ ├── zh-cn.js │ │ │ │ └── zh.js │ │ │ ├── plugins │ │ │ │ ├── a11yhelp │ │ │ │ │ └── dialogs │ │ │ │ │ │ ├── a11yhelp.js │ │ │ │ │ │ └── lang │ │ │ │ │ │ ├── _translationstatus.txt │ │ │ │ │ │ ├── af.js │ │ │ │ │ │ ├── ar.js │ │ │ │ │ │ ├── bg.js │ │ │ │ │ │ ├── ca.js │ │ │ │ │ │ ├── cs.js │ │ │ │ │ │ ├── cy.js │ │ │ │ │ │ ├── da.js │ │ │ │ │ │ ├── de-ch.js │ │ │ │ │ │ ├── de.js │ │ │ │ │ │ ├── el.js │ │ │ │ │ │ ├── en-gb.js │ │ │ │ │ │ ├── en.js │ │ │ │ │ │ ├── eo.js │ │ │ │ │ │ ├── es.js │ │ │ │ │ │ ├── et.js │ │ │ │ │ │ ├── eu.js │ │ │ │ │ │ ├── fa.js │ │ │ │ │ │ ├── fi.js │ │ │ │ │ │ ├── fo.js │ │ │ │ │ │ ├── fr-ca.js │ │ │ │ │ │ ├── fr.js │ │ │ │ │ │ ├── gl.js │ │ │ │ │ │ ├── gu.js │ │ │ │ │ │ ├── he.js │ │ │ │ │ │ ├── hi.js │ │ │ │ │ │ ├── hr.js │ │ │ │ │ │ ├── hu.js │ │ │ │ │ │ ├── id.js │ │ │ │ │ │ ├── it.js │ │ │ │ │ │ ├── ja.js │ │ │ │ │ │ ├── km.js │ │ │ │ │ │ ├── ko.js │ │ │ │ │ │ ├── ku.js │ │ │ │ │ │ ├── lt.js │ │ │ │ │ │ ├── lv.js │ │ │ │ │ │ ├── mk.js │ │ │ │ │ │ ├── mn.js │ │ │ │ │ │ ├── nb.js │ │ │ │ │ │ ├── nl.js │ │ │ │ │ │ ├── no.js │ │ │ │ │ │ ├── pl.js │ │ │ │ │ │ ├── pt-br.js │ │ │ │ │ │ ├── pt.js │ │ │ │ │ │ ├── ro.js │ │ │ │ │ │ ├── ru.js │ │ │ │ │ │ ├── si.js │ │ │ │ │ │ ├── sk.js │ │ │ │ │ │ ├── sl.js │ │ │ │ │ │ ├── sq.js │ │ │ │ │ │ ├── sr-latn.js │ │ │ │ │ │ ├── sr.js │ │ │ │ │ │ ├── sv.js │ │ │ │ │ │ ├── th.js │ │ │ │ │ │ ├── tr.js │ │ │ │ │ │ ├── tt.js │ │ │ │ │ │ ├── ug.js │ │ │ │ │ │ ├── uk.js │ │ │ │ │ │ ├── vi.js │ │ │ │ │ │ ├── zh-cn.js │ │ │ │ │ │ └── zh.js │ │ │ │ ├── about │ │ │ │ │ └── dialogs │ │ │ │ │ │ ├── about.js │ │ │ │ │ │ ├── hidpi │ │ │ │ │ │ └── logo_ckeditor.png │ │ │ │ │ │ └── logo_ckeditor.png │ │ │ │ ├── clipboard │ │ │ │ │ └── dialogs │ │ │ │ │ │ └── paste.js │ │ │ │ ├── colordialog │ │ │ │ │ └── dialogs │ │ │ │ │ │ ├── colordialog.css │ │ │ │ │ │ └── colordialog.js │ │ │ │ ├── dialog │ │ │ │ │ └── dialogDefinition.js │ │ │ │ ├── div │ │ │ │ │ └── dialogs │ │ │ │ │ │ └── div.js │ │ │ │ ├── find │ │ │ │ │ └── dialogs │ │ │ │ │ │ └── find.js │ │ │ │ ├── flash │ │ │ │ │ ├── dialogs │ │ │ │ │ │ └── flash.js │ │ │ │ │ └── images │ │ │ │ │ │ └── placeholder.png │ │ │ │ ├── forms │ │ │ │ │ ├── dialogs │ │ │ │ │ │ ├── button.js │ │ │ │ │ │ ├── checkbox.js │ │ │ │ │ │ ├── form.js │ │ │ │ │ │ ├── hiddenfield.js │ │ │ │ │ │ ├── radio.js │ │ │ │ │ │ ├── select.js │ │ │ │ │ │ ├── textarea.js │ │ │ │ │ │ └── textfield.js │ │ │ │ │ └── images │ │ │ │ │ │ └── hiddenfield.gif │ │ │ │ ├── icons.png │ │ │ │ ├── icons_hidpi.png │ │ │ │ ├── iframe │ │ │ │ │ ├── dialogs │ │ │ │ │ │ └── iframe.js │ │ │ │ │ └── images │ │ │ │ │ │ └── placeholder.png │ │ │ │ ├── image │ │ │ │ │ ├── dialogs │ │ │ │ │ │ └── image.js │ │ │ │ │ └── images │ │ │ │ │ │ └── noimage.png │ │ │ │ ├── link │ │ │ │ │ ├── dialogs │ │ │ │ │ │ ├── anchor.js │ │ │ │ │ │ └── link.js │ │ │ │ │ └── images │ │ │ │ │ │ ├── anchor.png │ │ │ │ │ │ └── hidpi │ │ │ │ │ │ └── anchor.png │ │ │ │ ├── liststyle │ │ │ │ │ └── dialogs │ │ │ │ │ │ └── liststyle.js │ │ │ │ ├── magicline │ │ │ │ │ └── images │ │ │ │ │ │ ├── hidpi │ │ │ │ │ │ ├── icon-rtl.png │ │ │ │ │ │ └── icon.png │ │ │ │ │ │ ├── icon-rtl.png │ │ │ │ │ │ └── icon.png │ │ │ │ ├── markdown │ │ │ │ │ ├── .gitattributes │ │ │ │ │ ├── .gitignore │ │ │ │ │ ├── README.md │ │ │ │ │ ├── css │ │ │ │ │ │ └── codemirror.min.css │ │ │ │ │ ├── icons │ │ │ │ │ │ ├── hidpi │ │ │ │ │ │ │ └── markdown.png │ │ │ │ │ │ └── markdown.png │ │ │ │ │ ├── js │ │ │ │ │ │ ├── codemirror-gfm-min.js │ │ │ │ │ │ ├── marked.js │ │ │ │ │ │ └── to-markdown.js │ │ │ │ │ ├── plugin.js │ │ │ │ │ └── theme │ │ │ │ │ │ ├── 3024-day.css │ │ │ │ │ │ ├── 3024-night.css │ │ │ │ │ │ ├── ambiance-mobile.css │ │ │ │ │ │ ├── ambiance.css │ │ │ │ │ │ ├── base16-dark.css │ │ │ │ │ │ ├── base16-light.css │ │ │ │ │ │ ├── blackboard.css │ │ │ │ │ │ ├── cobalt.css │ │ │ │ │ │ ├── eclipse.css │ │ │ │ │ │ ├── elegant.css │ │ │ │ │ │ ├── erlang-dark.css │ │ │ │ │ │ ├── lesser-dark.css │ │ │ │ │ │ ├── mbo.css │ │ │ │ │ │ ├── mdn-like.css │ │ │ │ │ │ ├── midnight.css │ │ │ │ │ │ ├── monokai.css │ │ │ │ │ │ ├── neat.css │ │ │ │ │ │ ├── neo.css │ │ │ │ │ │ ├── night.css │ │ │ │ │ │ ├── paraiso-dark.css │ │ │ │ │ │ ├── paraiso-light.css │ │ │ │ │ │ ├── pastel-on-dark.css │ │ │ │ │ │ ├── rubyblue.css │ │ │ │ │ │ ├── solarized.css │ │ │ │ │ │ ├── the-matrix.css │ │ │ │ │ │ ├── tomorrow-night-eighties.css │ │ │ │ │ │ ├── twilight.css │ │ │ │ │ │ ├── vibrant-ink.css │ │ │ │ │ │ ├── xq-dark.css │ │ │ │ │ │ └── xq-light.css │ │ │ │ ├── pagebreak │ │ │ │ │ └── images │ │ │ │ │ │ └── pagebreak.gif │ │ │ │ ├── pastefromword │ │ │ │ │ └── filter │ │ │ │ │ │ └── default.js │ │ │ │ ├── preview │ │ │ │ │ └── preview.html │ │ │ │ ├── scayt │ │ │ │ │ ├── CHANGELOG.md │ │ │ │ │ ├── LICENSE.md │ │ │ │ │ ├── README.md │ │ │ │ │ └── dialogs │ │ │ │ │ │ ├── options.js │ │ │ │ │ │ └── toolbar.css │ │ │ │ ├── showblocks │ │ │ │ │ └── images │ │ │ │ │ │ ├── block_address.png │ │ │ │ │ │ ├── block_blockquote.png │ │ │ │ │ │ ├── block_div.png │ │ │ │ │ │ ├── block_h1.png │ │ │ │ │ │ ├── block_h2.png │ │ │ │ │ │ ├── block_h3.png │ │ │ │ │ │ ├── block_h4.png │ │ │ │ │ │ ├── block_h5.png │ │ │ │ │ │ ├── block_h6.png │ │ │ │ │ │ ├── block_p.png │ │ │ │ │ │ └── block_pre.png │ │ │ │ ├── smiley │ │ │ │ │ ├── dialogs │ │ │ │ │ │ └── smiley.js │ │ │ │ │ └── images │ │ │ │ │ │ ├── angel_smile.gif │ │ │ │ │ │ ├── angel_smile.png │ │ │ │ │ │ ├── angry_smile.gif │ │ │ │ │ │ ├── angry_smile.png │ │ │ │ │ │ ├── broken_heart.gif │ │ │ │ │ │ ├── broken_heart.png │ │ │ │ │ │ ├── confused_smile.gif │ │ │ │ │ │ ├── confused_smile.png │ │ │ │ │ │ ├── cry_smile.gif │ │ │ │ │ │ ├── cry_smile.png │ │ │ │ │ │ ├── devil_smile.gif │ │ │ │ │ │ ├── devil_smile.png │ │ │ │ │ │ ├── embaressed_smile.gif │ │ │ │ │ │ ├── embarrassed_smile.gif │ │ │ │ │ │ ├── embarrassed_smile.png │ │ │ │ │ │ ├── envelope.gif │ │ │ │ │ │ ├── envelope.png │ │ │ │ │ │ ├── heart.gif │ │ │ │ │ │ ├── heart.png │ │ │ │ │ │ ├── kiss.gif │ │ │ │ │ │ ├── kiss.png │ │ │ │ │ │ ├── lightbulb.gif │ │ │ │ │ │ ├── lightbulb.png │ │ │ │ │ │ ├── omg_smile.gif │ │ │ │ │ │ ├── omg_smile.png │ │ │ │ │ │ ├── regular_smile.gif │ │ │ │ │ │ ├── regular_smile.png │ │ │ │ │ │ ├── sad_smile.gif │ │ │ │ │ │ ├── sad_smile.png │ │ │ │ │ │ ├── shades_smile.gif │ │ │ │ │ │ ├── shades_smile.png │ │ │ │ │ │ ├── teeth_smile.gif │ │ │ │ │ │ ├── teeth_smile.png │ │ │ │ │ │ ├── thumbs_down.gif │ │ │ │ │ │ ├── thumbs_down.png │ │ │ │ │ │ ├── thumbs_up.gif │ │ │ │ │ │ ├── thumbs_up.png │ │ │ │ │ │ ├── tongue_smile.gif │ │ │ │ │ │ ├── tongue_smile.png │ │ │ │ │ │ ├── tounge_smile.gif │ │ │ │ │ │ ├── whatchutalkingabout_smile.gif │ │ │ │ │ │ ├── whatchutalkingabout_smile.png │ │ │ │ │ │ ├── wink_smile.gif │ │ │ │ │ │ └── wink_smile.png │ │ │ │ ├── specialchar │ │ │ │ │ └── dialogs │ │ │ │ │ │ ├── lang │ │ │ │ │ │ ├── _translationstatus.txt │ │ │ │ │ │ ├── af.js │ │ │ │ │ │ ├── ar.js │ │ │ │ │ │ ├── bg.js │ │ │ │ │ │ ├── ca.js │ │ │ │ │ │ ├── cs.js │ │ │ │ │ │ ├── cy.js │ │ │ │ │ │ ├── da.js │ │ │ │ │ │ ├── de-ch.js │ │ │ │ │ │ ├── de.js │ │ │ │ │ │ ├── el.js │ │ │ │ │ │ ├── en-gb.js │ │ │ │ │ │ ├── en.js │ │ │ │ │ │ ├── eo.js │ │ │ │ │ │ ├── es.js │ │ │ │ │ │ ├── et.js │ │ │ │ │ │ ├── eu.js │ │ │ │ │ │ ├── fa.js │ │ │ │ │ │ ├── fi.js │ │ │ │ │ │ ├── fr-ca.js │ │ │ │ │ │ ├── fr.js │ │ │ │ │ │ ├── gl.js │ │ │ │ │ │ ├── he.js │ │ │ │ │ │ ├── hr.js │ │ │ │ │ │ ├── hu.js │ │ │ │ │ │ ├── id.js │ │ │ │ │ │ ├── it.js │ │ │ │ │ │ ├── ja.js │ │ │ │ │ │ ├── km.js │ │ │ │ │ │ ├── ko.js │ │ │ │ │ │ ├── ku.js │ │ │ │ │ │ ├── lt.js │ │ │ │ │ │ ├── lv.js │ │ │ │ │ │ ├── nb.js │ │ │ │ │ │ ├── nl.js │ │ │ │ │ │ ├── no.js │ │ │ │ │ │ ├── pl.js │ │ │ │ │ │ ├── pt-br.js │ │ │ │ │ │ ├── pt.js │ │ │ │ │ │ ├── ru.js │ │ │ │ │ │ ├── si.js │ │ │ │ │ │ ├── sk.js │ │ │ │ │ │ ├── sl.js │ │ │ │ │ │ ├── sq.js │ │ │ │ │ │ ├── sv.js │ │ │ │ │ │ ├── th.js │ │ │ │ │ │ ├── tr.js │ │ │ │ │ │ ├── tt.js │ │ │ │ │ │ ├── ug.js │ │ │ │ │ │ ├── uk.js │ │ │ │ │ │ ├── vi.js │ │ │ │ │ │ ├── zh-cn.js │ │ │ │ │ │ └── zh.js │ │ │ │ │ │ └── specialchar.js │ │ │ │ ├── table │ │ │ │ │ └── dialogs │ │ │ │ │ │ └── table.js │ │ │ │ ├── tabletools │ │ │ │ │ └── dialogs │ │ │ │ │ │ └── tableCell.js │ │ │ │ ├── templates │ │ │ │ │ ├── dialogs │ │ │ │ │ │ ├── templates.css │ │ │ │ │ │ └── templates.js │ │ │ │ │ └── templates │ │ │ │ │ │ ├── default.js │ │ │ │ │ │ └── images │ │ │ │ │ │ ├── template1.gif │ │ │ │ │ │ ├── template2.gif │ │ │ │ │ │ └── template3.gif │ │ │ │ └── wsc │ │ │ │ │ ├── LICENSE.md │ │ │ │ │ ├── README.md │ │ │ │ │ └── dialogs │ │ │ │ │ ├── ciframe.html │ │ │ │ │ ├── tmpFrameset.html │ │ │ │ │ ├── wsc.css │ │ │ │ │ ├── wsc.js │ │ │ │ │ └── wsc_ie.js │ │ │ ├── skins │ │ │ │ └── moono │ │ │ │ │ ├── dialog.css │ │ │ │ │ ├── dialog_ie.css │ │ │ │ │ ├── dialog_ie7.css │ │ │ │ │ ├── dialog_ie8.css │ │ │ │ │ ├── dialog_iequirks.css │ │ │ │ │ ├── editor.css │ │ │ │ │ ├── editor_gecko.css │ │ │ │ │ ├── editor_ie.css │ │ │ │ │ ├── editor_ie7.css │ │ │ │ │ ├── editor_ie8.css │ │ │ │ │ ├── editor_iequirks.css │ │ │ │ │ ├── icons.png │ │ │ │ │ ├── icons_hidpi.png │ │ │ │ │ ├── images │ │ │ │ │ ├── arrow.png │ │ │ │ │ ├── close.png │ │ │ │ │ ├── hidpi │ │ │ │ │ │ ├── close.png │ │ │ │ │ │ ├── lock-open.png │ │ │ │ │ │ ├── lock.png │ │ │ │ │ │ └── refresh.png │ │ │ │ │ ├── lock-open.png │ │ │ │ │ ├── lock.png │ │ │ │ │ ├── refresh.png │ │ │ │ │ └── spinner.gif │ │ │ │ │ └── readme.md │ │ │ └── styles.js │ │ ├── flat_ui │ │ │ └── dist │ │ │ │ ├── css │ │ │ │ ├── flat-ui.css │ │ │ │ ├── flat-ui.css.map │ │ │ │ ├── flat-ui.min.css │ │ │ │ └── vendor │ │ │ │ │ └── bootstrap │ │ │ │ │ ├── css │ │ │ │ │ └── bootstrap.min.css │ │ │ │ │ └── fonts │ │ │ │ │ ├── glyphicons-halflings-regular.eot │ │ │ │ │ ├── glyphicons-halflings-regular.svg │ │ │ │ │ ├── glyphicons-halflings-regular.ttf │ │ │ │ │ ├── glyphicons-halflings-regular.woff │ │ │ │ │ └── glyphicons-halflings-regular.woff2 │ │ │ │ ├── fonts │ │ │ │ ├── glyphicons │ │ │ │ │ ├── flat-ui-icons-regular.eot │ │ │ │ │ ├── flat-ui-icons-regular.svg │ │ │ │ │ ├── flat-ui-icons-regular.ttf │ │ │ │ │ ├── flat-ui-icons-regular.woff │ │ │ │ │ └── selection.json │ │ │ │ └── lato │ │ │ │ │ ├── lato-black.eot │ │ │ │ │ ├── lato-black.svg │ │ │ │ │ ├── lato-black.ttf │ │ │ │ │ ├── lato-black.woff │ │ │ │ │ ├── lato-bold.eot │ │ │ │ │ ├── lato-bold.svg │ │ │ │ │ ├── lato-bold.ttf │ │ │ │ │ ├── lato-bold.woff │ │ │ │ │ ├── lato-bolditalic.eot │ │ │ │ │ ├── lato-bolditalic.svg │ │ │ │ │ ├── lato-bolditalic.ttf │ │ │ │ │ ├── lato-bolditalic.woff │ │ │ │ │ ├── lato-italic.eot │ │ │ │ │ ├── lato-italic.svg │ │ │ │ │ ├── lato-italic.ttf │ │ │ │ │ ├── lato-italic.woff │ │ │ │ │ ├── lato-light.eot │ │ │ │ │ ├── lato-light.svg │ │ │ │ │ ├── lato-light.ttf │ │ │ │ │ ├── lato-light.woff │ │ │ │ │ ├── lato-regular.eot │ │ │ │ │ ├── lato-regular.svg │ │ │ │ │ ├── lato-regular.ttf │ │ │ │ │ └── lato-regular.woff │ │ │ │ ├── img │ │ │ │ ├── favicon.ico │ │ │ │ ├── icons │ │ │ │ │ ├── png │ │ │ │ │ │ ├── Book.png │ │ │ │ │ │ ├── Calendar.png │ │ │ │ │ │ ├── Chat.png │ │ │ │ │ │ ├── Clipboard.png │ │ │ │ │ │ ├── Compas.png │ │ │ │ │ │ ├── Gift-Box.png │ │ │ │ │ │ ├── Infinity-Loop.png │ │ │ │ │ │ ├── Mail.png │ │ │ │ │ │ ├── Map.png │ │ │ │ │ │ ├── Pensils.png │ │ │ │ │ │ ├── Pocket.png │ │ │ │ │ │ ├── Retina-Ready.png │ │ │ │ │ │ ├── Toilet-Paper.png │ │ │ │ │ │ └── Watches.png │ │ │ │ │ └── svg │ │ │ │ │ │ ├── book.svg │ │ │ │ │ │ ├── calendar.svg │ │ │ │ │ │ ├── chat.svg │ │ │ │ │ │ ├── clipboard.svg │ │ │ │ │ │ ├── clocks.svg │ │ │ │ │ │ ├── compas.svg │ │ │ │ │ │ ├── gift-box.svg │ │ │ │ │ │ ├── loop.svg │ │ │ │ │ │ ├── mail.svg │ │ │ │ │ │ ├── map.svg │ │ │ │ │ │ ├── paper-bag.svg │ │ │ │ │ │ ├── pencils.svg │ │ │ │ │ │ ├── retina.svg │ │ │ │ │ │ ├── ribbon.svg │ │ │ │ │ │ └── toilet-paper.svg │ │ │ │ ├── login │ │ │ │ │ ├── icon.png │ │ │ │ │ ├── imac-2x.png │ │ │ │ │ └── imac.png │ │ │ │ └── tile │ │ │ │ │ ├── ribbon-2x.png │ │ │ │ │ └── ribbon.png │ │ │ │ ├── index.html │ │ │ │ └── js │ │ │ │ ├── flat-ui.js │ │ │ │ ├── flat-ui.min.js │ │ │ │ └── vendor │ │ │ │ ├── html5shiv.js │ │ │ │ ├── jquery.min.js │ │ │ │ ├── jquery.min.map │ │ │ │ ├── respond.min.js │ │ │ │ ├── video-js.swf │ │ │ │ └── video.js │ │ ├── icon │ │ │ └── icon_wrong.png │ │ ├── readmore.png │ │ ├── temple.ico │ │ └── xilou.css │ └── templates │ │ ├── 404.html │ │ ├── 500.html │ │ ├── _comments.html │ │ ├── _macros.html │ │ ├── _macros_for_category.html │ │ ├── _macros_for_username.html │ │ ├── _post.html │ │ ├── auth │ │ ├── change_email.html │ │ ├── change_password.html │ │ ├── email │ │ │ ├── change_email.html │ │ │ ├── change_email.txt │ │ │ ├── confirm.html │ │ │ ├── confirm.txt │ │ │ ├── reset_password.html │ │ │ └── reset_password.txt │ │ ├── login.html │ │ ├── register.html │ │ ├── reset_password.html │ │ ├── reset_password_request.html │ │ └── unconfirmed.html │ │ ├── base.html │ │ ├── edit_post.html │ │ ├── edit_profile.html │ │ ├── edit_profile_admin.html │ │ ├── followers.html │ │ ├── index.html │ │ ├── mail │ │ ├── new_user.html │ │ └── new_user.txt │ │ ├── moderate.html │ │ ├── post.html │ │ ├── post_category.html │ │ └── user.html └── config.py ├── requirements.txt ├── runtime.txt ├── test-db.py └── tests ├── __init__.py └── test_basics.py /.gitignore: -------------------------------------------------------------------------------- 1 | __pycache__ 2 | venv 3 | hello.py 4 | macro_compre.html 5 | *.pyc 6 | migrations_back 7 | migrations 8 | test.html -------------------------------------------------------------------------------- /.idea/.name: -------------------------------------------------------------------------------- 1 | MyFirstBlog -------------------------------------------------------------------------------- /.idea/MyFirstBlog.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 19 | 20 | 21 | 23 | -------------------------------------------------------------------------------- /.idea/encodings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /.idea/inspectionProfiles/Project_Default.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 34 | -------------------------------------------------------------------------------- /.idea/inspectionProfiles/profiles_settings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 7 | -------------------------------------------------------------------------------- /.idea/misc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /.idea/modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /Procfile: -------------------------------------------------------------------------------- 1 | web: gunicorn manage:app -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # MyFirstBlog 2 | python+flask 3 | -------------------------------------------------------------------------------- /__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunshine-sjd/MyFirstBlog/a8c2a889e4c725e73be5e033b90775200c066bbe/__init__.py -------------------------------------------------------------------------------- /manage.py: -------------------------------------------------------------------------------- 1 | import os 2 | 3 | from programe.app import create_app, db 4 | from flask_migrate import Migrate, MigrateCommand 5 | from flask_script import Manager, Shell 6 | from programe.app.models import User, Role, Post, Follow 7 | 8 | app = create_app(os.getenv('FLASK_CONFIG') or 'default') 9 | manager = Manager(app) 10 | migrate = Migrate(app, db) 11 | 12 | 13 | def make_shell_context(): 14 | return dict(app=app, db=db, User=User, Role=Role, Post=Post, Follow=Follow) 15 | manager.add_command('shell', Shell(make_context=make_shell_context)) 16 | manager.add_command('db', MigrateCommand) 17 | 18 | 19 | @manager.command 20 | def test(): 21 | import unittest 22 | tests = unittest.TestLoader().discover('tests') 23 | unittest.TextTestRunner(verbosity=2).run(tests) 24 | 25 | 26 | @manager.command 27 | def deploy(): 28 | from flask.ext.migrate import upgrade 29 | from programe.app.models import Role, User 30 | upgrade() 31 | Role.insert_roles() 32 | User.add_self_follows() 33 | 34 | if __name__ == '__main__': 35 | manager.run() -------------------------------------------------------------------------------- /migrations/README: -------------------------------------------------------------------------------- 1 | Generic single-database configuration. -------------------------------------------------------------------------------- /migrations/alembic.ini: -------------------------------------------------------------------------------- 1 | # A generic, single database configuration. 2 | 3 | [alembic] 4 | # template used to generate migration files 5 | # file_template = %%(rev)s_%%(slug)s 6 | 7 | # set to 'true' to run the environment during 8 | # the 'revision' command, regardless of autogenerate 9 | # revision_environment = false 10 | 11 | 12 | # Logging configuration 13 | [loggers] 14 | keys = root,sqlalchemy,alembic 15 | 16 | [handlers] 17 | keys = console 18 | 19 | [formatters] 20 | keys = generic 21 | 22 | [logger_root] 23 | level = WARN 24 | handlers = console 25 | qualname = 26 | 27 | [logger_sqlalchemy] 28 | level = WARN 29 | handlers = 30 | qualname = sqlalchemy.engine 31 | 32 | [logger_alembic] 33 | level = INFO 34 | handlers = 35 | qualname = alembic 36 | 37 | [handler_console] 38 | class = StreamHandler 39 | args = (sys.stderr,) 40 | level = NOTSET 41 | formatter = generic 42 | 43 | [formatter_generic] 44 | format = %(levelname)-5.5s [%(name)s] %(message)s 45 | datefmt = %H:%M:%S 46 | -------------------------------------------------------------------------------- /migrations/script.py.mako: -------------------------------------------------------------------------------- 1 | """${message} 2 | 3 | Revision ID: ${up_revision} 4 | Revises: ${down_revision} 5 | Create Date: ${create_date} 6 | 7 | """ 8 | 9 | # revision identifiers, used by Alembic. 10 | revision = ${repr(up_revision)} 11 | down_revision = ${repr(down_revision)} 12 | 13 | from alembic import op 14 | import sqlalchemy as sa 15 | ${imports if imports else ""} 16 | 17 | def upgrade(): 18 | ${upgrades if upgrades else "pass"} 19 | 20 | 21 | def downgrade(): 22 | ${downgrades if downgrades else "pass"} 23 | -------------------------------------------------------------------------------- /migrations_back/README: -------------------------------------------------------------------------------- 1 | Generic single-database configuration. -------------------------------------------------------------------------------- /migrations_back/alembic.ini: -------------------------------------------------------------------------------- 1 | # A generic, single database configuration. 2 | 3 | [alembic] 4 | # template used to generate migration files 5 | # file_template = %%(rev)s_%%(slug)s 6 | 7 | # set to 'true' to run the environment during 8 | # the 'revision' command, regardless of autogenerate 9 | # revision_environment = false 10 | 11 | 12 | # Logging configuration 13 | [loggers] 14 | keys = root,sqlalchemy,alembic 15 | 16 | [handlers] 17 | keys = console 18 | 19 | [formatters] 20 | keys = generic 21 | 22 | [logger_root] 23 | level = WARN 24 | handlers = console 25 | qualname = 26 | 27 | [logger_sqlalchemy] 28 | level = WARN 29 | handlers = 30 | qualname = sqlalchemy.engine 31 | 32 | [logger_alembic] 33 | level = INFO 34 | handlers = 35 | qualname = alembic 36 | 37 | [handler_console] 38 | class = StreamHandler 39 | args = (sys.stderr,) 40 | level = NOTSET 41 | formatter = generic 42 | 43 | [formatter_generic] 44 | format = %(levelname)-5.5s [%(name)s] %(message)s 45 | datefmt = %H:%M:%S 46 | -------------------------------------------------------------------------------- /migrations_back/script.py.mako: -------------------------------------------------------------------------------- 1 | """${message} 2 | 3 | Revision ID: ${up_revision} 4 | Revises: ${down_revision} 5 | Create Date: ${create_date} 6 | 7 | """ 8 | 9 | # revision identifiers, used by Alembic. 10 | revision = ${repr(up_revision)} 11 | down_revision = ${repr(down_revision)} 12 | 13 | from alembic import op 14 | import sqlalchemy as sa 15 | ${imports if imports else ""} 16 | 17 | def upgrade(): 18 | ${upgrades if upgrades else "pass"} 19 | 20 | 21 | def downgrade(): 22 | ${downgrades if downgrades else "pass"} 23 | -------------------------------------------------------------------------------- /programe/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunshine-sjd/MyFirstBlog/a8c2a889e4c725e73be5e033b90775200c066bbe/programe/__init__.py -------------------------------------------------------------------------------- /programe/app/__init__.py: -------------------------------------------------------------------------------- 1 | from flask import Flask 2 | from flask_bootstrap import Bootstrap 3 | from flask_mail import Mail 4 | from flask_moment import Moment 5 | from flask_sqlalchemy import SQLAlchemy 6 | from programe.config import config 7 | from flask_login import LoginManager 8 | from flask_pagedown import PageDown 9 | 10 | mail = Mail() 11 | db = SQLAlchemy() 12 | moment = Moment() 13 | bootstrap = Bootstrap() 14 | pagedown = PageDown() 15 | login_manager = LoginManager() 16 | login_manager.session_protection = 'strong' 17 | login_manager.login_view = 'auth.login' 18 | 19 | 20 | def create_app(config_name): 21 | app = Flask(__name__) 22 | app.config.from_object(config[config_name]) 23 | config[config_name].init_app(app) 24 | 25 | mail.init_app(app) 26 | moment.init_app(app) 27 | bootstrap.init_app(app) 28 | db.init_app(app) 29 | login_manager.init_app(app) 30 | pagedown.init_app(app) 31 | 32 | from .main import main as main_blueprint 33 | app.register_blueprint(main_blueprint) 34 | from .auth import auth as auth_blueprint 35 | app.register_blueprint(auth_blueprint, url_prefix='/auth') 36 | from .api_1_0 import api as api_1_0_blueprint 37 | app.register_blueprint(api_1_0_blueprint, url_prefix='/api/v1.0') 38 | 39 | return app -------------------------------------------------------------------------------- /programe/app/api_1_0/__init__.py: -------------------------------------------------------------------------------- 1 | from flask import Blueprint 2 | 3 | api = Blueprint('api', __name__) 4 | 5 | from . import authentication, posts, errors, users 6 | -------------------------------------------------------------------------------- /programe/app/api_1_0/authentication.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunshine-sjd/MyFirstBlog/a8c2a889e4c725e73be5e033b90775200c066bbe/programe/app/api_1_0/authentication.py -------------------------------------------------------------------------------- /programe/app/api_1_0/decorators.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunshine-sjd/MyFirstBlog/a8c2a889e4c725e73be5e033b90775200c066bbe/programe/app/api_1_0/decorators.py -------------------------------------------------------------------------------- /programe/app/api_1_0/errors.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunshine-sjd/MyFirstBlog/a8c2a889e4c725e73be5e033b90775200c066bbe/programe/app/api_1_0/errors.py -------------------------------------------------------------------------------- /programe/app/api_1_0/posts.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunshine-sjd/MyFirstBlog/a8c2a889e4c725e73be5e033b90775200c066bbe/programe/app/api_1_0/posts.py -------------------------------------------------------------------------------- /programe/app/api_1_0/users.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunshine-sjd/MyFirstBlog/a8c2a889e4c725e73be5e033b90775200c066bbe/programe/app/api_1_0/users.py -------------------------------------------------------------------------------- /programe/app/auth/__init__.py: -------------------------------------------------------------------------------- 1 | from flask import Blueprint 2 | 3 | auth = Blueprint('auth', __name__) 4 | 5 | from . import views -------------------------------------------------------------------------------- /programe/app/decorators.py: -------------------------------------------------------------------------------- 1 | from functools import wraps 2 | from flask import abort 3 | from flask_login import current_user 4 | from .models import Permission 5 | 6 | 7 | def permission_required(permission): 8 | def decorator(f): 9 | @wraps(f) 10 | def decorated_function(*args, **kwargs): 11 | if not current_user.can(permission): 12 | abort(403) 13 | return f(*args, **kwargs) 14 | return decorated_function 15 | return decorator 16 | 17 | 18 | def admin_required(f): 19 | return permission_required(Permission.ADMINISTER)(f) -------------------------------------------------------------------------------- /programe/app/email.py: -------------------------------------------------------------------------------- 1 | from . import mail 2 | from flask_mail import Message 3 | from flask import render_template, current_app 4 | from threading import Thread 5 | 6 | 7 | def send_email(to, subject, template, **kwargs): 8 | app = current_app._get_current_object() 9 | msg = Message(app.config['MAIL_SUBJECT_PREFIX'] + subject, sender=app.config['MAIL_SENDER'], 10 | recipients=[to]) 11 | msg.body = render_template(template + '.txt', **kwargs) 12 | msg.html = render_template(template + '.html', **kwargs) 13 | thr = Thread(target=send_async_email, args=[app, msg]) 14 | thr.start() 15 | return thr 16 | 17 | 18 | def send_async_email(app, msg): 19 | with app.app_context(): 20 | mail.send(msg) -------------------------------------------------------------------------------- /programe/app/main/CodeAcdemy.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by 建都 on 2016/5/21. 3 | */ 4 | console.log('23') -------------------------------------------------------------------------------- /programe/app/main/__init__.py: -------------------------------------------------------------------------------- 1 | from flask import Blueprint 2 | main = Blueprint('main', __name__) 3 | from . import views, errors 4 | from ..models import Permission, Post 5 | 6 | 7 | @main.app_context_processor 8 | def inject_permissions(): 9 | return dict(Permission=Permission, Post=Post) 10 | -------------------------------------------------------------------------------- /programe/app/main/errors.py: -------------------------------------------------------------------------------- 1 | from flask import render_template 2 | from . import main 3 | 4 | 5 | @main.app_errorhandler(404) 6 | def page_not_found(e): 7 | return render_template('404.html'), 404 8 | 9 | 10 | @main.app_errorhandler(500) 11 | def internal_server_error(e): 12 | return render_template('500.html'), 500 -------------------------------------------------------------------------------- /programe/app/static/backgroud_img.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunshine-sjd/MyFirstBlog/a8c2a889e4c725e73be5e033b90775200c066bbe/programe/app/static/backgroud_img.jpg -------------------------------------------------------------------------------- /programe/app/static/category.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunshine-sjd/MyFirstBlog/a8c2a889e4c725e73be5e033b90775200c066bbe/programe/app/static/category.png -------------------------------------------------------------------------------- /programe/app/static/ckeditor/config.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @license Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. 3 | * For licensing, see LICENSE.md or http://ckeditor.com/license 4 | */ 5 | 6 | CKEDITOR.editorConfig = function( config ) { 7 | // Define changes to default configuration here. For example: 8 | // config.language = 'fr'; 9 | //config.uiColor = 'red'; 10 | config.extraPlugins = 'markdown'; 11 | }; 12 | -------------------------------------------------------------------------------- /programe/app/static/ckeditor/contents.css: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. 3 | For licensing, see LICENSE.md or http://ckeditor.com/license 4 | */ 5 | 6 | body 7 | { 8 | /* Font */ 9 | font-family: sans-serif, Arial, Verdana, "Trebuchet MS"; 10 | font-size: 12px; 11 | 12 | /* Text color */ 13 | color: #333; 14 | 15 | /* Remove the background color to make it transparent */ 16 | background-color: #fff; 17 | 18 | margin: 20px; 19 | } 20 | 21 | .cke_editable 22 | { 23 | font-size: 13px; 24 | line-height: 1.6; 25 | 26 | /* Fix for missing scrollbars with RTL texts. (#10488) */ 27 | word-wrap: break-word; 28 | } 29 | 30 | blockquote 31 | { 32 | font-style: italic; 33 | font-family: Georgia, Times, "Times New Roman", serif; 34 | padding: 2px 0; 35 | border-style: solid; 36 | border-color: #ccc; 37 | border-width: 0; 38 | } 39 | 40 | .cke_contents_ltr blockquote 41 | { 42 | padding-left: 20px; 43 | padding-right: 8px; 44 | border-left-width: 5px; 45 | } 46 | 47 | .cke_contents_rtl blockquote 48 | { 49 | padding-left: 8px; 50 | padding-right: 20px; 51 | border-right-width: 5px; 52 | } 53 | 54 | a 55 | { 56 | color: #0782C1; 57 | } 58 | 59 | ol,ul,dl 60 | { 61 | /* IE7: reset rtl list margin. (#7334) */ 62 | *margin-right: 0px; 63 | /* preserved spaces for list items with text direction other than the list. (#6249,#8049)*/ 64 | padding: 0 40px; 65 | } 66 | 67 | h1,h2,h3,h4,h5,h6 68 | { 69 | font-weight: normal; 70 | line-height: 1.2; 71 | } 72 | 73 | hr 74 | { 75 | border: 0px; 76 | border-top: 1px solid #ccc; 77 | } 78 | 79 | img.right 80 | { 81 | border: 1px solid #ccc; 82 | float: right; 83 | margin-left: 15px; 84 | padding: 5px; 85 | } 86 | 87 | img.left 88 | { 89 | border: 1px solid #ccc; 90 | float: left; 91 | margin-right: 15px; 92 | padding: 5px; 93 | } 94 | 95 | pre 96 | { 97 | white-space: pre-wrap; /* CSS 2.1 */ 98 | word-wrap: break-word; /* IE7 */ 99 | -moz-tab-size: 4; 100 | tab-size: 4; 101 | } 102 | 103 | .marker 104 | { 105 | background-color: Yellow; 106 | } 107 | 108 | span[lang] 109 | { 110 | font-style: italic; 111 | } 112 | 113 | figure 114 | { 115 | text-align: center; 116 | border: solid 1px #ccc; 117 | border-radius: 2px; 118 | background: rgba(0,0,0,0.05); 119 | padding: 10px; 120 | margin: 10px 20px; 121 | display: inline-block; 122 | } 123 | 124 | figure > figcaption 125 | { 126 | text-align: center; 127 | display: block; /* For IE8 */ 128 | } 129 | 130 | a > img { 131 | padding: 1px; 132 | margin: 1px; 133 | border: none; 134 | outline: 1px solid #0782C1; 135 | } 136 | -------------------------------------------------------------------------------- /programe/app/static/ckeditor/plugins/a11yhelp/dialogs/lang/_translationstatus.txt: -------------------------------------------------------------------------------- 1 | Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. 2 | For licensing, see LICENSE.md or http://ckeditor.com/license 3 | 4 | cs.js Found: 30 Missing: 0 5 | cy.js Found: 30 Missing: 0 6 | da.js Found: 12 Missing: 18 7 | de.js Found: 30 Missing: 0 8 | el.js Found: 25 Missing: 5 9 | eo.js Found: 30 Missing: 0 10 | fa.js Found: 30 Missing: 0 11 | fi.js Found: 30 Missing: 0 12 | fr.js Found: 30 Missing: 0 13 | gu.js Found: 12 Missing: 18 14 | he.js Found: 30 Missing: 0 15 | it.js Found: 30 Missing: 0 16 | mk.js Found: 5 Missing: 25 17 | nb.js Found: 30 Missing: 0 18 | nl.js Found: 30 Missing: 0 19 | no.js Found: 30 Missing: 0 20 | pt-br.js Found: 30 Missing: 0 21 | ro.js Found: 6 Missing: 24 22 | tr.js Found: 30 Missing: 0 23 | ug.js Found: 27 Missing: 3 24 | vi.js Found: 6 Missing: 24 25 | zh-cn.js Found: 30 Missing: 0 26 | -------------------------------------------------------------------------------- /programe/app/static/ckeditor/plugins/a11yhelp/dialogs/lang/zh-cn.js: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. 3 | For licensing, see LICENSE.md or http://ckeditor.com/license 4 | */ 5 | CKEDITOR.plugins.setLang("a11yhelp","zh-cn",{title:"辅助功能说明",contents:"帮助内容。要关闭此对话框请按 ESC 键。",legend:[{name:"常规",items:[{name:"编辑器工具栏",legend:"按 ${toolbarFocus} 切换到工具栏,使用 TAB 键和 SHIFT+TAB 组合键移动到上一个和下一个工具栏组。使用左右箭头键移动到上一个或下一个工具栏按钮。按空格键或回车键以选中工具栏按钮。"},{name:"编辑器对话框",legend:"在对话框内,按 TAB 键移动到下一个字段,按 SHIFT + TAB 组合键移动到上一个字段,按 ENTER 键提交对话框,按 ESC 键取消对话框。对于有多选项卡的对话框,可以按 ALT + F10 直接切换到或者按 TAB 键逐步移到选项卡列表,当焦点移到选项卡列表时可以用左右箭头键来移动到前后的选项卡。"},{name:"编辑器上下文菜单",legend:"用 ${contextMenu} 或者“应用程序键”打开上下文菜单。然后用 TAB 键或者下箭头键来移动到下一个菜单项;SHIFT + TAB 组合键或者上箭头键移动到上一个菜单项。用 SPACE 键或者 ENTER 键选择菜单项。用 SPACE 键,ENTER 键或者右箭头键打开子菜单。返回菜单用 ESC 键或者左箭头键。用 ESC 键关闭上下文菜单。"}, 6 | {name:"编辑器列表框",legend:"在列表框中,移到下一列表项用 TAB 键或者下箭头键。移到上一列表项用SHIFT+TAB 组合键或者上箭头键,用 SPACE 键或者 ENTER 键选择列表项。用 ESC 键收起列表框。"},{name:"编辑器元素路径栏",legend:"按 ${elementsPathFocus} 以导航到元素路径栏,使用 TAB 键或右箭头键选择下一个元素,使用 SHIFT+TAB 组合键或左箭头键选择上一个元素,按空格键或回车键以选定编辑器里的元素。"}]},{name:"命令",items:[{name:" 撤消命令",legend:"按 ${undo}"},{name:" 重做命令",legend:"按 ${redo}"},{name:" 加粗命令",legend:"按 ${bold}"},{name:" 倾斜命令",legend:"按 ${italic}"},{name:" 下划线命令",legend:"按 ${underline}"},{name:" 链接命令",legend:"按 ${link}"},{name:" 工具栏折叠命令",legend:"按 ${toolbarCollapse}"}, 7 | {name:"访问前一个焦点区域的命令",legend:"按 ${accessPreviousSpace} 访问^符号前最近的不可访问的焦点区域,例如:两个相邻的 HR 元素。重复此组合按键可以到达远处的焦点区域。"},{name:"访问下一个焦点区域命令",legend:"按 ${accessNextSpace} 以访问^符号后最近的不可访问的焦点区域。例如:两个相邻的 HR 元素。重复此组合按键可以到达远处的焦点区域。"},{name:"辅助功能帮助",legend:"按 ${a11yHelp}"}]}],backspace:"退格键",tab:"Tab 键",enter:"回车键",shift:"Shift 键",ctrl:"Ctrl 键",alt:"Alt 键",pause:"暂停键",capslock:"大写锁定键",escape:"Esc 键",pageUp:"上翻页键",pageDown:"下翻页键",end:"行尾键",home:"行首键",leftArrow:"向左箭头键",upArrow:"向上箭头键",rightArrow:"向右箭头键",downArrow:"向下箭头键", 8 | insert:"插入键","delete":"删除键",leftWindowKey:"左 WIN 键",rightWindowKey:"右 WIN 键",selectKey:"选择键",numpad0:"小键盘 0 键",numpad1:"小键盘 1 键",numpad2:"小键盘 2 键",numpad3:"小键盘 3 键",numpad4:"小键盘 4 键",numpad5:"小键盘 5 键",numpad6:"小键盘 6 键",numpad7:"小键盘 7 键",numpad8:"小键盘 8 键",numpad9:"小键盘 9 键",multiply:"星号键",add:"加号键",subtract:"减号键",decimalPoint:"小数点键",divide:"除号键",f1:"F1 键",f2:"F2 键",f3:"F3 键",f4:"F4 键",f5:"F5 键",f6:"F6 键",f7:"F7 键",f8:"F8 键",f9:"F9 键",f10:"F10 键",f11:"F11 键",f12:"F12 键",numLock:"数字锁定键",scrollLock:"滚动锁定键", 9 | semiColon:"分号键",equalSign:"等号键",comma:"逗号键",dash:"短划线键",period:"句号键",forwardSlash:"斜杠键",graveAccent:"重音符键",openBracket:"左中括号键",backSlash:"反斜杠键",closeBracket:"右中括号键",singleQuote:"单引号键"}); -------------------------------------------------------------------------------- /programe/app/static/ckeditor/plugins/a11yhelp/dialogs/lang/zh.js: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. 3 | For licensing, see LICENSE.md or http://ckeditor.com/license 4 | */ 5 | CKEDITOR.plugins.setLang("a11yhelp","zh",{title:"輔助工具指南",contents:"說明內容。若要關閉此對話框請按「ESC」。",legend:[{name:"一般",items:[{name:"編輯器工具列",legend:"請按 ${toolbarFocus} 以導覽到工具列。利用 TAB 或 SHIFT+TAB 以便移動到下一個及前一個工具列群組。利用右方向鍵或左方向鍵以便移動到下一個及上一個工具列按鈕。按下空白鍵或 ENTER 鍵啟用工具列按鈕。"},{name:"編輯器對話方塊",legend:"在對話框中,按下 TAB 鍵以導覽到下一個對話框元素,按下 SHIFT+TAB 以移動到上一個對話框元素,按下 ENTER 以遞交對話框,按下 ESC 以取消對話框。當對話框有多個分頁時,可以使用 ALT+F10 或是在對話框分頁順序中的一部份按下 TAB 以使用分頁列表。焦點在分頁列表上時,分別使用右方向鍵及左方向鍵移動到下一個及上一個分頁。"},{name:"編輯器內容功能表",legend:"請按下「${contextMenu}」或是「應用程式鍵」以開啟內容選單。以「TAB」或是「↓」鍵移動到下一個選單選項。以「SHIFT + TAB」或是「↑」鍵移動到上一個選單選項。按下「空白鍵」或是「ENTER」鍵以選取選單選項。以「空白鍵」或「ENTER」或「→」開啟目前選項之子選單。以「ESC」或「←」回到父選單。以「ESC」鍵關閉內容選單」。"}, 6 | {name:"編輯器清單方塊",legend:"在清單方塊中,使用 TAB 或下方向鍵移動到下一個列表項目。使用 SHIFT+TAB 或上方向鍵移動到上一個列表項目。按下空白鍵或 ENTER 以選取列表選項。按下 ESC 以關閉清單方塊。"},{name:"編輯器元件路徑工具列",legend:"請按 ${elementsPathFocus} 以瀏覽元素路徑列。利用 TAB 或右方向鍵以便移動到下一個元素按鈕。利用 SHIFT 或左方向鍵以便移動到上一個按鈕。按下空白鍵或 ENTER 鍵來選取在編輯器中的元素。"}]},{name:"命令",items:[{name:"復原命令",legend:"請按下「${undo}」"},{name:"重複命令",legend:"請按下「 ${redo}」"},{name:"粗體命令",legend:"請按下「${bold}」"},{name:"斜體",legend:"請按下「${italic}」"},{name:"底線命令",legend:"請按下「${underline}」"},{name:"連結",legend:"請按下「${link}」"}, 7 | {name:"隱藏工具列",legend:"請按下「${toolbarCollapse}」"},{name:"存取前一個焦點空間命令",legend:"請按下 ${accessPreviousSpace} 以存取最近但無法靠近之插字符號前的焦點空間。舉例:二個相鄰的 HR 元素。\r\n重複按鍵以存取較遠的焦點空間。"},{name:"存取下一個焦點空間命令",legend:"請按下 ${accessNextSpace} 以存取最近但無法靠近之插字符號後的焦點空間。舉例:二個相鄰的 HR 元素。\r\n重複按鍵以存取較遠的焦點空間。"},{name:"協助工具說明",legend:"請按下「${a11yHelp}」"}]}],backspace:"退格鍵",tab:"Tab",enter:"Enter",shift:"Shift",ctrl:"Ctrl",alt:"Alt",pause:"Pause",capslock:"Caps Lock",escape:"Esc",pageUp:"Page Up",pageDown:"Page Down",end:"End",home:"Home", 8 | leftArrow:"向左箭號",upArrow:"向上鍵號",rightArrow:"向右鍵號",downArrow:"向下鍵號",insert:"插入","delete":"刪除",leftWindowKey:"左方 Windows 鍵",rightWindowKey:"右方 Windows 鍵",selectKey:"選擇鍵",numpad0:"Numpad 0",numpad1:"Numpad 1",numpad2:"Numpad 2",numpad3:"Numpad 3",numpad4:"Numpad 4",numpad5:"Numpad 5",numpad6:"Numpad 6",numpad7:"Numpad 7",numpad8:"Numpad 8",numpad9:"Numpad 9",multiply:"乘號",add:"新增",subtract:"減號",decimalPoint:"小數點",divide:"除號",f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10", 9 | f11:"F11",f12:"F12",numLock:"Num Lock",scrollLock:"Scroll Lock",semiColon:"分號",equalSign:"等號",comma:"逗號",dash:"虛線",period:"句點",forwardSlash:"斜線",graveAccent:"抑音符號",openBracket:"左方括號",backSlash:"反斜線",closeBracket:"右方括號",singleQuote:"單引號"}); -------------------------------------------------------------------------------- /programe/app/static/ckeditor/plugins/about/dialogs/about.js: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. 3 | For licensing, see LICENSE.md or http://ckeditor.com/license 4 | */ 5 | CKEDITOR.dialog.add("about",function(a){a=a.lang.about;var b=CKEDITOR.getUrl(CKEDITOR.plugins.get("about").path+"dialogs/"+(CKEDITOR.env.hidpi?"hidpi/":"")+"logo_ckeditor.png");return{title:CKEDITOR.env.ie?a.dlgTitle:a.title,minWidth:390,minHeight:230,contents:[{id:"tab1",label:"",title:"",expand:!0,padding:0,elements:[{type:"html",html:'\x3cstyle type\x3d"text/css"\x3e.cke_about_container{color:#000 !important;padding:10px 10px 0;margin-top:5px}.cke_about_container p{margin: 0 0 10px;}.cke_about_container .cke_about_logo{height:81px;background-color:#fff;background-image:url('+ 6 | b+");"+(CKEDITOR.env.hidpi?"background-size:163px 58px;":"")+'background-position:center; background-repeat:no-repeat;margin-bottom:10px;}.cke_about_container a{cursor:pointer !important;color:#00B2CE !important;text-decoration:underline !important;}\x3c/style\x3e\x3cdiv class\x3d"cke_about_container"\x3e\x3cdiv class\x3d"cke_about_logo"\x3e\x3c/div\x3e\x3cp\x3eCKEditor '+CKEDITOR.version+" (revision "+CKEDITOR.revision+')\x3cbr\x3e\x3ca target\x3d"_blank" href\x3d"http://ckeditor.com/"\x3ehttp://ckeditor.com\x3c/a\x3e\x3c/p\x3e\x3cp\x3e'+ 7 | a.help.replace("$1",'\x3ca target\x3d"_blank" href\x3d"http://docs.ckeditor.com/user"\x3e'+a.userGuide+"\x3c/a\x3e")+"\x3c/p\x3e\x3cp\x3e"+a.moreInfo+'\x3cbr\x3e\x3ca target\x3d"_blank" href\x3d"http://ckeditor.com/about/license"\x3ehttp://ckeditor.com/about/license\x3c/a\x3e\x3c/p\x3e\x3cp\x3e'+a.copy.replace("$1",'\x3ca target\x3d"_blank" href\x3d"http://cksource.com/"\x3eCKSource\x3c/a\x3e - Frederico Knabben')+"\x3c/p\x3e\x3c/div\x3e"}]}],buttons:[CKEDITOR.dialog.cancelButton]}}); -------------------------------------------------------------------------------- /programe/app/static/ckeditor/plugins/about/dialogs/hidpi/logo_ckeditor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunshine-sjd/MyFirstBlog/a8c2a889e4c725e73be5e033b90775200c066bbe/programe/app/static/ckeditor/plugins/about/dialogs/hidpi/logo_ckeditor.png -------------------------------------------------------------------------------- /programe/app/static/ckeditor/plugins/about/dialogs/logo_ckeditor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunshine-sjd/MyFirstBlog/a8c2a889e4c725e73be5e033b90775200c066bbe/programe/app/static/ckeditor/plugins/about/dialogs/logo_ckeditor.png -------------------------------------------------------------------------------- /programe/app/static/ckeditor/plugins/colordialog/dialogs/colordialog.css: -------------------------------------------------------------------------------- 1 | /** 2 | * @license Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. 3 | * For licensing, see LICENSE.md or http://ckeditor.com/license 4 | */ 5 | 6 | .cke_colordialog_colorcell { 7 | width: 12px; /* All cells have equal width which depends on parent width (in this case table parent). Width works more like max-width. */ 8 | height: 14px; 9 | padding: 1px; /* Padding is replaced by border for focused cells. Prevents 'jumping' when adding borders. */ 10 | } 11 | 12 | .cke_colordialog_colorcell.cke_colordialog_focused_light, 13 | .cke_colordialog_colorcell.cke_colordialog_focused_dark { 14 | padding: 0; /* Shrink cell to allow 1px border indicating focus. */ 15 | border: 1px dotted #000; 16 | } 17 | 18 | .cke_colordialog_colorcell.cke_colordialog_focused_dark { 19 | border-color: #FFF; 20 | } 21 | -------------------------------------------------------------------------------- /programe/app/static/ckeditor/plugins/dialog/dialogDefinition.js: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. 3 | For licensing, see LICENSE.md or http://ckeditor.com/license 4 | */ 5 | -------------------------------------------------------------------------------- /programe/app/static/ckeditor/plugins/flash/images/placeholder.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunshine-sjd/MyFirstBlog/a8c2a889e4c725e73be5e033b90775200c066bbe/programe/app/static/ckeditor/plugins/flash/images/placeholder.png -------------------------------------------------------------------------------- /programe/app/static/ckeditor/plugins/forms/dialogs/button.js: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. 3 | For licensing, see LICENSE.md or http://ckeditor.com/license 4 | */ 5 | CKEDITOR.dialog.add("button",function(b){function d(a){var b=this.getValue();b?(a.attributes[this.id]=b,"name"==this.id&&(a.attributes["data-cke-saved-name"]=b)):(delete a.attributes[this.id],"name"==this.id&&delete a.attributes["data-cke-saved-name"])}return{title:b.lang.forms.button.title,minWidth:350,minHeight:150,onShow:function(){delete this.button;var a=this.getParentEditor().getSelection().getSelectedElement();a&&a.is("input")&&a.getAttribute("type")in{button:1,reset:1,submit:1}&&(this.button= 6 | a,this.setupContent(a))},onOk:function(){var a=this.getParentEditor(),b=this.button,d=!b,c=b?CKEDITOR.htmlParser.fragment.fromHtml(b.getOuterHtml()).children[0]:new CKEDITOR.htmlParser.element("input");this.commitContent(c);var e=new CKEDITOR.htmlParser.basicWriter;c.writeHtml(e);c=CKEDITOR.dom.element.createFromHtml(e.getHtml(),a.document);d?a.insertElement(c):(c.replace(b),a.getSelection().selectElement(c))},contents:[{id:"info",label:b.lang.forms.button.title,title:b.lang.forms.button.title,elements:[{id:"name", 7 | type:"text",bidi:!0,label:b.lang.common.name,"default":"",setup:function(a){this.setValue(a.data("cke-saved-name")||a.getAttribute("name")||"")},commit:d},{id:"value",type:"text",label:b.lang.forms.button.text,accessKey:"V","default":"",setup:function(a){this.setValue(a.getAttribute("value")||"")},commit:d},{id:"type",type:"select",label:b.lang.forms.button.type,"default":"button",accessKey:"T",items:[[b.lang.forms.button.typeBtn,"button"],[b.lang.forms.button.typeSbm,"submit"],[b.lang.forms.button.typeRst, 8 | "reset"]],setup:function(a){this.setValue(a.getAttribute("type")||"")},commit:d}]}]}}); -------------------------------------------------------------------------------- /programe/app/static/ckeditor/plugins/forms/dialogs/checkbox.js: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. 3 | For licensing, see LICENSE.md or http://ckeditor.com/license 4 | */ 5 | CKEDITOR.dialog.add("checkbox",function(d){return{title:d.lang.forms.checkboxAndRadio.checkboxTitle,minWidth:350,minHeight:140,onShow:function(){delete this.checkbox;var a=this.getParentEditor().getSelection().getSelectedElement();a&&"checkbox"==a.getAttribute("type")&&(this.checkbox=a,this.setupContent(a))},onOk:function(){var a,b=this.checkbox;b||(a=this.getParentEditor(),b=a.document.createElement("input"),b.setAttribute("type","checkbox"),a.insertElement(b));this.commitContent({element:b})},contents:[{id:"info", 6 | label:d.lang.forms.checkboxAndRadio.checkboxTitle,title:d.lang.forms.checkboxAndRadio.checkboxTitle,startupFocus:"txtName",elements:[{id:"txtName",type:"text",label:d.lang.common.name,"default":"",accessKey:"N",setup:function(a){this.setValue(a.data("cke-saved-name")||a.getAttribute("name")||"")},commit:function(a){a=a.element;this.getValue()?a.data("cke-saved-name",this.getValue()):(a.data("cke-saved-name",!1),a.removeAttribute("name"))}},{id:"txtValue",type:"text",label:d.lang.forms.checkboxAndRadio.value, 7 | "default":"",accessKey:"V",setup:function(a){a=a.getAttribute("value");this.setValue(CKEDITOR.env.ie&&"on"==a?"":a)},commit:function(a){var b=a.element,c=this.getValue();!c||CKEDITOR.env.ie&&"on"==c?CKEDITOR.env.ie?(c=new CKEDITOR.dom.element("input",b.getDocument()),b.copyAttributes(c,{value:1}),c.replace(b),d.getSelection().selectElement(c),a.element=c):b.removeAttribute("value"):b.setAttribute("value",c)}},{id:"cmbSelected",type:"checkbox",label:d.lang.forms.checkboxAndRadio.selected,"default":"", 8 | accessKey:"S",value:"checked",setup:function(a){this.setValue(a.getAttribute("checked"))},commit:function(a){var b=a.element;if(CKEDITOR.env.ie){var c=!!b.getAttribute("checked"),e=!!this.getValue();c!=e&&(c=CKEDITOR.dom.element.createFromHtml('\x3cinput type\x3d"checkbox"'+(e?' checked\x3d"checked"':"")+"/\x3e",d.document),b.copyAttributes(c,{type:1,checked:1}),c.replace(b),d.getSelection().selectElement(c),a.element=c)}else this.getValue()?b.setAttribute("checked","checked"):b.removeAttribute("checked")}}, 9 | {id:"required",type:"checkbox",label:d.lang.forms.checkboxAndRadio.required,"default":"",accessKey:"Q",value:"required",setup:function(a){this.setValue(a.getAttribute("required"))},commit:function(a){a=a.element;this.getValue()?a.setAttribute("required","required"):a.removeAttribute("required")}}]}]}}); -------------------------------------------------------------------------------- /programe/app/static/ckeditor/plugins/forms/dialogs/form.js: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. 3 | For licensing, see LICENSE.md or http://ckeditor.com/license 4 | */ 5 | CKEDITOR.dialog.add("form",function(a){var d={action:1,id:1,method:1,enctype:1,target:1};return{title:a.lang.forms.form.title,minWidth:350,minHeight:200,onShow:function(){delete this.form;var b=this.getParentEditor().elementPath().contains("form",1);b&&(this.form=b,this.setupContent(b))},onOk:function(){var b,a=this.form,c=!a;c&&(b=this.getParentEditor(),a=b.document.createElement("form"),a.appendBogus());c&&b.insertElement(a);this.commitContent(a)},onLoad:function(){function a(b){this.setValue(b.getAttribute(this.id)|| 6 | "")}function e(a){this.getValue()?a.setAttribute(this.id,this.getValue()):a.removeAttribute(this.id)}this.foreach(function(c){d[c.id]&&(c.setup=a,c.commit=e)})},contents:[{id:"info",label:a.lang.forms.form.title,title:a.lang.forms.form.title,elements:[{id:"txtName",bidi:!0,type:"text",label:a.lang.common.name,"default":"",accessKey:"N",setup:function(a){this.setValue(a.data("cke-saved-name")||a.getAttribute("name")||"")},commit:function(a){this.getValue()?a.data("cke-saved-name",this.getValue()): 7 | (a.data("cke-saved-name",!1),a.removeAttribute("name"))}},{id:"action",type:"text",label:a.lang.forms.form.action,"default":"",accessKey:"T"},{type:"hbox",widths:["45%","55%"],children:[{id:"id",type:"text",label:a.lang.common.id,"default":"",accessKey:"I"},{id:"enctype",type:"select",label:a.lang.forms.form.encoding,style:"width:100%",accessKey:"E","default":"",items:[[""],["text/plain"],["multipart/form-data"],["application/x-www-form-urlencoded"]]}]},{type:"hbox",widths:["45%","55%"],children:[{id:"target", 8 | type:"select",label:a.lang.common.target,style:"width:100%",accessKey:"M","default":"",items:[[a.lang.common.notSet,""],[a.lang.common.targetNew,"_blank"],[a.lang.common.targetTop,"_top"],[a.lang.common.targetSelf,"_self"],[a.lang.common.targetParent,"_parent"]]},{id:"method",type:"select",label:a.lang.forms.form.method,accessKey:"M","default":"GET",items:[["GET","get"],["POST","post"]]}]}]}]}}); -------------------------------------------------------------------------------- /programe/app/static/ckeditor/plugins/forms/dialogs/hiddenfield.js: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. 3 | For licensing, see LICENSE.md or http://ckeditor.com/license 4 | */ 5 | CKEDITOR.dialog.add("hiddenfield",function(d){return{title:d.lang.forms.hidden.title,hiddenField:null,minWidth:350,minHeight:110,onShow:function(){delete this.hiddenField;var a=this.getParentEditor(),b=a.getSelection(),c=b.getSelectedElement();c&&c.data("cke-real-element-type")&&"hiddenfield"==c.data("cke-real-element-type")&&(this.hiddenField=c,c=a.restoreRealElement(this.hiddenField),this.setupContent(c),b.selectElement(this.hiddenField))},onOk:function(){var a=this.getValueOf("info","_cke_saved_name"), 6 | b=this.getParentEditor(),a=CKEDITOR.env.ie&&8>CKEDITOR.document.$.documentMode?b.document.createElement('\x3cinput name\x3d"'+CKEDITOR.tools.htmlEncode(a)+'"\x3e'):b.document.createElement("input");a.setAttribute("type","hidden");this.commitContent(a);a=b.createFakeElement(a,"cke_hidden","hiddenfield");this.hiddenField?(a.replace(this.hiddenField),b.getSelection().selectElement(a)):b.insertElement(a);return!0},contents:[{id:"info",label:d.lang.forms.hidden.title,title:d.lang.forms.hidden.title,elements:[{id:"_cke_saved_name", 7 | type:"text",label:d.lang.forms.hidden.name,"default":"",accessKey:"N",setup:function(a){this.setValue(a.data("cke-saved-name")||a.getAttribute("name")||"")},commit:function(a){this.getValue()?a.setAttribute("name",this.getValue()):a.removeAttribute("name")}},{id:"value",type:"text",label:d.lang.forms.hidden.value,"default":"",accessKey:"V",setup:function(a){this.setValue(a.getAttribute("value")||"")},commit:function(a){this.getValue()?a.setAttribute("value",this.getValue()):a.removeAttribute("value")}}]}]}}); -------------------------------------------------------------------------------- /programe/app/static/ckeditor/plugins/forms/dialogs/radio.js: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. 3 | For licensing, see LICENSE.md or http://ckeditor.com/license 4 | */ 5 | CKEDITOR.dialog.add("radio",function(b){return{title:b.lang.forms.checkboxAndRadio.radioTitle,minWidth:350,minHeight:140,onShow:function(){delete this.radioButton;var a=this.getParentEditor().getSelection().getSelectedElement();a&&"input"==a.getName()&&"radio"==a.getAttribute("type")&&(this.radioButton=a,this.setupContent(a))},onOk:function(){var a,c=this.radioButton,b=!c;b&&(a=this.getParentEditor(),c=a.document.createElement("input"),c.setAttribute("type","radio"));b&&a.insertElement(c);this.commitContent({element:c})}, 6 | contents:[{id:"info",label:b.lang.forms.checkboxAndRadio.radioTitle,title:b.lang.forms.checkboxAndRadio.radioTitle,elements:[{id:"name",type:"text",label:b.lang.common.name,"default":"",accessKey:"N",setup:function(a){this.setValue(a.data("cke-saved-name")||a.getAttribute("name")||"")},commit:function(a){a=a.element;this.getValue()?a.data("cke-saved-name",this.getValue()):(a.data("cke-saved-name",!1),a.removeAttribute("name"))}},{id:"value",type:"text",label:b.lang.forms.checkboxAndRadio.value,"default":"", 7 | accessKey:"V",setup:function(a){this.setValue(a.getAttribute("value")||"")},commit:function(a){a=a.element;this.getValue()?a.setAttribute("value",this.getValue()):a.removeAttribute("value")}},{id:"checked",type:"checkbox",label:b.lang.forms.checkboxAndRadio.selected,"default":"",accessKey:"S",value:"checked",setup:function(a){this.setValue(a.getAttribute("checked"))},commit:function(a){var c=a.element;if(CKEDITOR.env.ie){var d=c.getAttribute("checked"),e=!!this.getValue();d!=e&&(d=CKEDITOR.dom.element.createFromHtml('\x3cinput type\x3d"radio"'+ 8 | (e?' checked\x3d"checked"':"")+"\x3e\x3c/input\x3e",b.document),c.copyAttributes(d,{type:1,checked:1}),d.replace(c),b.getSelection().selectElement(d),a.element=d)}else this.getValue()?c.setAttribute("checked","checked"):c.removeAttribute("checked")}},{id:"required",type:"checkbox",label:b.lang.forms.checkboxAndRadio.required,"default":"",accessKey:"Q",value:"required",setup:function(a){this.setValue(a.getAttribute("required"))},commit:function(a){a=a.element;this.getValue()?a.setAttribute("required", 9 | "required"):a.removeAttribute("required")}}]}]}}); -------------------------------------------------------------------------------- /programe/app/static/ckeditor/plugins/forms/dialogs/textarea.js: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. 3 | For licensing, see LICENSE.md or http://ckeditor.com/license 4 | */ 5 | CKEDITOR.dialog.add("textarea",function(b){return{title:b.lang.forms.textarea.title,minWidth:350,minHeight:220,onShow:function(){delete this.textarea;var a=this.getParentEditor().getSelection().getSelectedElement();a&&"textarea"==a.getName()&&(this.textarea=a,this.setupContent(a))},onOk:function(){var a,b=this.textarea,c=!b;c&&(a=this.getParentEditor(),b=a.document.createElement("textarea"));this.commitContent(b);c&&a.insertElement(b)},contents:[{id:"info",label:b.lang.forms.textarea.title,title:b.lang.forms.textarea.title, 6 | elements:[{id:"_cke_saved_name",type:"text",label:b.lang.common.name,"default":"",accessKey:"N",setup:function(a){this.setValue(a.data("cke-saved-name")||a.getAttribute("name")||"")},commit:function(a){this.getValue()?a.data("cke-saved-name",this.getValue()):(a.data("cke-saved-name",!1),a.removeAttribute("name"))}},{type:"hbox",widths:["50%","50%"],children:[{id:"cols",type:"text",label:b.lang.forms.textarea.cols,"default":"",accessKey:"C",style:"width:50px",validate:CKEDITOR.dialog.validate.integer(b.lang.common.validateNumberFailed), 7 | setup:function(a){a=a.hasAttribute("cols")&&a.getAttribute("cols");this.setValue(a||"")},commit:function(a){this.getValue()?a.setAttribute("cols",this.getValue()):a.removeAttribute("cols")}},{id:"rows",type:"text",label:b.lang.forms.textarea.rows,"default":"",accessKey:"R",style:"width:50px",validate:CKEDITOR.dialog.validate.integer(b.lang.common.validateNumberFailed),setup:function(a){a=a.hasAttribute("rows")&&a.getAttribute("rows");this.setValue(a||"")},commit:function(a){this.getValue()?a.setAttribute("rows", 8 | this.getValue()):a.removeAttribute("rows")}}]},{id:"value",type:"textarea",label:b.lang.forms.textfield.value,"default":"",setup:function(a){this.setValue(a.$.defaultValue)},commit:function(a){a.$.value=a.$.defaultValue=this.getValue()}},{id:"required",type:"checkbox",label:b.lang.forms.textfield.required,"default":"",accessKey:"Q",value:"required",setup:function(a){this.setValue(a.getAttribute("required"))},commit:function(a){this.getValue()?a.setAttribute("required","required"):a.removeAttribute("required")}}]}]}}); -------------------------------------------------------------------------------- /programe/app/static/ckeditor/plugins/forms/images/hiddenfield.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunshine-sjd/MyFirstBlog/a8c2a889e4c725e73be5e033b90775200c066bbe/programe/app/static/ckeditor/plugins/forms/images/hiddenfield.gif -------------------------------------------------------------------------------- /programe/app/static/ckeditor/plugins/icons.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunshine-sjd/MyFirstBlog/a8c2a889e4c725e73be5e033b90775200c066bbe/programe/app/static/ckeditor/plugins/icons.png -------------------------------------------------------------------------------- /programe/app/static/ckeditor/plugins/icons_hidpi.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunshine-sjd/MyFirstBlog/a8c2a889e4c725e73be5e033b90775200c066bbe/programe/app/static/ckeditor/plugins/icons_hidpi.png -------------------------------------------------------------------------------- /programe/app/static/ckeditor/plugins/iframe/images/placeholder.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunshine-sjd/MyFirstBlog/a8c2a889e4c725e73be5e033b90775200c066bbe/programe/app/static/ckeditor/plugins/iframe/images/placeholder.png -------------------------------------------------------------------------------- /programe/app/static/ckeditor/plugins/image/images/noimage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunshine-sjd/MyFirstBlog/a8c2a889e4c725e73be5e033b90775200c066bbe/programe/app/static/ckeditor/plugins/image/images/noimage.png -------------------------------------------------------------------------------- /programe/app/static/ckeditor/plugins/link/dialogs/anchor.js: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. 3 | For licensing, see LICENSE.md or http://ckeditor.com/license 4 | */ 5 | CKEDITOR.dialog.add("anchor",function(c){function d(a,b){return a.createFakeElement(a.document.createElement("a",{attributes:b}),"cke_anchor","anchor")}return{title:c.lang.link.anchor.title,minWidth:300,minHeight:60,onOk:function(){var a=CKEDITOR.tools.trim(this.getValueOf("info","txtName")),a={id:a,name:a,"data-cke-saved-name":a};if(this._.selectedElement)this._.selectedElement.data("cke-realelement")?(a=d(c,a),a.replace(this._.selectedElement),CKEDITOR.env.ie&&c.getSelection().selectElement(a)): 6 | this._.selectedElement.setAttributes(a);else{var b=c.getSelection(),b=b&&b.getRanges()[0];b.collapsed?(a=d(c,a),b.insertNode(a)):(CKEDITOR.env.ie&&9>CKEDITOR.env.version&&(a["class"]="cke_anchor"),a=new CKEDITOR.style({element:"a",attributes:a}),a.type=CKEDITOR.STYLE_INLINE,c.applyStyle(a))}},onHide:function(){delete this._.selectedElement},onShow:function(){var a=c.getSelection(),b=a.getSelectedElement(),d=b&&b.data("cke-realelement"),e=d?CKEDITOR.plugins.link.tryRestoreFakeAnchor(c,b):CKEDITOR.plugins.link.getSelectedLink(c); 7 | if(e){this._.selectedElement=e;var f=e.data("cke-saved-name");this.setValueOf("info","txtName",f||"");!d&&a.selectElement(e);b&&(this._.selectedElement=b)}this.getContentElement("info","txtName").focus()},contents:[{id:"info",label:c.lang.link.anchor.title,accessKey:"I",elements:[{type:"text",id:"txtName",label:c.lang.link.anchor.name,required:!0,validate:function(){return this.getValue()?!0:(alert(c.lang.link.anchor.errorName),!1)}}]}]}}); -------------------------------------------------------------------------------- /programe/app/static/ckeditor/plugins/link/images/anchor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunshine-sjd/MyFirstBlog/a8c2a889e4c725e73be5e033b90775200c066bbe/programe/app/static/ckeditor/plugins/link/images/anchor.png -------------------------------------------------------------------------------- /programe/app/static/ckeditor/plugins/link/images/hidpi/anchor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunshine-sjd/MyFirstBlog/a8c2a889e4c725e73be5e033b90775200c066bbe/programe/app/static/ckeditor/plugins/link/images/hidpi/anchor.png -------------------------------------------------------------------------------- /programe/app/static/ckeditor/plugins/magicline/images/hidpi/icon-rtl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunshine-sjd/MyFirstBlog/a8c2a889e4c725e73be5e033b90775200c066bbe/programe/app/static/ckeditor/plugins/magicline/images/hidpi/icon-rtl.png -------------------------------------------------------------------------------- /programe/app/static/ckeditor/plugins/magicline/images/hidpi/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunshine-sjd/MyFirstBlog/a8c2a889e4c725e73be5e033b90775200c066bbe/programe/app/static/ckeditor/plugins/magicline/images/hidpi/icon.png -------------------------------------------------------------------------------- /programe/app/static/ckeditor/plugins/magicline/images/icon-rtl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunshine-sjd/MyFirstBlog/a8c2a889e4c725e73be5e033b90775200c066bbe/programe/app/static/ckeditor/plugins/magicline/images/icon-rtl.png -------------------------------------------------------------------------------- /programe/app/static/ckeditor/plugins/magicline/images/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunshine-sjd/MyFirstBlog/a8c2a889e4c725e73be5e033b90775200c066bbe/programe/app/static/ckeditor/plugins/magicline/images/icon.png -------------------------------------------------------------------------------- /programe/app/static/ckeditor/plugins/markdown/.gitattributes: -------------------------------------------------------------------------------- 1 | # Auto detect text files and perform LF normalization 2 | * text=auto 3 | 4 | # Custom for Visual Studio 5 | *.cs diff=csharp 6 | *.sln merge=union 7 | *.csproj merge=union 8 | *.vbproj merge=union 9 | *.fsproj merge=union 10 | *.dbproj merge=union 11 | 12 | # Standard to msysgit 13 | *.doc diff=astextplain 14 | *.DOC diff=astextplain 15 | *.docx diff=astextplain 16 | *.DOCX diff=astextplain 17 | *.dot diff=astextplain 18 | *.DOT diff=astextplain 19 | *.pdf diff=astextplain 20 | *.PDF diff=astextplain 21 | *.rtf diff=astextplain 22 | *.RTF diff=astextplain 23 | -------------------------------------------------------------------------------- /programe/app/static/ckeditor/plugins/markdown/README.md: -------------------------------------------------------------------------------- 1 | # CKEditor-Markdown-Plugin 2 | Markdown Plugin for CKEditor 3 | This is a plugin for CKEditor, you can use `markdown` mode in CKEditor. Moreover, your article in `WYSIWYG` mode can be translated to `markdown`. 4 | 5 | ## Get Started 6 | It needs [ckeditor standard version](http://download.cksource.com/CKEditor/CKEditor/CKEditor%204.4.7/ckeditor_4.4.7_standard.zip) 7 | 8 | You can see the [DEMO](http://hectorguo.github.io/CKEditor-Markdown-Plugin/) 9 | 10 | ## Usage 11 | 1. Create a folder named `markdown` in `ckeditor/plugins` path; 12 | 2. Download the source, and uncompress it in the folder; 13 | 3. Edit `config.js` (such as `ckeditor/config.js`): 14 | ```javascript 15 | config.extraPlugins = 'markdown'; // add this plugin 16 | ``` 17 | Enjoy it! 18 | 19 | `config.js` example: 20 | ```javascript 21 | CKEDITOR.editorConfig = function( config ) { 22 | // Define changes to default configuration here. 23 | // For complete reference see: 24 | // http://docs.ckeditor.com/#!/api/CKEDITOR.config 25 | 26 | // The toolbar groups arrangement, optimized for two toolbar rows. 27 | config.toolbarGroups = [ 28 | // { name: 'clipboard', groups: [ 'clipboard', 'undo' ] }, 29 | // { name: 'editing', groups: [ 'find', 'selection', 'spellchecker' ] }, 30 | // { name: 'links' }, 31 | // { name: 'insert' }, 32 | // { name: 'forms' }, 33 | { name: 'tools' }, 34 | // { name: 'document', groups: [ 'mode', 'document', 'doctools' ] }, 35 | 36 | // '/', 37 | { name: 'basicstyles', groups: [ 'basicstyles', 'cleanup' ] }, 38 | // { name: 'paragraph', groups: [ 'list', 'indent', 'blocks', 'align', 'bidi' ] }, 39 | { name: 'styles' }, 40 | { name: 'others' } 41 | // { name: 'colors' }, 42 | // { name: 'about' } 43 | ]; 44 | 45 | // Remove some buttons provided by the standard plugins, which are 46 | // not needed in the Standard(s) toolbar. 47 | config.removeButtons = 'Underline,Subscript,Superscript'; 48 | config.extraPlugins = 'markdown'; // this is the point! 49 | // Set the most common block elements. 50 | config.format_tags = 'p;h1;h2;h3;pre'; 51 | 52 | // Simplify the dialog windows. 53 | config.removeDialogTabs = 'image:advanced;link:advanced'; 54 | }; 55 | ``` 56 | 57 | ## Thanks 58 | - [marked](https://github.com/chjj/marked) 59 | - [to-markdown](http://domchristie.github.io/to-markdown) 60 | - [codemirror](https://github.com/codemirror/CodeMirror) 61 | -------------------------------------------------------------------------------- /programe/app/static/ckeditor/plugins/markdown/icons/hidpi/markdown.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunshine-sjd/MyFirstBlog/a8c2a889e4c725e73be5e033b90775200c066bbe/programe/app/static/ckeditor/plugins/markdown/icons/hidpi/markdown.png -------------------------------------------------------------------------------- /programe/app/static/ckeditor/plugins/markdown/icons/markdown.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunshine-sjd/MyFirstBlog/a8c2a889e4c725e73be5e033b90775200c066bbe/programe/app/static/ckeditor/plugins/markdown/icons/markdown.png -------------------------------------------------------------------------------- /programe/app/static/ckeditor/plugins/markdown/theme/3024-day.css: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Name: 3024 day 4 | Author: Jan T. Sott (http://github.com/idleberg) 5 | 6 | CodeMirror template by Jan T. Sott (https://github.com/idleberg/base16-codemirror) 7 | Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) 8 | 9 | */ 10 | 11 | .cm-s-3024-day.CodeMirror {background: #f7f7f7; color: #3a3432;} 12 | .cm-s-3024-day div.CodeMirror-selected {background: #d6d5d4 !important;} 13 | 14 | .cm-s-3024-day .CodeMirror-gutters {background: #f7f7f7; border-right: 0px;} 15 | .cm-s-3024-day .CodeMirror-guttermarker { color: #db2d20; } 16 | .cm-s-3024-day .CodeMirror-guttermarker-subtle { color: #807d7c; } 17 | .cm-s-3024-day .CodeMirror-linenumber {color: #807d7c;} 18 | 19 | .cm-s-3024-day .CodeMirror-cursor {border-left: 1px solid #5c5855 !important;} 20 | 21 | .cm-s-3024-day span.cm-comment {color: #cdab53;} 22 | .cm-s-3024-day span.cm-atom {color: #a16a94;} 23 | .cm-s-3024-day span.cm-number {color: #a16a94;} 24 | 25 | .cm-s-3024-day span.cm-property, .cm-s-3024-day span.cm-attribute {color: #01a252;} 26 | .cm-s-3024-day span.cm-keyword {color: #db2d20;} 27 | .cm-s-3024-day span.cm-string {color: #fded02;} 28 | 29 | .cm-s-3024-day span.cm-variable {color: #01a252;} 30 | .cm-s-3024-day span.cm-variable-2 {color: #01a0e4;} 31 | .cm-s-3024-day span.cm-def {color: #e8bbd0;} 32 | .cm-s-3024-day span.cm-bracket {color: #3a3432;} 33 | .cm-s-3024-day span.cm-tag {color: #db2d20;} 34 | .cm-s-3024-day span.cm-link {color: #a16a94;} 35 | .cm-s-3024-day span.cm-error {background: #db2d20; color: #5c5855;} 36 | 37 | .cm-s-3024-day .CodeMirror-activeline-background {background: #e8f2ff !important;} 38 | .cm-s-3024-day .CodeMirror-matchingbracket { text-decoration: underline; color: white !important;} 39 | -------------------------------------------------------------------------------- /programe/app/static/ckeditor/plugins/markdown/theme/3024-night.css: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Name: 3024 night 4 | Author: Jan T. Sott (http://github.com/idleberg) 5 | 6 | CodeMirror template by Jan T. Sott (https://github.com/idleberg/base16-codemirror) 7 | Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) 8 | 9 | */ 10 | 11 | .cm-s-3024-night.CodeMirror {background: #090300; color: #d6d5d4;} 12 | .cm-s-3024-night div.CodeMirror-selected {background: #3a3432 !important;} 13 | .cm-s-3024-night .CodeMirror-gutters {background: #090300; border-right: 0px;} 14 | .cm-s-3024-night .CodeMirror-guttermarker { color: #db2d20; } 15 | .cm-s-3024-night .CodeMirror-guttermarker-subtle { color: #5c5855; } 16 | .cm-s-3024-night .CodeMirror-linenumber {color: #5c5855;} 17 | 18 | .cm-s-3024-night .CodeMirror-cursor {border-left: 1px solid #807d7c !important;} 19 | 20 | .cm-s-3024-night span.cm-comment {color: #cdab53;} 21 | .cm-s-3024-night span.cm-atom {color: #a16a94;} 22 | .cm-s-3024-night span.cm-number {color: #a16a94;} 23 | 24 | .cm-s-3024-night span.cm-property, .cm-s-3024-night span.cm-attribute {color: #01a252;} 25 | .cm-s-3024-night span.cm-keyword {color: #db2d20;} 26 | .cm-s-3024-night span.cm-string {color: #fded02;} 27 | 28 | .cm-s-3024-night span.cm-variable {color: #01a252;} 29 | .cm-s-3024-night span.cm-variable-2 {color: #01a0e4;} 30 | .cm-s-3024-night span.cm-def {color: #e8bbd0;} 31 | .cm-s-3024-night span.cm-bracket {color: #d6d5d4;} 32 | .cm-s-3024-night span.cm-tag {color: #db2d20;} 33 | .cm-s-3024-night span.cm-link {color: #a16a94;} 34 | .cm-s-3024-night span.cm-error {background: #db2d20; color: #807d7c;} 35 | 36 | .cm-s-3024-night .CodeMirror-activeline-background {background: #2F2F2F !important;} 37 | .cm-s-3024-night .CodeMirror-matchingbracket { text-decoration: underline; color: white !important;} 38 | -------------------------------------------------------------------------------- /programe/app/static/ckeditor/plugins/markdown/theme/ambiance-mobile.css: -------------------------------------------------------------------------------- 1 | .cm-s-ambiance.CodeMirror { 2 | -webkit-box-shadow: none; 3 | -moz-box-shadow: none; 4 | box-shadow: none; 5 | } 6 | -------------------------------------------------------------------------------- /programe/app/static/ckeditor/plugins/markdown/theme/base16-dark.css: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Name: Base16 Default Dark 4 | Author: Chris Kempson (http://chriskempson.com) 5 | 6 | CodeMirror template by Jan T. Sott (https://github.com/idleberg/base16-chrome-devtools) 7 | Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) 8 | 9 | */ 10 | 11 | .cm-s-base16-dark.CodeMirror {background: #151515; color: #e0e0e0;} 12 | .cm-s-base16-dark div.CodeMirror-selected {background: #202020 !important;} 13 | .cm-s-base16-dark .CodeMirror-gutters {background: #151515; border-right: 0px;} 14 | .cm-s-base16-dark .CodeMirror-guttermarker { color: #ac4142; } 15 | .cm-s-base16-dark .CodeMirror-guttermarker-subtle { color: #505050; } 16 | .cm-s-base16-dark .CodeMirror-linenumber {color: #505050;} 17 | .cm-s-base16-dark .CodeMirror-cursor {border-left: 1px solid #b0b0b0 !important;} 18 | 19 | .cm-s-base16-dark span.cm-comment {color: #8f5536;} 20 | .cm-s-base16-dark span.cm-atom {color: #aa759f;} 21 | .cm-s-base16-dark span.cm-number {color: #aa759f;} 22 | 23 | .cm-s-base16-dark span.cm-property, .cm-s-base16-dark span.cm-attribute {color: #90a959;} 24 | .cm-s-base16-dark span.cm-keyword {color: #ac4142;} 25 | .cm-s-base16-dark span.cm-string {color: #f4bf75;} 26 | 27 | .cm-s-base16-dark span.cm-variable {color: #90a959;} 28 | .cm-s-base16-dark span.cm-variable-2 {color: #6a9fb5;} 29 | .cm-s-base16-dark span.cm-def {color: #d28445;} 30 | .cm-s-base16-dark span.cm-bracket {color: #e0e0e0;} 31 | .cm-s-base16-dark span.cm-tag {color: #ac4142;} 32 | .cm-s-base16-dark span.cm-link {color: #aa759f;} 33 | .cm-s-base16-dark span.cm-error {background: #ac4142; color: #b0b0b0;} 34 | 35 | .cm-s-base16-dark .CodeMirror-activeline-background {background: #2F2F2F !important;} 36 | .cm-s-base16-dark .CodeMirror-matchingbracket { text-decoration: underline; color: white !important;} 37 | -------------------------------------------------------------------------------- /programe/app/static/ckeditor/plugins/markdown/theme/base16-light.css: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Name: Base16 Default Light 4 | Author: Chris Kempson (http://chriskempson.com) 5 | 6 | CodeMirror template by Jan T. Sott (https://github.com/idleberg/base16-chrome-devtools) 7 | Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) 8 | 9 | */ 10 | 11 | .cm-s-base16-light.CodeMirror {background: #f5f5f5; color: #202020;} 12 | .cm-s-base16-light div.CodeMirror-selected {background: #e0e0e0 !important;} 13 | .cm-s-base16-light .CodeMirror-gutters {background: #f5f5f5; border-right: 0px;} 14 | .cm-s-base16-light .CodeMirror-guttermarker { color: #ac4142; } 15 | .cm-s-base16-light .CodeMirror-guttermarker-subtle { color: #b0b0b0; } 16 | .cm-s-base16-light .CodeMirror-linenumber {color: #b0b0b0;} 17 | .cm-s-base16-light .CodeMirror-cursor {border-left: 1px solid #505050 !important;} 18 | 19 | .cm-s-base16-light span.cm-comment {color: #8f5536;} 20 | .cm-s-base16-light span.cm-atom {color: #aa759f;} 21 | .cm-s-base16-light span.cm-number {color: #aa759f;} 22 | 23 | .cm-s-base16-light span.cm-property, .cm-s-base16-light span.cm-attribute {color: #90a959;} 24 | .cm-s-base16-light span.cm-keyword {color: #ac4142;} 25 | .cm-s-base16-light span.cm-string {color: #f4bf75;} 26 | 27 | .cm-s-base16-light span.cm-variable {color: #90a959;} 28 | .cm-s-base16-light span.cm-variable-2 {color: #6a9fb5;} 29 | .cm-s-base16-light span.cm-def {color: #d28445;} 30 | .cm-s-base16-light span.cm-bracket {color: #202020;} 31 | .cm-s-base16-light span.cm-tag {color: #ac4142;} 32 | .cm-s-base16-light span.cm-link {color: #aa759f;} 33 | .cm-s-base16-light span.cm-error {background: #ac4142; color: #505050;} 34 | 35 | .cm-s-base16-light .CodeMirror-activeline-background {background: #DDDCDC !important;} 36 | .cm-s-base16-light .CodeMirror-matchingbracket { text-decoration: underline; color: white !important;} 37 | -------------------------------------------------------------------------------- /programe/app/static/ckeditor/plugins/markdown/theme/blackboard.css: -------------------------------------------------------------------------------- 1 | /* Port of TextMate's Blackboard theme */ 2 | 3 | .cm-s-blackboard.CodeMirror { background: #0C1021; color: #F8F8F8; } 4 | .cm-s-blackboard .CodeMirror-selected { background: #253B76 !important; } 5 | .cm-s-blackboard .CodeMirror-gutters { background: #0C1021; border-right: 0; } 6 | .cm-s-blackboard .CodeMirror-guttermarker { color: #FBDE2D; } 7 | .cm-s-blackboard .CodeMirror-guttermarker-subtle { color: #888; } 8 | .cm-s-blackboard .CodeMirror-linenumber { color: #888; } 9 | .cm-s-blackboard .CodeMirror-cursor { border-left: 1px solid #A7A7A7 !important; } 10 | 11 | .cm-s-blackboard .cm-keyword { color: #FBDE2D; } 12 | .cm-s-blackboard .cm-atom { color: #D8FA3C; } 13 | .cm-s-blackboard .cm-number { color: #D8FA3C; } 14 | .cm-s-blackboard .cm-def { color: #8DA6CE; } 15 | .cm-s-blackboard .cm-variable { color: #FF6400; } 16 | .cm-s-blackboard .cm-operator { color: #FBDE2D;} 17 | .cm-s-blackboard .cm-comment { color: #AEAEAE; } 18 | .cm-s-blackboard .cm-string { color: #61CE3C; } 19 | .cm-s-blackboard .cm-string-2 { color: #61CE3C; } 20 | .cm-s-blackboard .cm-meta { color: #D8FA3C; } 21 | .cm-s-blackboard .cm-builtin { color: #8DA6CE; } 22 | .cm-s-blackboard .cm-tag { color: #8DA6CE; } 23 | .cm-s-blackboard .cm-attribute { color: #8DA6CE; } 24 | .cm-s-blackboard .cm-header { color: #FF6400; } 25 | .cm-s-blackboard .cm-hr { color: #AEAEAE; } 26 | .cm-s-blackboard .cm-link { color: #8DA6CE; } 27 | .cm-s-blackboard .cm-error { background: #9D1E15; color: #F8F8F8; } 28 | 29 | .cm-s-blackboard .CodeMirror-activeline-background {background: #3C3636 !important;} 30 | .cm-s-blackboard .CodeMirror-matchingbracket {outline:1px solid grey;color:white !important} -------------------------------------------------------------------------------- /programe/app/static/ckeditor/plugins/markdown/theme/cobalt.css: -------------------------------------------------------------------------------- 1 | .cm-s-cobalt.CodeMirror { background: #002240; color: white; } 2 | .cm-s-cobalt div.CodeMirror-selected { background: #b36539 !important; } 3 | .cm-s-cobalt .CodeMirror-gutters { background: #002240; border-right: 1px solid #aaa; } 4 | .cm-s-cobalt .CodeMirror-guttermarker { color: #ffee80; } 5 | .cm-s-cobalt .CodeMirror-guttermarker-subtle { color: #d0d0d0; } 6 | .cm-s-cobalt .CodeMirror-linenumber { color: #d0d0d0; } 7 | .cm-s-cobalt .CodeMirror-cursor { border-left: 1px solid white !important; } 8 | 9 | .cm-s-cobalt span.cm-comment { color: #08f; } 10 | .cm-s-cobalt span.cm-atom { color: #845dc4; } 11 | .cm-s-cobalt span.cm-number, .cm-s-cobalt span.cm-attribute { color: #ff80e1; } 12 | .cm-s-cobalt span.cm-keyword { color: #ffee80; } 13 | .cm-s-cobalt span.cm-string { color: #3ad900; } 14 | .cm-s-cobalt span.cm-meta { color: #ff9d00; } 15 | .cm-s-cobalt span.cm-variable-2, .cm-s-cobalt span.cm-tag { color: #9effff; } 16 | .cm-s-cobalt span.cm-variable-3, .cm-s-cobalt span.cm-def { color: white; } 17 | .cm-s-cobalt span.cm-bracket { color: #d8d8d8; } 18 | .cm-s-cobalt span.cm-builtin, .cm-s-cobalt span.cm-special { color: #ff9e59; } 19 | .cm-s-cobalt span.cm-link { color: #845dc4; } 20 | .cm-s-cobalt span.cm-error { color: #9d1e15; } 21 | 22 | .cm-s-cobalt .CodeMirror-activeline-background {background: #002D57 !important;} 23 | .cm-s-cobalt .CodeMirror-matchingbracket {outline:1px solid grey;color:white !important} 24 | -------------------------------------------------------------------------------- /programe/app/static/ckeditor/plugins/markdown/theme/eclipse.css: -------------------------------------------------------------------------------- 1 | .cm-s-eclipse span.cm-meta {color: #FF1717;} 2 | .cm-s-eclipse span.cm-keyword { line-height: 1em; font-weight: bold; color: #7F0055; } 3 | .cm-s-eclipse span.cm-atom {color: #219;} 4 | .cm-s-eclipse span.cm-number {color: #164;} 5 | .cm-s-eclipse span.cm-def {color: #00f;} 6 | .cm-s-eclipse span.cm-variable {color: black;} 7 | .cm-s-eclipse span.cm-variable-2 {color: #0000C0;} 8 | .cm-s-eclipse span.cm-variable-3 {color: #0000C0;} 9 | .cm-s-eclipse span.cm-property {color: black;} 10 | .cm-s-eclipse span.cm-operator {color: black;} 11 | .cm-s-eclipse span.cm-comment {color: #3F7F5F;} 12 | .cm-s-eclipse span.cm-string {color: #2A00FF;} 13 | .cm-s-eclipse span.cm-string-2 {color: #f50;} 14 | .cm-s-eclipse span.cm-qualifier {color: #555;} 15 | .cm-s-eclipse span.cm-builtin {color: #30a;} 16 | .cm-s-eclipse span.cm-bracket {color: #cc7;} 17 | .cm-s-eclipse span.cm-tag {color: #170;} 18 | .cm-s-eclipse span.cm-attribute {color: #00c;} 19 | .cm-s-eclipse span.cm-link {color: #219;} 20 | .cm-s-eclipse span.cm-error {color: #f00;} 21 | 22 | .cm-s-eclipse .CodeMirror-activeline-background {background: #e8f2ff !important;} 23 | .cm-s-eclipse .CodeMirror-matchingbracket {outline:1px solid grey; color:black !important;} 24 | -------------------------------------------------------------------------------- /programe/app/static/ckeditor/plugins/markdown/theme/elegant.css: -------------------------------------------------------------------------------- 1 | .cm-s-elegant span.cm-number, .cm-s-elegant span.cm-string, .cm-s-elegant span.cm-atom {color: #762;} 2 | .cm-s-elegant span.cm-comment {color: #262; font-style: italic; line-height: 1em;} 3 | .cm-s-elegant span.cm-meta {color: #555; font-style: italic; line-height: 1em;} 4 | .cm-s-elegant span.cm-variable {color: black;} 5 | .cm-s-elegant span.cm-variable-2 {color: #b11;} 6 | .cm-s-elegant span.cm-qualifier {color: #555;} 7 | .cm-s-elegant span.cm-keyword {color: #730;} 8 | .cm-s-elegant span.cm-builtin {color: #30a;} 9 | .cm-s-elegant span.cm-link {color: #762;} 10 | .cm-s-elegant span.cm-error {background-color: #fdd;} 11 | 12 | .cm-s-elegant .CodeMirror-activeline-background {background: #e8f2ff !important;} 13 | .cm-s-elegant .CodeMirror-matchingbracket {outline:1px solid grey; color:black !important;} 14 | -------------------------------------------------------------------------------- /programe/app/static/ckeditor/plugins/markdown/theme/erlang-dark.css: -------------------------------------------------------------------------------- 1 | .cm-s-erlang-dark.CodeMirror { background: #002240; color: white; } 2 | .cm-s-erlang-dark div.CodeMirror-selected { background: #b36539 !important; } 3 | .cm-s-erlang-dark .CodeMirror-gutters { background: #002240; border-right: 1px solid #aaa; } 4 | .cm-s-erlang-dark .CodeMirror-guttermarker { color: white; } 5 | .cm-s-erlang-dark .CodeMirror-guttermarker-subtle { color: #d0d0d0; } 6 | .cm-s-erlang-dark .CodeMirror-linenumber { color: #d0d0d0; } 7 | .cm-s-erlang-dark .CodeMirror-cursor { border-left: 1px solid white !important; } 8 | 9 | .cm-s-erlang-dark span.cm-atom { color: #f133f1; } 10 | .cm-s-erlang-dark span.cm-attribute { color: #ff80e1; } 11 | .cm-s-erlang-dark span.cm-bracket { color: #ff9d00; } 12 | .cm-s-erlang-dark span.cm-builtin { color: #eaa; } 13 | .cm-s-erlang-dark span.cm-comment { color: #77f; } 14 | .cm-s-erlang-dark span.cm-def { color: #e7a; } 15 | .cm-s-erlang-dark span.cm-keyword { color: #ffee80; } 16 | .cm-s-erlang-dark span.cm-meta { color: #50fefe; } 17 | .cm-s-erlang-dark span.cm-number { color: #ffd0d0; } 18 | .cm-s-erlang-dark span.cm-operator { color: #d55; } 19 | .cm-s-erlang-dark span.cm-property { color: #ccc; } 20 | .cm-s-erlang-dark span.cm-qualifier { color: #ccc; } 21 | .cm-s-erlang-dark span.cm-quote { color: #ccc; } 22 | .cm-s-erlang-dark span.cm-special { color: #ffbbbb; } 23 | .cm-s-erlang-dark span.cm-string { color: #3ad900; } 24 | .cm-s-erlang-dark span.cm-string-2 { color: #ccc; } 25 | .cm-s-erlang-dark span.cm-tag { color: #9effff; } 26 | .cm-s-erlang-dark span.cm-variable { color: #50fe50; } 27 | .cm-s-erlang-dark span.cm-variable-2 { color: #e0e; } 28 | .cm-s-erlang-dark span.cm-variable-3 { color: #ccc; } 29 | .cm-s-erlang-dark span.cm-error { color: #9d1e15; } 30 | 31 | .cm-s-erlang-dark .CodeMirror-activeline-background {background: #013461 !important;} 32 | .cm-s-erlang-dark .CodeMirror-matchingbracket {outline:1px solid grey; color:white !important;} 33 | -------------------------------------------------------------------------------- /programe/app/static/ckeditor/plugins/markdown/theme/lesser-dark.css: -------------------------------------------------------------------------------- 1 | /* 2 | http://lesscss.org/ dark theme 3 | Ported to CodeMirror by Peter Kroon 4 | */ 5 | .cm-s-lesser-dark { 6 | line-height: 1.3em; 7 | } 8 | .cm-s-lesser-dark.CodeMirror { background: #262626; color: #EBEFE7; text-shadow: 0 -1px 1px #262626; } 9 | .cm-s-lesser-dark div.CodeMirror-selected {background: #45443B !important;} /* 33322B*/ 10 | .cm-s-lesser-dark .CodeMirror-cursor { border-left: 1px solid white !important; } 11 | .cm-s-lesser-dark pre { padding: 0 8px; }/*editable code holder*/ 12 | 13 | .cm-s-lesser-dark.CodeMirror span.CodeMirror-matchingbracket { color: #7EFC7E; }/*65FC65*/ 14 | 15 | .cm-s-lesser-dark .CodeMirror-gutters { background: #262626; border-right:1px solid #aaa; } 16 | .cm-s-lesser-dark .CodeMirror-guttermarker { color: #599eff; } 17 | .cm-s-lesser-dark .CodeMirror-guttermarker-subtle { color: #777; } 18 | .cm-s-lesser-dark .CodeMirror-linenumber { color: #777; } 19 | 20 | .cm-s-lesser-dark span.cm-keyword { color: #599eff; } 21 | .cm-s-lesser-dark span.cm-atom { color: #C2B470; } 22 | .cm-s-lesser-dark span.cm-number { color: #B35E4D; } 23 | .cm-s-lesser-dark span.cm-def {color: white;} 24 | .cm-s-lesser-dark span.cm-variable { color:#D9BF8C; } 25 | .cm-s-lesser-dark span.cm-variable-2 { color: #669199; } 26 | .cm-s-lesser-dark span.cm-variable-3 { color: white; } 27 | .cm-s-lesser-dark span.cm-property {color: #92A75C;} 28 | .cm-s-lesser-dark span.cm-operator {color: #92A75C;} 29 | .cm-s-lesser-dark span.cm-comment { color: #666; } 30 | .cm-s-lesser-dark span.cm-string { color: #BCD279; } 31 | .cm-s-lesser-dark span.cm-string-2 {color: #f50;} 32 | .cm-s-lesser-dark span.cm-meta { color: #738C73; } 33 | .cm-s-lesser-dark span.cm-qualifier {color: #555;} 34 | .cm-s-lesser-dark span.cm-builtin { color: #ff9e59; } 35 | .cm-s-lesser-dark span.cm-bracket { color: #EBEFE7; } 36 | .cm-s-lesser-dark span.cm-tag { color: #669199; } 37 | .cm-s-lesser-dark span.cm-attribute {color: #00c;} 38 | .cm-s-lesser-dark span.cm-header {color: #a0a;} 39 | .cm-s-lesser-dark span.cm-quote {color: #090;} 40 | .cm-s-lesser-dark span.cm-hr {color: #999;} 41 | .cm-s-lesser-dark span.cm-link {color: #00c;} 42 | .cm-s-lesser-dark span.cm-error { color: #9d1e15; } 43 | 44 | .cm-s-lesser-dark .CodeMirror-activeline-background {background: #3C3A3A !important;} 45 | .cm-s-lesser-dark .CodeMirror-matchingbracket {outline:1px solid grey; color:white !important;} 46 | -------------------------------------------------------------------------------- /programe/app/static/ckeditor/plugins/markdown/theme/mbo.css: -------------------------------------------------------------------------------- 1 | /****************************************************************/ 2 | /* Based on mbonaci's Brackets mbo theme */ 3 | /* https://github.com/mbonaci/global/blob/master/Mbo.tmTheme */ 4 | /* Create your own: http://tmtheme-editor.herokuapp.com */ 5 | /****************************************************************/ 6 | 7 | .cm-s-mbo.CodeMirror {background: #2c2c2c; color: #ffffec;} 8 | .cm-s-mbo div.CodeMirror-selected {background: #716C62 !important;} 9 | .cm-s-mbo .CodeMirror-gutters {background: #4e4e4e; border-right: 0px;} 10 | .cm-s-mbo .CodeMirror-guttermarker { color: white; } 11 | .cm-s-mbo .CodeMirror-guttermarker-subtle { color: grey; } 12 | .cm-s-mbo .CodeMirror-linenumber {color: #dadada;} 13 | .cm-s-mbo .CodeMirror-cursor {border-left: 1px solid #ffffec !important;} 14 | 15 | .cm-s-mbo span.cm-comment {color: #95958a;} 16 | .cm-s-mbo span.cm-atom {color: #00a8c6;} 17 | .cm-s-mbo span.cm-number {color: #00a8c6;} 18 | 19 | .cm-s-mbo span.cm-property, .cm-s-mbo span.cm-attribute {color: #9ddfe9;} 20 | .cm-s-mbo span.cm-keyword {color: #ffb928;} 21 | .cm-s-mbo span.cm-string {color: #ffcf6c;} 22 | .cm-s-mbo span.cm-string.cm-property {color: #ffffec;} 23 | 24 | .cm-s-mbo span.cm-variable {color: #ffffec;} 25 | .cm-s-mbo span.cm-variable-2 {color: #00a8c6;} 26 | .cm-s-mbo span.cm-def {color: #ffffec;} 27 | .cm-s-mbo span.cm-bracket {color: #fffffc; font-weight: bold;} 28 | .cm-s-mbo span.cm-tag {color: #9ddfe9;} 29 | .cm-s-mbo span.cm-link {color: #f54b07;} 30 | .cm-s-mbo span.cm-error {border-bottom: #636363; color: #ffffec;} 31 | .cm-s-mbo span.cm-qualifier {color: #ffffec;} 32 | 33 | .cm-s-mbo .CodeMirror-activeline-background {background: #494b41 !important;} 34 | .cm-s-mbo .CodeMirror-matchingbracket {color: #222 !important;} 35 | .cm-s-mbo .CodeMirror-matchingtag {background: rgba(255, 255, 255, .37);} 36 | -------------------------------------------------------------------------------- /programe/app/static/ckeditor/plugins/markdown/theme/midnight.css: -------------------------------------------------------------------------------- 1 | /* Based on the theme at http://bonsaiden.github.com/JavaScript-Garden */ 2 | 3 | /**/ 4 | .cm-s-midnight span.CodeMirror-matchhighlight { background: #494949; } 5 | .cm-s-midnight.CodeMirror-focused span.CodeMirror-matchhighlight { background: #314D67 !important; } 6 | 7 | /**/ 8 | .cm-s-midnight .CodeMirror-activeline-background {background: #253540 !important;} 9 | 10 | .cm-s-midnight.CodeMirror { 11 | background: #0F192A; 12 | color: #D1EDFF; 13 | } 14 | 15 | .cm-s-midnight.CodeMirror {border-top: 1px solid black; border-bottom: 1px solid black;} 16 | 17 | .cm-s-midnight div.CodeMirror-selected {background: #314D67 !important;} 18 | .cm-s-midnight .CodeMirror-gutters {background: #0F192A; border-right: 1px solid;} 19 | .cm-s-midnight .CodeMirror-guttermarker { color: white; } 20 | .cm-s-midnight .CodeMirror-guttermarker-subtle { color: #d0d0d0; } 21 | .cm-s-midnight .CodeMirror-linenumber {color: #D0D0D0;} 22 | .cm-s-midnight .CodeMirror-cursor { 23 | border-left: 1px solid #F8F8F0 !important; 24 | } 25 | 26 | .cm-s-midnight span.cm-comment {color: #428BDD;} 27 | .cm-s-midnight span.cm-atom {color: #AE81FF;} 28 | .cm-s-midnight span.cm-number {color: #D1EDFF;} 29 | 30 | .cm-s-midnight span.cm-property, .cm-s-midnight span.cm-attribute {color: #A6E22E;} 31 | .cm-s-midnight span.cm-keyword {color: #E83737;} 32 | .cm-s-midnight span.cm-string {color: #1DC116;} 33 | 34 | .cm-s-midnight span.cm-variable {color: #FFAA3E;} 35 | .cm-s-midnight span.cm-variable-2 {color: #FFAA3E;} 36 | .cm-s-midnight span.cm-def {color: #4DD;} 37 | .cm-s-midnight span.cm-bracket {color: #D1EDFF;} 38 | .cm-s-midnight span.cm-tag {color: #449;} 39 | .cm-s-midnight span.cm-link {color: #AE81FF;} 40 | .cm-s-midnight span.cm-error {background: #F92672; color: #F8F8F0;} 41 | 42 | .cm-s-midnight .CodeMirror-matchingbracket { 43 | text-decoration: underline; 44 | color: white !important; 45 | } 46 | -------------------------------------------------------------------------------- /programe/app/static/ckeditor/plugins/markdown/theme/monokai.css: -------------------------------------------------------------------------------- 1 | /* Based on Sublime Text's Monokai theme */ 2 | 3 | .cm-s-monokai.CodeMirror {background: #272822; color: #f8f8f2;} 4 | .cm-s-monokai div.CodeMirror-selected {background: #49483E !important;} 5 | .cm-s-monokai .CodeMirror-gutters {background: #272822; border-right: 0px;} 6 | .cm-s-monokai .CodeMirror-guttermarker { color: white; } 7 | .cm-s-monokai .CodeMirror-guttermarker-subtle { color: #d0d0d0; } 8 | .cm-s-monokai .CodeMirror-linenumber {color: #d0d0d0;} 9 | .cm-s-monokai .CodeMirror-cursor {border-left: 1px solid #f8f8f0 !important;} 10 | 11 | .cm-s-monokai span.cm-comment {color: #75715e;} 12 | .cm-s-monokai span.cm-atom {color: #ae81ff;} 13 | .cm-s-monokai span.cm-number {color: #ae81ff;} 14 | 15 | .cm-s-monokai span.cm-property, .cm-s-monokai span.cm-attribute {color: #a6e22e;} 16 | .cm-s-monokai span.cm-keyword {color: #f92672;} 17 | .cm-s-monokai span.cm-string {color: #e6db74;} 18 | 19 | .cm-s-monokai span.cm-variable {color: #a6e22e;} 20 | .cm-s-monokai span.cm-variable-2 {color: #9effff;} 21 | .cm-s-monokai span.cm-def {color: #fd971f;} 22 | .cm-s-monokai span.cm-bracket {color: #f8f8f2;} 23 | .cm-s-monokai span.cm-tag {color: #f92672;} 24 | .cm-s-monokai span.cm-link {color: #ae81ff;} 25 | .cm-s-monokai span.cm-error {background: #f92672; color: #f8f8f0;} 26 | 27 | .cm-s-monokai .CodeMirror-activeline-background {background: #373831 !important;} 28 | .cm-s-monokai .CodeMirror-matchingbracket { 29 | text-decoration: underline; 30 | color: white !important; 31 | } 32 | -------------------------------------------------------------------------------- /programe/app/static/ckeditor/plugins/markdown/theme/neat.css: -------------------------------------------------------------------------------- 1 | .cm-s-neat span.cm-comment { color: #a86; } 2 | .cm-s-neat span.cm-keyword { line-height: 1em; font-weight: bold; color: blue; } 3 | .cm-s-neat span.cm-string { color: #a22; } 4 | .cm-s-neat span.cm-builtin { line-height: 1em; font-weight: bold; color: #077; } 5 | .cm-s-neat span.cm-special { line-height: 1em; font-weight: bold; color: #0aa; } 6 | .cm-s-neat span.cm-variable { color: black; } 7 | .cm-s-neat span.cm-number, .cm-s-neat span.cm-atom { color: #3a3; } 8 | .cm-s-neat span.cm-meta {color: #555;} 9 | .cm-s-neat span.cm-link { color: #3a3; } 10 | 11 | .cm-s-neat .CodeMirror-activeline-background {background: #e8f2ff !important;} 12 | .cm-s-neat .CodeMirror-matchingbracket {outline:1px solid grey; color:black !important;} 13 | -------------------------------------------------------------------------------- /programe/app/static/ckeditor/plugins/markdown/theme/neo.css: -------------------------------------------------------------------------------- 1 | /* neo theme for codemirror */ 2 | 3 | /* Color scheme */ 4 | 5 | .cm-s-neo.CodeMirror { 6 | background-color:#ffffff; 7 | color:#2e383c; 8 | line-height:1.4375; 9 | } 10 | .cm-s-neo .cm-comment {color:#75787b} 11 | .cm-s-neo .cm-keyword, .cm-s-neo .cm-property {color:#1d75b3} 12 | .cm-s-neo .cm-atom,.cm-s-neo .cm-number {color:#75438a} 13 | .cm-s-neo .cm-node,.cm-s-neo .cm-tag {color:#9c3328} 14 | .cm-s-neo .cm-string {color:#b35e14} 15 | .cm-s-neo .cm-variable,.cm-s-neo .cm-qualifier {color:#047d65} 16 | 17 | 18 | /* Editor styling */ 19 | 20 | .cm-s-neo pre { 21 | padding:0; 22 | } 23 | 24 | .cm-s-neo .CodeMirror-gutters { 25 | border:none; 26 | border-right:10px solid transparent; 27 | background-color:transparent; 28 | } 29 | 30 | .cm-s-neo .CodeMirror-linenumber { 31 | padding:0; 32 | color:#e0e2e5; 33 | } 34 | 35 | .cm-s-neo .CodeMirror-guttermarker { color: #1d75b3; } 36 | .cm-s-neo .CodeMirror-guttermarker-subtle { color: #e0e2e5; } 37 | 38 | .cm-s-neo div.CodeMirror-cursor { 39 | width: auto; 40 | border: 0; 41 | background: rgba(155,157,162,0.37); 42 | z-index: 1; 43 | } 44 | -------------------------------------------------------------------------------- /programe/app/static/ckeditor/plugins/markdown/theme/night.css: -------------------------------------------------------------------------------- 1 | /* Loosely based on the Midnight Textmate theme */ 2 | 3 | .cm-s-night.CodeMirror { background: #0a001f; color: #f8f8f8; } 4 | .cm-s-night div.CodeMirror-selected { background: #447 !important; } 5 | .cm-s-night .CodeMirror-gutters { background: #0a001f; border-right: 1px solid #aaa; } 6 | .cm-s-night .CodeMirror-guttermarker { color: white; } 7 | .cm-s-night .CodeMirror-guttermarker-subtle { color: #bbb; } 8 | .cm-s-night .CodeMirror-linenumber { color: #f8f8f8; } 9 | .cm-s-night .CodeMirror-cursor { border-left: 1px solid white !important; } 10 | 11 | .cm-s-night span.cm-comment { color: #6900a1; } 12 | .cm-s-night span.cm-atom { color: #845dc4; } 13 | .cm-s-night span.cm-number, .cm-s-night span.cm-attribute { color: #ffd500; } 14 | .cm-s-night span.cm-keyword { color: #599eff; } 15 | .cm-s-night span.cm-string { color: #37f14a; } 16 | .cm-s-night span.cm-meta { color: #7678e2; } 17 | .cm-s-night span.cm-variable-2, .cm-s-night span.cm-tag { color: #99b2ff; } 18 | .cm-s-night span.cm-variable-3, .cm-s-night span.cm-def { color: white; } 19 | .cm-s-night span.cm-bracket { color: #8da6ce; } 20 | .cm-s-night span.cm-comment { color: #6900a1; } 21 | .cm-s-night span.cm-builtin, .cm-s-night span.cm-special { color: #ff9e59; } 22 | .cm-s-night span.cm-link { color: #845dc4; } 23 | .cm-s-night span.cm-error { color: #9d1e15; } 24 | 25 | .cm-s-night .CodeMirror-activeline-background {background: #1C005A !important;} 26 | .cm-s-night .CodeMirror-matchingbracket {outline:1px solid grey; color:white !important;} 27 | -------------------------------------------------------------------------------- /programe/app/static/ckeditor/plugins/markdown/theme/paraiso-dark.css: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Name: Paraíso (Dark) 4 | Author: Jan T. Sott 5 | 6 | Color scheme by Jan T. Sott (https://github.com/idleberg/Paraiso-CodeMirror) 7 | Inspired by the art of Rubens LP (http://www.rubenslp.com.br) 8 | 9 | */ 10 | 11 | .cm-s-paraiso-dark.CodeMirror {background: #2f1e2e; color: #b9b6b0;} 12 | .cm-s-paraiso-dark div.CodeMirror-selected {background: #41323f !important;} 13 | .cm-s-paraiso-dark .CodeMirror-gutters {background: #2f1e2e; border-right: 0px;} 14 | .cm-s-paraiso-dark .CodeMirror-guttermarker { color: #ef6155; } 15 | .cm-s-paraiso-dark .CodeMirror-guttermarker-subtle { color: #776e71; } 16 | .cm-s-paraiso-dark .CodeMirror-linenumber {color: #776e71;} 17 | .cm-s-paraiso-dark .CodeMirror-cursor {border-left: 1px solid #8d8687 !important;} 18 | 19 | .cm-s-paraiso-dark span.cm-comment {color: #e96ba8;} 20 | .cm-s-paraiso-dark span.cm-atom {color: #815ba4;} 21 | .cm-s-paraiso-dark span.cm-number {color: #815ba4;} 22 | 23 | .cm-s-paraiso-dark span.cm-property, .cm-s-paraiso-dark span.cm-attribute {color: #48b685;} 24 | .cm-s-paraiso-dark span.cm-keyword {color: #ef6155;} 25 | .cm-s-paraiso-dark span.cm-string {color: #fec418;} 26 | 27 | .cm-s-paraiso-dark span.cm-variable {color: #48b685;} 28 | .cm-s-paraiso-dark span.cm-variable-2 {color: #06b6ef;} 29 | .cm-s-paraiso-dark span.cm-def {color: #f99b15;} 30 | .cm-s-paraiso-dark span.cm-bracket {color: #b9b6b0;} 31 | .cm-s-paraiso-dark span.cm-tag {color: #ef6155;} 32 | .cm-s-paraiso-dark span.cm-link {color: #815ba4;} 33 | .cm-s-paraiso-dark span.cm-error {background: #ef6155; color: #8d8687;} 34 | 35 | .cm-s-paraiso-dark .CodeMirror-activeline-background {background: #4D344A !important;} 36 | .cm-s-paraiso-dark .CodeMirror-matchingbracket { text-decoration: underline; color: white !important;} 37 | -------------------------------------------------------------------------------- /programe/app/static/ckeditor/plugins/markdown/theme/paraiso-light.css: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Name: Paraíso (Light) 4 | Author: Jan T. Sott 5 | 6 | Color scheme by Jan T. Sott (https://github.com/idleberg/Paraiso-CodeMirror) 7 | Inspired by the art of Rubens LP (http://www.rubenslp.com.br) 8 | 9 | */ 10 | 11 | .cm-s-paraiso-light.CodeMirror {background: #e7e9db; color: #41323f;} 12 | .cm-s-paraiso-light div.CodeMirror-selected {background: #b9b6b0 !important;} 13 | .cm-s-paraiso-light .CodeMirror-gutters {background: #e7e9db; border-right: 0px;} 14 | .cm-s-paraiso-light .CodeMirror-guttermarker { color: black; } 15 | .cm-s-paraiso-light .CodeMirror-guttermarker-subtle { color: #8d8687; } 16 | .cm-s-paraiso-light .CodeMirror-linenumber {color: #8d8687;} 17 | .cm-s-paraiso-light .CodeMirror-cursor {border-left: 1px solid #776e71 !important;} 18 | 19 | .cm-s-paraiso-light span.cm-comment {color: #e96ba8;} 20 | .cm-s-paraiso-light span.cm-atom {color: #815ba4;} 21 | .cm-s-paraiso-light span.cm-number {color: #815ba4;} 22 | 23 | .cm-s-paraiso-light span.cm-property, .cm-s-paraiso-light span.cm-attribute {color: #48b685;} 24 | .cm-s-paraiso-light span.cm-keyword {color: #ef6155;} 25 | .cm-s-paraiso-light span.cm-string {color: #fec418;} 26 | 27 | .cm-s-paraiso-light span.cm-variable {color: #48b685;} 28 | .cm-s-paraiso-light span.cm-variable-2 {color: #06b6ef;} 29 | .cm-s-paraiso-light span.cm-def {color: #f99b15;} 30 | .cm-s-paraiso-light span.cm-bracket {color: #41323f;} 31 | .cm-s-paraiso-light span.cm-tag {color: #ef6155;} 32 | .cm-s-paraiso-light span.cm-link {color: #815ba4;} 33 | .cm-s-paraiso-light span.cm-error {background: #ef6155; color: #776e71;} 34 | 35 | .cm-s-paraiso-light .CodeMirror-activeline-background {background: #CFD1C4 !important;} 36 | .cm-s-paraiso-light .CodeMirror-matchingbracket { text-decoration: underline; color: white !important;} 37 | -------------------------------------------------------------------------------- /programe/app/static/ckeditor/plugins/markdown/theme/pastel-on-dark.css: -------------------------------------------------------------------------------- 1 | /** 2 | * Pastel On Dark theme ported from ACE editor 3 | * @license MIT 4 | * @copyright AtomicPages LLC 2014 5 | * @author Dennis Thompson, AtomicPages LLC 6 | * @version 1.1 7 | * @source https://github.com/atomicpages/codemirror-pastel-on-dark-theme 8 | */ 9 | 10 | .cm-s-pastel-on-dark.CodeMirror { 11 | background: #2c2827; 12 | color: #8F938F; 13 | line-height: 1.5; 14 | font-size: 14px; 15 | } 16 | .cm-s-pastel-on-dark div.CodeMirror-selected { background: rgba(221,240,255,0.2) !important; } 17 | .cm-s-pastel-on-dark .CodeMirror-gutters { 18 | background: #34302f; 19 | border-right: 0px; 20 | padding: 0 3px; 21 | } 22 | .cm-s-pastel-on-dark .CodeMirror-guttermarker { color: white; } 23 | .cm-s-pastel-on-dark .CodeMirror-guttermarker-subtle { color: #8F938F; } 24 | .cm-s-pastel-on-dark .CodeMirror-linenumber { color: #8F938F; } 25 | .cm-s-pastel-on-dark .CodeMirror-cursor { border-left: 1px solid #A7A7A7 !important; } 26 | .cm-s-pastel-on-dark span.cm-comment { color: #A6C6FF; } 27 | .cm-s-pastel-on-dark span.cm-atom { color: #DE8E30; } 28 | .cm-s-pastel-on-dark span.cm-number { color: #CCCCCC; } 29 | .cm-s-pastel-on-dark span.cm-property { color: #8F938F; } 30 | .cm-s-pastel-on-dark span.cm-attribute { color: #a6e22e; } 31 | .cm-s-pastel-on-dark span.cm-keyword { color: #AEB2F8; } 32 | .cm-s-pastel-on-dark span.cm-string { color: #66A968; } 33 | .cm-s-pastel-on-dark span.cm-variable { color: #AEB2F8; } 34 | .cm-s-pastel-on-dark span.cm-variable-2 { color: #BEBF55; } 35 | .cm-s-pastel-on-dark span.cm-variable-3 { color: #DE8E30; } 36 | .cm-s-pastel-on-dark span.cm-def { color: #757aD8; } 37 | .cm-s-pastel-on-dark span.cm-bracket { color: #f8f8f2; } 38 | .cm-s-pastel-on-dark span.cm-tag { color: #C1C144; } 39 | .cm-s-pastel-on-dark span.cm-link { color: #ae81ff; } 40 | .cm-s-pastel-on-dark span.cm-qualifier,.cm-s-pastel-on-dark span.cm-builtin { color: #C1C144; } 41 | .cm-s-pastel-on-dark span.cm-error { 42 | background: #757aD8; 43 | color: #f8f8f0; 44 | } 45 | .cm-s-pastel-on-dark .CodeMirror-activeline-background { background: rgba(255, 255, 255, 0.031) !important; } 46 | .cm-s-pastel-on-dark .CodeMirror-matchingbracket { 47 | border: 1px solid rgba(255,255,255,0.25); 48 | color: #8F938F !important; 49 | margin: -1px -1px 0 -1px; 50 | } 51 | -------------------------------------------------------------------------------- /programe/app/static/ckeditor/plugins/markdown/theme/rubyblue.css: -------------------------------------------------------------------------------- 1 | .cm-s-rubyblue.CodeMirror { background: #112435; color: white; } 2 | .cm-s-rubyblue div.CodeMirror-selected { background: #38566F !important; } 3 | .cm-s-rubyblue .CodeMirror-gutters { background: #1F4661; border-right: 7px solid #3E7087; } 4 | .cm-s-rubyblue .CodeMirror-guttermarker { color: white; } 5 | .cm-s-rubyblue .CodeMirror-guttermarker-subtle { color: #3E7087; } 6 | .cm-s-rubyblue .CodeMirror-linenumber { color: white; } 7 | .cm-s-rubyblue .CodeMirror-cursor { border-left: 1px solid white !important; } 8 | 9 | .cm-s-rubyblue span.cm-comment { color: #999; font-style:italic; line-height: 1em; } 10 | .cm-s-rubyblue span.cm-atom { color: #F4C20B; } 11 | .cm-s-rubyblue span.cm-number, .cm-s-rubyblue span.cm-attribute { color: #82C6E0; } 12 | .cm-s-rubyblue span.cm-keyword { color: #F0F; } 13 | .cm-s-rubyblue span.cm-string { color: #F08047; } 14 | .cm-s-rubyblue span.cm-meta { color: #F0F; } 15 | .cm-s-rubyblue span.cm-variable-2, .cm-s-rubyblue span.cm-tag { color: #7BD827; } 16 | .cm-s-rubyblue span.cm-variable-3, .cm-s-rubyblue span.cm-def { color: white; } 17 | .cm-s-rubyblue span.cm-bracket { color: #F0F; } 18 | .cm-s-rubyblue span.cm-link { color: #F4C20B; } 19 | .cm-s-rubyblue span.CodeMirror-matchingbracket { color:#F0F !important; } 20 | .cm-s-rubyblue span.cm-builtin, .cm-s-rubyblue span.cm-special { color: #FF9D00; } 21 | .cm-s-rubyblue span.cm-error { color: #AF2018; } 22 | 23 | .cm-s-rubyblue .CodeMirror-activeline-background {background: #173047 !important;} 24 | -------------------------------------------------------------------------------- /programe/app/static/ckeditor/plugins/markdown/theme/the-matrix.css: -------------------------------------------------------------------------------- 1 | .cm-s-the-matrix.CodeMirror { background: #000000; color: #00FF00; } 2 | .cm-s-the-matrix div.CodeMirror-selected { background: #2D2D2D !important; } 3 | .cm-s-the-matrix .CodeMirror-gutters { background: #060; border-right: 2px solid #00FF00; } 4 | .cm-s-the-matrix .CodeMirror-guttermarker { color: #0f0; } 5 | .cm-s-the-matrix .CodeMirror-guttermarker-subtle { color: white; } 6 | .cm-s-the-matrix .CodeMirror-linenumber { color: #FFFFFF; } 7 | .cm-s-the-matrix .CodeMirror-cursor { border-left: 1px solid #00FF00 !important; } 8 | 9 | .cm-s-the-matrix span.cm-keyword {color: #008803; font-weight: bold;} 10 | .cm-s-the-matrix span.cm-atom {color: #3FF;} 11 | .cm-s-the-matrix span.cm-number {color: #FFB94F;} 12 | .cm-s-the-matrix span.cm-def {color: #99C;} 13 | .cm-s-the-matrix span.cm-variable {color: #F6C;} 14 | .cm-s-the-matrix span.cm-variable-2 {color: #C6F;} 15 | .cm-s-the-matrix span.cm-variable-3 {color: #96F;} 16 | .cm-s-the-matrix span.cm-property {color: #62FFA0;} 17 | .cm-s-the-matrix span.cm-operator {color: #999} 18 | .cm-s-the-matrix span.cm-comment {color: #CCCCCC;} 19 | .cm-s-the-matrix span.cm-string {color: #39C;} 20 | .cm-s-the-matrix span.cm-meta {color: #C9F;} 21 | .cm-s-the-matrix span.cm-qualifier {color: #FFF700;} 22 | .cm-s-the-matrix span.cm-builtin {color: #30a;} 23 | .cm-s-the-matrix span.cm-bracket {color: #cc7;} 24 | .cm-s-the-matrix span.cm-tag {color: #FFBD40;} 25 | .cm-s-the-matrix span.cm-attribute {color: #FFF700;} 26 | .cm-s-the-matrix span.cm-error {color: #FF0000;} 27 | 28 | .cm-s-the-matrix .CodeMirror-activeline-background {background: #040;} 29 | -------------------------------------------------------------------------------- /programe/app/static/ckeditor/plugins/markdown/theme/tomorrow-night-eighties.css: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Name: Tomorrow Night - Eighties 4 | Author: Chris Kempson 5 | 6 | CodeMirror template by Jan T. Sott (https://github.com/idleberg/base16-codemirror) 7 | Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) 8 | 9 | */ 10 | 11 | .cm-s-tomorrow-night-eighties.CodeMirror {background: #000000; color: #CCCCCC;} 12 | .cm-s-tomorrow-night-eighties div.CodeMirror-selected {background: #2D2D2D !important;} 13 | .cm-s-tomorrow-night-eighties .CodeMirror-gutters {background: #000000; border-right: 0px;} 14 | .cm-s-tomorrow-night-eighties .CodeMirror-guttermarker { color: #f2777a; } 15 | .cm-s-tomorrow-night-eighties .CodeMirror-guttermarker-subtle { color: #777; } 16 | .cm-s-tomorrow-night-eighties .CodeMirror-linenumber {color: #515151;} 17 | .cm-s-tomorrow-night-eighties .CodeMirror-cursor {border-left: 1px solid #6A6A6A !important;} 18 | 19 | .cm-s-tomorrow-night-eighties span.cm-comment {color: #d27b53;} 20 | .cm-s-tomorrow-night-eighties span.cm-atom {color: #a16a94;} 21 | .cm-s-tomorrow-night-eighties span.cm-number {color: #a16a94;} 22 | 23 | .cm-s-tomorrow-night-eighties span.cm-property, .cm-s-tomorrow-night-eighties span.cm-attribute {color: #99cc99;} 24 | .cm-s-tomorrow-night-eighties span.cm-keyword {color: #f2777a;} 25 | .cm-s-tomorrow-night-eighties span.cm-string {color: #ffcc66;} 26 | 27 | .cm-s-tomorrow-night-eighties span.cm-variable {color: #99cc99;} 28 | .cm-s-tomorrow-night-eighties span.cm-variable-2 {color: #6699cc;} 29 | .cm-s-tomorrow-night-eighties span.cm-def {color: #f99157;} 30 | .cm-s-tomorrow-night-eighties span.cm-bracket {color: #CCCCCC;} 31 | .cm-s-tomorrow-night-eighties span.cm-tag {color: #f2777a;} 32 | .cm-s-tomorrow-night-eighties span.cm-link {color: #a16a94;} 33 | .cm-s-tomorrow-night-eighties span.cm-error {background: #f2777a; color: #6A6A6A;} 34 | 35 | .cm-s-tomorrow-night-eighties .CodeMirror-activeline-background {background: #343600 !important;} 36 | .cm-s-tomorrow-night-eighties .CodeMirror-matchingbracket { text-decoration: underline; color: white !important;} 37 | -------------------------------------------------------------------------------- /programe/app/static/ckeditor/plugins/markdown/theme/twilight.css: -------------------------------------------------------------------------------- 1 | .cm-s-twilight.CodeMirror { background: #141414; color: #f7f7f7; } /**/ 2 | .cm-s-twilight .CodeMirror-selected { background: #323232 !important; } /**/ 3 | 4 | .cm-s-twilight .CodeMirror-gutters { background: #222; border-right: 1px solid #aaa; } 5 | .cm-s-twilight .CodeMirror-guttermarker { color: white; } 6 | .cm-s-twilight .CodeMirror-guttermarker-subtle { color: #aaa; } 7 | .cm-s-twilight .CodeMirror-linenumber { color: #aaa; } 8 | .cm-s-twilight .CodeMirror-cursor { border-left: 1px solid white !important; } 9 | 10 | .cm-s-twilight .cm-keyword { color: #f9ee98; } /**/ 11 | .cm-s-twilight .cm-atom { color: #FC0; } 12 | .cm-s-twilight .cm-number { color: #ca7841; } /**/ 13 | .cm-s-twilight .cm-def { color: #8DA6CE; } 14 | .cm-s-twilight span.cm-variable-2, .cm-s-twilight span.cm-tag { color: #607392; } /**/ 15 | .cm-s-twilight span.cm-variable-3, .cm-s-twilight span.cm-def { color: #607392; } /**/ 16 | .cm-s-twilight .cm-operator { color: #cda869; } /**/ 17 | .cm-s-twilight .cm-comment { color:#777; font-style:italic; font-weight:normal; } /**/ 18 | .cm-s-twilight .cm-string { color:#8f9d6a; font-style:italic; } /**/ 19 | .cm-s-twilight .cm-string-2 { color:#bd6b18 } /*?*/ 20 | .cm-s-twilight .cm-meta { background-color:#141414; color:#f7f7f7; } /*?*/ 21 | .cm-s-twilight .cm-builtin { color: #cda869; } /*?*/ 22 | .cm-s-twilight .cm-tag { color: #997643; } /**/ 23 | .cm-s-twilight .cm-attribute { color: #d6bb6d; } /*?*/ 24 | .cm-s-twilight .cm-header { color: #FF6400; } 25 | .cm-s-twilight .cm-hr { color: #AEAEAE; } 26 | .cm-s-twilight .cm-link { color:#ad9361; font-style:italic; text-decoration:none; } /**/ 27 | .cm-s-twilight .cm-error { border-bottom: 1px solid red; } 28 | 29 | .cm-s-twilight .CodeMirror-activeline-background {background: #27282E !important;} 30 | .cm-s-twilight .CodeMirror-matchingbracket {outline:1px solid grey; color:white !important;} 31 | -------------------------------------------------------------------------------- /programe/app/static/ckeditor/plugins/markdown/theme/vibrant-ink.css: -------------------------------------------------------------------------------- 1 | /* Taken from the popular Visual Studio Vibrant Ink Schema */ 2 | 3 | .cm-s-vibrant-ink.CodeMirror { background: black; color: white; } 4 | .cm-s-vibrant-ink .CodeMirror-selected { background: #35493c !important; } 5 | 6 | .cm-s-vibrant-ink .CodeMirror-gutters { background: #002240; border-right: 1px solid #aaa; } 7 | .cm-s-vibrant-ink .CodeMirror-guttermarker { color: white; } 8 | .cm-s-vibrant-ink .CodeMirror-guttermarker-subtle { color: #d0d0d0; } 9 | .cm-s-vibrant-ink .CodeMirror-linenumber { color: #d0d0d0; } 10 | .cm-s-vibrant-ink .CodeMirror-cursor { border-left: 1px solid white !important; } 11 | 12 | .cm-s-vibrant-ink .cm-keyword { color: #CC7832; } 13 | .cm-s-vibrant-ink .cm-atom { color: #FC0; } 14 | .cm-s-vibrant-ink .cm-number { color: #FFEE98; } 15 | .cm-s-vibrant-ink .cm-def { color: #8DA6CE; } 16 | .cm-s-vibrant-ink span.cm-variable-2, .cm-s-vibrant span.cm-tag { color: #FFC66D } 17 | .cm-s-vibrant-ink span.cm-variable-3, .cm-s-vibrant span.cm-def { color: #FFC66D } 18 | .cm-s-vibrant-ink .cm-operator { color: #888; } 19 | .cm-s-vibrant-ink .cm-comment { color: gray; font-weight: bold; } 20 | .cm-s-vibrant-ink .cm-string { color: #A5C25C } 21 | .cm-s-vibrant-ink .cm-string-2 { color: red } 22 | .cm-s-vibrant-ink .cm-meta { color: #D8FA3C; } 23 | .cm-s-vibrant-ink .cm-builtin { color: #8DA6CE; } 24 | .cm-s-vibrant-ink .cm-tag { color: #8DA6CE; } 25 | .cm-s-vibrant-ink .cm-attribute { color: #8DA6CE; } 26 | .cm-s-vibrant-ink .cm-header { color: #FF6400; } 27 | .cm-s-vibrant-ink .cm-hr { color: #AEAEAE; } 28 | .cm-s-vibrant-ink .cm-link { color: blue; } 29 | .cm-s-vibrant-ink .cm-error { border-bottom: 1px solid red; } 30 | 31 | .cm-s-vibrant-ink .CodeMirror-activeline-background {background: #27282E !important;} 32 | .cm-s-vibrant-ink .CodeMirror-matchingbracket {outline:1px solid grey; color:white !important;} 33 | -------------------------------------------------------------------------------- /programe/app/static/ckeditor/plugins/markdown/theme/xq-light.css: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (C) 2011 by MarkLogic Corporation 3 | Author: Mike Brevoort 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | */ 23 | .cm-s-xq-light span.cm-keyword {line-height: 1em; font-weight: bold; color: #5A5CAD; } 24 | .cm-s-xq-light span.cm-atom {color: #6C8CD5;} 25 | .cm-s-xq-light span.cm-number {color: #164;} 26 | .cm-s-xq-light span.cm-def {text-decoration:underline;} 27 | .cm-s-xq-light span.cm-variable {color: black; } 28 | .cm-s-xq-light span.cm-variable-2 {color:black;} 29 | .cm-s-xq-light span.cm-variable-3 {color: black; } 30 | .cm-s-xq-light span.cm-property {} 31 | .cm-s-xq-light span.cm-operator {} 32 | .cm-s-xq-light span.cm-comment {color: #0080FF; font-style: italic;} 33 | .cm-s-xq-light span.cm-string {color: red;} 34 | .cm-s-xq-light span.cm-meta {color: yellow;} 35 | .cm-s-xq-light span.cm-qualifier {color: grey} 36 | .cm-s-xq-light span.cm-builtin {color: #7EA656;} 37 | .cm-s-xq-light span.cm-bracket {color: #cc7;} 38 | .cm-s-xq-light span.cm-tag {color: #3F7F7F;} 39 | .cm-s-xq-light span.cm-attribute {color: #7F007F;} 40 | .cm-s-xq-light span.cm-error {color: #f00;} 41 | 42 | .cm-s-xq-light .CodeMirror-activeline-background {background: #e8f2ff !important;} 43 | .cm-s-xq-light .CodeMirror-matchingbracket {outline:1px solid grey;color:black !important;background:yellow;} -------------------------------------------------------------------------------- /programe/app/static/ckeditor/plugins/pagebreak/images/pagebreak.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunshine-sjd/MyFirstBlog/a8c2a889e4c725e73be5e033b90775200c066bbe/programe/app/static/ckeditor/plugins/pagebreak/images/pagebreak.gif -------------------------------------------------------------------------------- /programe/app/static/ckeditor/plugins/preview/preview.html: -------------------------------------------------------------------------------- 1 | 14 | -------------------------------------------------------------------------------- /programe/app/static/ckeditor/plugins/scayt/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | SCAYT plugin for CKEditor 4 Changelog 2 | ==================== 3 | ### CKEditor 4.5.6 4 | 5 | New Features: 6 | * CKEditor [language addon](http://ckeditor.com/addon/language) support 7 | * CKEditor [placeholder addon](http://ckeditor.com/addon/placeholder) support 8 | * Drag and Drop support 9 | * *Experimental* GRAYT functionality http://www.webspellchecker.net/samples/scayt-ckeditor-plugin.html#25 10 | 11 | Fixed issues: 12 | * [#98](https://github.com/WebSpellChecker/ckeditor-plugin-scayt/issues/98) SCAYT Affects Dialog Double Click. Fixed in SCAYT Core. 13 | * [#102](https://github.com/WebSpellChecker/ckeditor-plugin-scayt/issues/102) SCAYT Core performance enhancements 14 | * [#104](https://github.com/WebSpellChecker/ckeditor-plugin-scayt/issues/104) SCAYT's spans leak into the clipboard and after pasting 15 | * [#105](https://github.com/WebSpellChecker/ckeditor-plugin-scayt/issues/105) Javascript error fired in case of multiple instances of CKEditor in one page 16 | * [#107](https://github.com/WebSpellChecker/ckeditor-plugin-scayt/issues/107) SCAYT should not check non-editable parts of content 17 | * [#108](https://github.com/WebSpellChecker/ckeditor-plugin-scayt/issues/108) Latest SCAYT copies id of editor element to the iframe 18 | * SCAYT stops working when CKEditor Undo plug-in not enabled 19 | * Issue with pasting SCAYT markup in CKEditor 20 | * [#32](https://github.com/WebSpellChecker/ckeditor-plugin-wsc/issues/32) SCAYT stops working after pressing Cancel button in WSC dialog 21 | -------------------------------------------------------------------------------- /programe/app/static/ckeditor/plugins/scayt/LICENSE.md: -------------------------------------------------------------------------------- 1 | Software License Agreement 2 | ========================== 3 | 4 | **CKEditor SCAYT Plugin** 5 | Copyright © 2012, [CKSource](http://cksource.com) - Frederico Knabben. All rights reserved. 6 | 7 | Licensed under the terms of any of the following licenses at your choice: 8 | 9 | * GNU General Public License Version 2 or later (the "GPL"): 10 | http://www.gnu.org/licenses/gpl.html 11 | 12 | * GNU Lesser General Public License Version 2.1 or later (the "LGPL"): 13 | http://www.gnu.org/licenses/lgpl.html 14 | 15 | * Mozilla Public License Version 1.1 or later (the "MPL"): 16 | http://www.mozilla.org/MPL/MPL-1.1.html 17 | 18 | You are not required to, but if you want to explicitly declare the license you have chosen to be bound to when using, reproducing, modifying and distributing this software, just include a text file titled "legal.txt" in your version of this software, indicating your license choice. 19 | 20 | Sources of Intellectual Property Included in this plugin 21 | -------------------------------------------------------- 22 | 23 | Where not otherwise indicated, all plugin content is authored by CKSource engineers and consists of CKSource-owned intellectual property. In some specific instances, the plugin will incorporate work done by developers outside of CKSource with their express permission. 24 | 25 | Trademarks 26 | ---------- 27 | 28 | CKEditor is a trademark of CKSource - Frederico Knabben. All other brand and product names are trademarks, registered trademarks or service marks of their respective holders. 29 | -------------------------------------------------------------------------------- /programe/app/static/ckeditor/plugins/scayt/README.md: -------------------------------------------------------------------------------- 1 | CKEditor SCAYT Plugin 2 | ===================== 3 | 4 | This plugin brings Spell Check As You Type (SCAYT) into up to CKEditor 4+. 5 | 6 | SCAYT is a "installation-less", using the web-services of [WebSpellChecker.net](http://www.webspellchecker.net/). It's an out of the box solution. 7 | 8 | Installation 9 | ------------ 10 | 11 | 1. Clone/copy this repository contents in a new "plugins/scayt" folder in your CKEditor installation. 12 | 2. Enable the "scayt" plugin in the CKEditor configuration file (config.js): 13 | 14 | config.extraPlugins = 'scayt'; 15 | 16 | That's all. SCAYT will appear on the editor toolbar and will be ready to use. 17 | 18 | License 19 | ------- 20 | 21 | Licensed under the terms of any of the following licenses at your choice: [GPL](http://www.gnu.org/licenses/gpl.html), [LGPL](http://www.gnu.org/licenses/lgpl.html) and [MPL](http://www.mozilla.org/MPL/MPL-1.1.html). 22 | 23 | See LICENSE.md for more information. 24 | 25 | Developed in cooperation with [WebSpellChecker.net](http://www.webspellchecker.net/). 26 | -------------------------------------------------------------------------------- /programe/app/static/ckeditor/plugins/scayt/dialogs/toolbar.css: -------------------------------------------------------------------------------- 1 | a 2 | { 3 | text-decoration:none; 4 | padding: 2px 4px 4px 6px; 5 | display : block; 6 | border-width: 1px; 7 | border-style: solid; 8 | margin : 0px; 9 | } 10 | 11 | a.cke_scayt_toogle:hover, 12 | a.cke_scayt_toogle:focus, 13 | a.cke_scayt_toogle:active 14 | { 15 | border-color: #316ac5; 16 | background-color: #dff1ff; 17 | color : #000; 18 | cursor: pointer; 19 | margin : 0px; 20 | } 21 | a.cke_scayt_toogle { 22 | color : #316ac5; 23 | border-color: #fff; 24 | } 25 | .scayt_enabled a.cke_scayt_item { 26 | color : #316ac5; 27 | border-color: #fff; 28 | margin : 0px; 29 | } 30 | .scayt_disabled a.cke_scayt_item { 31 | color : gray; 32 | border-color : #fff; 33 | } 34 | .scayt_enabled a.cke_scayt_item:hover, 35 | .scayt_enabled a.cke_scayt_item:focus, 36 | .scayt_enabled a.cke_scayt_item:active 37 | { 38 | border-color: #316ac5; 39 | background-color: #dff1ff; 40 | color : #000; 41 | cursor: pointer; 42 | } 43 | .scayt_disabled a.cke_scayt_item:hover, 44 | .scayt_disabled a.cke_scayt_item:focus, 45 | .scayt_disabled a.cke_scayt_item:active 46 | { 47 | border-color: gray; 48 | background-color: #dff1ff; 49 | color : gray; 50 | cursor: no-drop; 51 | } 52 | .cke_scayt_set_on, .cke_scayt_set_off 53 | { 54 | display: none; 55 | } 56 | .scayt_enabled .cke_scayt_set_on 57 | { 58 | display: none; 59 | } 60 | .scayt_disabled .cke_scayt_set_on 61 | { 62 | display: inline; 63 | } 64 | .scayt_disabled .cke_scayt_set_off 65 | { 66 | display: none; 67 | } 68 | .scayt_enabled .cke_scayt_set_off 69 | { 70 | display: inline; 71 | } 72 | -------------------------------------------------------------------------------- /programe/app/static/ckeditor/plugins/showblocks/images/block_address.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunshine-sjd/MyFirstBlog/a8c2a889e4c725e73be5e033b90775200c066bbe/programe/app/static/ckeditor/plugins/showblocks/images/block_address.png -------------------------------------------------------------------------------- /programe/app/static/ckeditor/plugins/showblocks/images/block_blockquote.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunshine-sjd/MyFirstBlog/a8c2a889e4c725e73be5e033b90775200c066bbe/programe/app/static/ckeditor/plugins/showblocks/images/block_blockquote.png -------------------------------------------------------------------------------- /programe/app/static/ckeditor/plugins/showblocks/images/block_div.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunshine-sjd/MyFirstBlog/a8c2a889e4c725e73be5e033b90775200c066bbe/programe/app/static/ckeditor/plugins/showblocks/images/block_div.png -------------------------------------------------------------------------------- /programe/app/static/ckeditor/plugins/showblocks/images/block_h1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunshine-sjd/MyFirstBlog/a8c2a889e4c725e73be5e033b90775200c066bbe/programe/app/static/ckeditor/plugins/showblocks/images/block_h1.png -------------------------------------------------------------------------------- /programe/app/static/ckeditor/plugins/showblocks/images/block_h2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunshine-sjd/MyFirstBlog/a8c2a889e4c725e73be5e033b90775200c066bbe/programe/app/static/ckeditor/plugins/showblocks/images/block_h2.png -------------------------------------------------------------------------------- /programe/app/static/ckeditor/plugins/showblocks/images/block_h3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunshine-sjd/MyFirstBlog/a8c2a889e4c725e73be5e033b90775200c066bbe/programe/app/static/ckeditor/plugins/showblocks/images/block_h3.png -------------------------------------------------------------------------------- /programe/app/static/ckeditor/plugins/showblocks/images/block_h4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunshine-sjd/MyFirstBlog/a8c2a889e4c725e73be5e033b90775200c066bbe/programe/app/static/ckeditor/plugins/showblocks/images/block_h4.png -------------------------------------------------------------------------------- /programe/app/static/ckeditor/plugins/showblocks/images/block_h5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunshine-sjd/MyFirstBlog/a8c2a889e4c725e73be5e033b90775200c066bbe/programe/app/static/ckeditor/plugins/showblocks/images/block_h5.png -------------------------------------------------------------------------------- /programe/app/static/ckeditor/plugins/showblocks/images/block_h6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunshine-sjd/MyFirstBlog/a8c2a889e4c725e73be5e033b90775200c066bbe/programe/app/static/ckeditor/plugins/showblocks/images/block_h6.png -------------------------------------------------------------------------------- /programe/app/static/ckeditor/plugins/showblocks/images/block_p.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunshine-sjd/MyFirstBlog/a8c2a889e4c725e73be5e033b90775200c066bbe/programe/app/static/ckeditor/plugins/showblocks/images/block_p.png -------------------------------------------------------------------------------- /programe/app/static/ckeditor/plugins/showblocks/images/block_pre.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunshine-sjd/MyFirstBlog/a8c2a889e4c725e73be5e033b90775200c066bbe/programe/app/static/ckeditor/plugins/showblocks/images/block_pre.png -------------------------------------------------------------------------------- /programe/app/static/ckeditor/plugins/smiley/images/angel_smile.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunshine-sjd/MyFirstBlog/a8c2a889e4c725e73be5e033b90775200c066bbe/programe/app/static/ckeditor/plugins/smiley/images/angel_smile.gif -------------------------------------------------------------------------------- /programe/app/static/ckeditor/plugins/smiley/images/angel_smile.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunshine-sjd/MyFirstBlog/a8c2a889e4c725e73be5e033b90775200c066bbe/programe/app/static/ckeditor/plugins/smiley/images/angel_smile.png -------------------------------------------------------------------------------- /programe/app/static/ckeditor/plugins/smiley/images/angry_smile.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunshine-sjd/MyFirstBlog/a8c2a889e4c725e73be5e033b90775200c066bbe/programe/app/static/ckeditor/plugins/smiley/images/angry_smile.gif -------------------------------------------------------------------------------- /programe/app/static/ckeditor/plugins/smiley/images/angry_smile.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunshine-sjd/MyFirstBlog/a8c2a889e4c725e73be5e033b90775200c066bbe/programe/app/static/ckeditor/plugins/smiley/images/angry_smile.png -------------------------------------------------------------------------------- /programe/app/static/ckeditor/plugins/smiley/images/broken_heart.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunshine-sjd/MyFirstBlog/a8c2a889e4c725e73be5e033b90775200c066bbe/programe/app/static/ckeditor/plugins/smiley/images/broken_heart.gif -------------------------------------------------------------------------------- /programe/app/static/ckeditor/plugins/smiley/images/broken_heart.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunshine-sjd/MyFirstBlog/a8c2a889e4c725e73be5e033b90775200c066bbe/programe/app/static/ckeditor/plugins/smiley/images/broken_heart.png -------------------------------------------------------------------------------- /programe/app/static/ckeditor/plugins/smiley/images/confused_smile.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunshine-sjd/MyFirstBlog/a8c2a889e4c725e73be5e033b90775200c066bbe/programe/app/static/ckeditor/plugins/smiley/images/confused_smile.gif -------------------------------------------------------------------------------- /programe/app/static/ckeditor/plugins/smiley/images/confused_smile.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunshine-sjd/MyFirstBlog/a8c2a889e4c725e73be5e033b90775200c066bbe/programe/app/static/ckeditor/plugins/smiley/images/confused_smile.png -------------------------------------------------------------------------------- /programe/app/static/ckeditor/plugins/smiley/images/cry_smile.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunshine-sjd/MyFirstBlog/a8c2a889e4c725e73be5e033b90775200c066bbe/programe/app/static/ckeditor/plugins/smiley/images/cry_smile.gif -------------------------------------------------------------------------------- /programe/app/static/ckeditor/plugins/smiley/images/cry_smile.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunshine-sjd/MyFirstBlog/a8c2a889e4c725e73be5e033b90775200c066bbe/programe/app/static/ckeditor/plugins/smiley/images/cry_smile.png -------------------------------------------------------------------------------- /programe/app/static/ckeditor/plugins/smiley/images/devil_smile.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunshine-sjd/MyFirstBlog/a8c2a889e4c725e73be5e033b90775200c066bbe/programe/app/static/ckeditor/plugins/smiley/images/devil_smile.gif -------------------------------------------------------------------------------- /programe/app/static/ckeditor/plugins/smiley/images/devil_smile.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunshine-sjd/MyFirstBlog/a8c2a889e4c725e73be5e033b90775200c066bbe/programe/app/static/ckeditor/plugins/smiley/images/devil_smile.png -------------------------------------------------------------------------------- /programe/app/static/ckeditor/plugins/smiley/images/embaressed_smile.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunshine-sjd/MyFirstBlog/a8c2a889e4c725e73be5e033b90775200c066bbe/programe/app/static/ckeditor/plugins/smiley/images/embaressed_smile.gif -------------------------------------------------------------------------------- /programe/app/static/ckeditor/plugins/smiley/images/embarrassed_smile.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunshine-sjd/MyFirstBlog/a8c2a889e4c725e73be5e033b90775200c066bbe/programe/app/static/ckeditor/plugins/smiley/images/embarrassed_smile.gif -------------------------------------------------------------------------------- /programe/app/static/ckeditor/plugins/smiley/images/embarrassed_smile.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunshine-sjd/MyFirstBlog/a8c2a889e4c725e73be5e033b90775200c066bbe/programe/app/static/ckeditor/plugins/smiley/images/embarrassed_smile.png -------------------------------------------------------------------------------- /programe/app/static/ckeditor/plugins/smiley/images/envelope.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunshine-sjd/MyFirstBlog/a8c2a889e4c725e73be5e033b90775200c066bbe/programe/app/static/ckeditor/plugins/smiley/images/envelope.gif -------------------------------------------------------------------------------- /programe/app/static/ckeditor/plugins/smiley/images/envelope.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunshine-sjd/MyFirstBlog/a8c2a889e4c725e73be5e033b90775200c066bbe/programe/app/static/ckeditor/plugins/smiley/images/envelope.png -------------------------------------------------------------------------------- /programe/app/static/ckeditor/plugins/smiley/images/heart.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunshine-sjd/MyFirstBlog/a8c2a889e4c725e73be5e033b90775200c066bbe/programe/app/static/ckeditor/plugins/smiley/images/heart.gif -------------------------------------------------------------------------------- /programe/app/static/ckeditor/plugins/smiley/images/heart.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunshine-sjd/MyFirstBlog/a8c2a889e4c725e73be5e033b90775200c066bbe/programe/app/static/ckeditor/plugins/smiley/images/heart.png -------------------------------------------------------------------------------- /programe/app/static/ckeditor/plugins/smiley/images/kiss.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunshine-sjd/MyFirstBlog/a8c2a889e4c725e73be5e033b90775200c066bbe/programe/app/static/ckeditor/plugins/smiley/images/kiss.gif -------------------------------------------------------------------------------- /programe/app/static/ckeditor/plugins/smiley/images/kiss.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunshine-sjd/MyFirstBlog/a8c2a889e4c725e73be5e033b90775200c066bbe/programe/app/static/ckeditor/plugins/smiley/images/kiss.png -------------------------------------------------------------------------------- /programe/app/static/ckeditor/plugins/smiley/images/lightbulb.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunshine-sjd/MyFirstBlog/a8c2a889e4c725e73be5e033b90775200c066bbe/programe/app/static/ckeditor/plugins/smiley/images/lightbulb.gif -------------------------------------------------------------------------------- /programe/app/static/ckeditor/plugins/smiley/images/lightbulb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunshine-sjd/MyFirstBlog/a8c2a889e4c725e73be5e033b90775200c066bbe/programe/app/static/ckeditor/plugins/smiley/images/lightbulb.png -------------------------------------------------------------------------------- /programe/app/static/ckeditor/plugins/smiley/images/omg_smile.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunshine-sjd/MyFirstBlog/a8c2a889e4c725e73be5e033b90775200c066bbe/programe/app/static/ckeditor/plugins/smiley/images/omg_smile.gif -------------------------------------------------------------------------------- /programe/app/static/ckeditor/plugins/smiley/images/omg_smile.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunshine-sjd/MyFirstBlog/a8c2a889e4c725e73be5e033b90775200c066bbe/programe/app/static/ckeditor/plugins/smiley/images/omg_smile.png -------------------------------------------------------------------------------- /programe/app/static/ckeditor/plugins/smiley/images/regular_smile.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunshine-sjd/MyFirstBlog/a8c2a889e4c725e73be5e033b90775200c066bbe/programe/app/static/ckeditor/plugins/smiley/images/regular_smile.gif -------------------------------------------------------------------------------- /programe/app/static/ckeditor/plugins/smiley/images/regular_smile.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunshine-sjd/MyFirstBlog/a8c2a889e4c725e73be5e033b90775200c066bbe/programe/app/static/ckeditor/plugins/smiley/images/regular_smile.png -------------------------------------------------------------------------------- /programe/app/static/ckeditor/plugins/smiley/images/sad_smile.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunshine-sjd/MyFirstBlog/a8c2a889e4c725e73be5e033b90775200c066bbe/programe/app/static/ckeditor/plugins/smiley/images/sad_smile.gif -------------------------------------------------------------------------------- /programe/app/static/ckeditor/plugins/smiley/images/sad_smile.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunshine-sjd/MyFirstBlog/a8c2a889e4c725e73be5e033b90775200c066bbe/programe/app/static/ckeditor/plugins/smiley/images/sad_smile.png -------------------------------------------------------------------------------- /programe/app/static/ckeditor/plugins/smiley/images/shades_smile.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunshine-sjd/MyFirstBlog/a8c2a889e4c725e73be5e033b90775200c066bbe/programe/app/static/ckeditor/plugins/smiley/images/shades_smile.gif -------------------------------------------------------------------------------- /programe/app/static/ckeditor/plugins/smiley/images/shades_smile.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunshine-sjd/MyFirstBlog/a8c2a889e4c725e73be5e033b90775200c066bbe/programe/app/static/ckeditor/plugins/smiley/images/shades_smile.png -------------------------------------------------------------------------------- /programe/app/static/ckeditor/plugins/smiley/images/teeth_smile.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunshine-sjd/MyFirstBlog/a8c2a889e4c725e73be5e033b90775200c066bbe/programe/app/static/ckeditor/plugins/smiley/images/teeth_smile.gif -------------------------------------------------------------------------------- /programe/app/static/ckeditor/plugins/smiley/images/teeth_smile.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunshine-sjd/MyFirstBlog/a8c2a889e4c725e73be5e033b90775200c066bbe/programe/app/static/ckeditor/plugins/smiley/images/teeth_smile.png -------------------------------------------------------------------------------- /programe/app/static/ckeditor/plugins/smiley/images/thumbs_down.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunshine-sjd/MyFirstBlog/a8c2a889e4c725e73be5e033b90775200c066bbe/programe/app/static/ckeditor/plugins/smiley/images/thumbs_down.gif -------------------------------------------------------------------------------- /programe/app/static/ckeditor/plugins/smiley/images/thumbs_down.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunshine-sjd/MyFirstBlog/a8c2a889e4c725e73be5e033b90775200c066bbe/programe/app/static/ckeditor/plugins/smiley/images/thumbs_down.png -------------------------------------------------------------------------------- /programe/app/static/ckeditor/plugins/smiley/images/thumbs_up.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunshine-sjd/MyFirstBlog/a8c2a889e4c725e73be5e033b90775200c066bbe/programe/app/static/ckeditor/plugins/smiley/images/thumbs_up.gif -------------------------------------------------------------------------------- /programe/app/static/ckeditor/plugins/smiley/images/thumbs_up.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunshine-sjd/MyFirstBlog/a8c2a889e4c725e73be5e033b90775200c066bbe/programe/app/static/ckeditor/plugins/smiley/images/thumbs_up.png -------------------------------------------------------------------------------- /programe/app/static/ckeditor/plugins/smiley/images/tongue_smile.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunshine-sjd/MyFirstBlog/a8c2a889e4c725e73be5e033b90775200c066bbe/programe/app/static/ckeditor/plugins/smiley/images/tongue_smile.gif -------------------------------------------------------------------------------- /programe/app/static/ckeditor/plugins/smiley/images/tongue_smile.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunshine-sjd/MyFirstBlog/a8c2a889e4c725e73be5e033b90775200c066bbe/programe/app/static/ckeditor/plugins/smiley/images/tongue_smile.png -------------------------------------------------------------------------------- /programe/app/static/ckeditor/plugins/smiley/images/tounge_smile.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunshine-sjd/MyFirstBlog/a8c2a889e4c725e73be5e033b90775200c066bbe/programe/app/static/ckeditor/plugins/smiley/images/tounge_smile.gif -------------------------------------------------------------------------------- /programe/app/static/ckeditor/plugins/smiley/images/whatchutalkingabout_smile.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunshine-sjd/MyFirstBlog/a8c2a889e4c725e73be5e033b90775200c066bbe/programe/app/static/ckeditor/plugins/smiley/images/whatchutalkingabout_smile.gif -------------------------------------------------------------------------------- /programe/app/static/ckeditor/plugins/smiley/images/whatchutalkingabout_smile.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunshine-sjd/MyFirstBlog/a8c2a889e4c725e73be5e033b90775200c066bbe/programe/app/static/ckeditor/plugins/smiley/images/whatchutalkingabout_smile.png -------------------------------------------------------------------------------- /programe/app/static/ckeditor/plugins/smiley/images/wink_smile.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunshine-sjd/MyFirstBlog/a8c2a889e4c725e73be5e033b90775200c066bbe/programe/app/static/ckeditor/plugins/smiley/images/wink_smile.gif -------------------------------------------------------------------------------- /programe/app/static/ckeditor/plugins/smiley/images/wink_smile.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunshine-sjd/MyFirstBlog/a8c2a889e4c725e73be5e033b90775200c066bbe/programe/app/static/ckeditor/plugins/smiley/images/wink_smile.png -------------------------------------------------------------------------------- /programe/app/static/ckeditor/plugins/specialchar/dialogs/lang/_translationstatus.txt: -------------------------------------------------------------------------------- 1 | Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. 2 | For licensing, see LICENSE.md or http://ckeditor.com/license 3 | 4 | cs.js Found: 118 Missing: 0 5 | cy.js Found: 118 Missing: 0 6 | de.js Found: 118 Missing: 0 7 | el.js Found: 16 Missing: 102 8 | eo.js Found: 118 Missing: 0 9 | et.js Found: 31 Missing: 87 10 | fa.js Found: 24 Missing: 94 11 | fi.js Found: 23 Missing: 95 12 | fr.js Found: 118 Missing: 0 13 | hr.js Found: 23 Missing: 95 14 | it.js Found: 118 Missing: 0 15 | nb.js Found: 118 Missing: 0 16 | nl.js Found: 118 Missing: 0 17 | no.js Found: 118 Missing: 0 18 | tr.js Found: 118 Missing: 0 19 | ug.js Found: 39 Missing: 79 20 | zh-cn.js Found: 118 Missing: 0 21 | -------------------------------------------------------------------------------- /programe/app/static/ckeditor/plugins/specialchar/dialogs/lang/ja.js: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. 3 | For licensing, see LICENSE.md or http://ckeditor.com/license 4 | */ 5 | CKEDITOR.plugins.setLang("specialchar","ja",{euro:"ユーロ記号",lsquo:"左シングル引用符",rsquo:"右シングル引用符",ldquo:"左ダブル引用符",rdquo:"右ダブル引用符",ndash:"半角ダッシュ",mdash:"全角ダッシュ",iexcl:"逆さ感嘆符",cent:"セント記号",pound:"ポンド記号",curren:"通貨記号",yen:"円記号",brvbar:"上下に分かれた縦棒",sect:"節記号",uml:"分音記号(ウムラウト)",copy:"著作権表示記号",ordf:"女性序数標識",laquo:" 始め二重山括弧引用記号",not:"論理否定記号",reg:"登録商標記号",macr:"長音符",deg:"度記号",sup2:"上つき2, 2乗",sup3:"上つき3, 3乗",acute:"揚音符",micro:"ミクロン記号",para:"段落記号",middot:"中黒",cedil:"セディラ",sup1:"上つき1",ordm:"男性序数標識",raquo:"終わり二重山括弧引用記号", 6 | frac14:"四分の一",frac12:"二分の一",frac34:"四分の三",iquest:"逆疑問符",Agrave:"抑音符つき大文字A",Aacute:"揚音符つき大文字A",Acirc:"曲折アクセントつき大文字A",Atilde:"チルダつき大文字A",Auml:"分音記号つき大文字A",Aring:"リングつき大文字A",AElig:"AとEの合字",Ccedil:"セディラつき大文字C",Egrave:"抑音符つき大文字E",Eacute:"揚音符つき大文字E",Ecirc:"曲折アクセントつき大文字E",Euml:"分音記号つき大文字E",Igrave:"抑音符つき大文字I",Iacute:"揚音符つき大文字I",Icirc:"曲折アクセントつき大文字I",Iuml:"分音記号つき大文字I",ETH:"[アイスランド語]大文字ETH",Ntilde:"チルダつき大文字N",Ograve:"抑音符つき大文字O",Oacute:"揚音符つき大文字O",Ocirc:"曲折アクセントつき大文字O",Otilde:"チルダつき大文字O",Ouml:" 分音記号つき大文字O", 7 | times:"乗算記号",Oslash:"打ち消し線つき大文字O",Ugrave:"抑音符つき大文字U",Uacute:"揚音符つき大文字U",Ucirc:"曲折アクセントつき大文字U",Uuml:"分音記号つき大文字U",Yacute:"揚音符つき大文字Y",THORN:"[アイスランド語]大文字THORN",szlig:"ドイツ語エスツェット",agrave:"抑音符つき小文字a",aacute:"揚音符つき小文字a",acirc:"曲折アクセントつき小文字a",atilde:"チルダつき小文字a",auml:"分音記号つき小文字a",aring:"リングつき小文字a",aelig:"aとeの合字",ccedil:"セディラつき小文字c",egrave:"抑音符つき小文字e",eacute:"揚音符つき小文字e",ecirc:"曲折アクセントつき小文字e",euml:"分音記号つき小文字e",igrave:"抑音符つき小文字i",iacute:"揚音符つき小文字i",icirc:"曲折アクセントつき小文字i",iuml:"分音記号つき小文字i",eth:"アイスランド語小文字eth", 8 | ntilde:"チルダつき小文字n",ograve:"抑音符つき小文字o",oacute:"揚音符つき小文字o",ocirc:"曲折アクセントつき小文字o",otilde:"チルダつき小文字o",ouml:"分音記号つき小文字o",divide:"除算記号",oslash:"打ち消し線つき小文字o",ugrave:"抑音符つき小文字u",uacute:"揚音符つき小文字u",ucirc:"曲折アクセントつき小文字u",uuml:"分音記号つき小文字u",yacute:"揚音符つき小文字y",thorn:"アイスランド語小文字thorn",yuml:"分音記号つき小文字y",OElig:"OとEの合字",oelig:"oとeの合字",372:"曲折アクセントつき大文字W",374:"曲折アクセントつき大文字Y",373:"曲折アクセントつき小文字w",375:"曲折アクセントつき小文字y",sbquo:"シングル下引用符",8219:"左右逆の左引用符",bdquo:"ダブル下引用符",hellip:"三点リーダ",trade:"商標記号",9658:"右黒三角ポインタ",bull:"黒丸", 9 | rarr:"右矢印",rArr:"右二重矢印",hArr:"左右二重矢印",diams:"ダイヤ",asymp:"漸近"}); -------------------------------------------------------------------------------- /programe/app/static/ckeditor/plugins/specialchar/dialogs/lang/zh-cn.js: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. 3 | For licensing, see LICENSE.md or http://ckeditor.com/license 4 | */ 5 | CKEDITOR.plugins.setLang("specialchar","zh-cn",{euro:"欧元符号",lsquo:"左单引号",rsquo:"右单引号",ldquo:"左双引号",rdquo:"右双引号",ndash:"短划线",mdash:"长划线",iexcl:"竖翻叹号",cent:"分币符号",pound:"英镑符号",curren:"货币符号",yen:"日元符号",brvbar:"间断条",sect:"节标记",uml:"分音符",copy:"版权所有标记",ordf:"阴性顺序指示符",laquo:"左指双尖引号",not:"非标记",reg:"注册标记",macr:"长音符",deg:"度标记",sup2:"上标二",sup3:"上标三",acute:"锐音符",micro:"微符",para:"段落标记",middot:"中间点",cedil:"下加符",sup1:"上标一",ordm:"阳性顺序指示符",raquo:"右指双尖引号",frac14:"普通分数四分之一",frac12:"普通分数二分之一",frac34:"普通分数四分之三",iquest:"竖翻问号", 6 | Agrave:"带抑音符的拉丁文大写字母 A",Aacute:"带锐音符的拉丁文大写字母 A",Acirc:"带扬抑符的拉丁文大写字母 A",Atilde:"带颚化符的拉丁文大写字母 A",Auml:"带分音符的拉丁文大写字母 A",Aring:"带上圆圈的拉丁文大写字母 A",AElig:"拉丁文大写字母 Ae",Ccedil:"带下加符的拉丁文大写字母 C",Egrave:"带抑音符的拉丁文大写字母 E",Eacute:"带锐音符的拉丁文大写字母 E",Ecirc:"带扬抑符的拉丁文大写字母 E",Euml:"带分音符的拉丁文大写字母 E",Igrave:"带抑音符的拉丁文大写字母 I",Iacute:"带锐音符的拉丁文大写字母 I",Icirc:"带扬抑符的拉丁文大写字母 I",Iuml:"带分音符的拉丁文大写字母 I",ETH:"拉丁文大写字母 Eth",Ntilde:"带颚化符的拉丁文大写字母 N",Ograve:"带抑音符的拉丁文大写字母 O",Oacute:"带锐音符的拉丁文大写字母 O",Ocirc:"带扬抑符的拉丁文大写字母 O",Otilde:"带颚化符的拉丁文大写字母 O", 7 | Ouml:"带分音符的拉丁文大写字母 O",times:"乘号",Oslash:"带粗线的拉丁文大写字母 O",Ugrave:"带抑音符的拉丁文大写字母 U",Uacute:"带锐音符的拉丁文大写字母 U",Ucirc:"带扬抑符的拉丁文大写字母 U",Uuml:"带分音符的拉丁文大写字母 U",Yacute:"带抑音符的拉丁文大写字母 Y",THORN:"拉丁文大写字母 Thorn",szlig:"拉丁文小写字母清音 S",agrave:"带抑音符的拉丁文小写字母 A",aacute:"带锐音符的拉丁文小写字母 A",acirc:"带扬抑符的拉丁文小写字母 A",atilde:"带颚化符的拉丁文小写字母 A",auml:"带分音符的拉丁文小写字母 A",aring:"带上圆圈的拉丁文小写字母 A",aelig:"拉丁文小写字母 Ae",ccedil:"带下加符的拉丁文小写字母 C",egrave:"带抑音符的拉丁文小写字母 E",eacute:"带锐音符的拉丁文小写字母 E",ecirc:"带扬抑符的拉丁文小写字母 E",euml:"带分音符的拉丁文小写字母 E",igrave:"带抑音符的拉丁文小写字母 I", 8 | iacute:"带锐音符的拉丁文小写字母 I",icirc:"带扬抑符的拉丁文小写字母 I",iuml:"带分音符的拉丁文小写字母 I",eth:"拉丁文小写字母 Eth",ntilde:"带颚化符的拉丁文小写字母 N",ograve:"带抑音符的拉丁文小写字母 O",oacute:"带锐音符的拉丁文小写字母 O",ocirc:"带扬抑符的拉丁文小写字母 O",otilde:"带颚化符的拉丁文小写字母 O",ouml:"带分音符的拉丁文小写字母 O",divide:"除号",oslash:"带粗线的拉丁文小写字母 O",ugrave:"带抑音符的拉丁文小写字母 U",uacute:"带锐音符的拉丁文小写字母 U",ucirc:"带扬抑符的拉丁文小写字母 U",uuml:"带分音符的拉丁文小写字母 U",yacute:"带抑音符的拉丁文小写字母 Y",thorn:"拉丁文小写字母 Thorn",yuml:"带分音符的拉丁文小写字母 Y",OElig:"拉丁文大写连字 Oe",oelig:"拉丁文小写连字 Oe",372:"带扬抑符的拉丁文大写字母 W",374:"带扬抑符的拉丁文大写字母 Y", 9 | 373:"带扬抑符的拉丁文小写字母 W",375:"带扬抑符的拉丁文小写字母 Y",sbquo:"单下 9 形引号",8219:"单高横翻 9 形引号",bdquo:"双下 9 形引号",hellip:"水平省略号",trade:"商标标志",9658:"实心右指指针",bull:"加重号",rarr:"向右箭头",rArr:"向右双线箭头",hArr:"左右双线箭头",diams:"实心方块纸牌",asymp:"约等于"}); -------------------------------------------------------------------------------- /programe/app/static/ckeditor/plugins/specialchar/dialogs/lang/zh.js: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. 3 | For licensing, see LICENSE.md or http://ckeditor.com/license 4 | */ 5 | CKEDITOR.plugins.setLang("specialchar","zh",{euro:"歐元符號",lsquo:"左單引號",rsquo:"右單引號",ldquo:"左雙引號",rdquo:"右雙引號",ndash:"短破折號",mdash:"長破折號",iexcl:"倒置的驚嘆號",cent:"美分符號",pound:"英鎊符號",curren:"貨幣符號",yen:"日圓符號",brvbar:"破折號",sect:"章節符號",uml:"分音符號",copy:"版權符號",ordf:"雌性符號",laquo:"左雙角括號",not:"Not 符號",reg:"註冊商標符號",macr:"長音符號",deg:"度數符號",sup2:"上標字 2",sup3:"上標字 3",acute:"尖音符號",micro:"微",para:"段落符號",middot:"中間點",cedil:"字母 C 下面的尾型符號 ",sup1:"上標",ordm:"雄性符號",raquo:"右雙角括號",frac14:"四分之一符號",frac12:"二分之一符號",frac34:"四分之三符號", 6 | iquest:"倒置的問號",Agrave:"拉丁大寫字母 A 帶抑音符號",Aacute:"拉丁大寫字母 A 帶尖音符號",Acirc:"拉丁大寫字母 A 帶揚抑符",Atilde:"拉丁大寫字母 A 帶波浪號",Auml:"拉丁大寫字母 A 帶分音符號",Aring:"拉丁大寫字母 A 帶上圓圈",AElig:"拉丁大寫字母 Æ",Ccedil:"拉丁大寫字母 C 帶下尾符號",Egrave:"拉丁大寫字母 E 帶抑音符號",Eacute:"拉丁大寫字母 E 帶尖音符號",Ecirc:"拉丁大寫字母 E 帶揚抑符",Euml:"拉丁大寫字母 E 帶分音符號",Igrave:"拉丁大寫字母 I 帶抑音符號",Iacute:"拉丁大寫字母 I 帶尖音符號",Icirc:"拉丁大寫字母 I 帶揚抑符",Iuml:"拉丁大寫字母 I 帶分音符號",ETH:"拉丁大寫字母 Eth",Ntilde:"拉丁大寫字母 N 帶波浪號",Ograve:"拉丁大寫字母 O 帶抑音符號",Oacute:"拉丁大寫字母 O 帶尖音符號",Ocirc:"拉丁大寫字母 O 帶揚抑符",Otilde:"拉丁大寫字母 O 帶波浪號", 7 | Ouml:"拉丁大寫字母 O 帶分音符號",times:"乘號",Oslash:"拉丁大寫字母 O 帶粗線符號",Ugrave:"拉丁大寫字母 U 帶抑音符號",Uacute:"拉丁大寫字母 U 帶尖音符號",Ucirc:"拉丁大寫字母 U 帶揚抑符",Uuml:"拉丁大寫字母 U 帶分音符號",Yacute:"拉丁大寫字母 Y 帶尖音符號",THORN:"拉丁大寫字母 Thorn",szlig:"拉丁小寫字母 s",agrave:"拉丁小寫字母 a 帶抑音符號",aacute:"拉丁小寫字母 a 帶尖音符號",acirc:"拉丁小寫字母 a 帶揚抑符",atilde:"拉丁小寫字母 a 帶波浪號",auml:"拉丁小寫字母 a 帶分音符號",aring:"拉丁小寫字母 a 帶上圓圈",aelig:"拉丁小寫字母 æ",ccedil:"拉丁小寫字母 c 帶下尾符號",egrave:"拉丁小寫字母 e 帶抑音符號",eacute:"拉丁小寫字母 e 帶尖音符號",ecirc:"拉丁小寫字母 e 帶揚抑符",euml:"拉丁小寫字母 e 帶分音符號",igrave:"拉丁小寫字母 i 帶抑音符號", 8 | iacute:"拉丁小寫字母 i 帶尖音符號",icirc:"拉丁小寫字母 i 帶揚抑符",iuml:"拉丁小寫字母 i 帶分音符號",eth:"拉丁小寫字母 eth",ntilde:"拉丁小寫字母 n 帶波浪號",ograve:"拉丁小寫字母 o 帶抑音符號",oacute:"拉丁小寫字母 o 帶尖音符號",ocirc:"拉丁小寫字母 o 帶揚抑符",otilde:"拉丁小寫字母 o 帶波浪號",ouml:"拉丁小寫字母 o 帶分音符號",divide:"除號",oslash:"拉丁小寫字母 o 帶粗線符號",ugrave:"拉丁小寫字母 u 帶抑音符號",uacute:"拉丁小寫字母 u 帶尖音符號",ucirc:"拉丁小寫字母 u 帶揚抑符",uuml:"拉丁小寫字母 u 帶分音符號",yacute:"拉丁小寫字母 y 帶尖音符號",thorn:"拉丁小寫字母 thorn",yuml:"拉丁小寫字母 y 帶分音符號",OElig:"拉丁大寫字母 OE",oelig:"拉丁小寫字母 oe",372:"拉丁大寫字母 W 帶揚抑符",374:"拉丁大寫字母 Y 帶揚抑符",373:"拉丁小寫字母 w 帶揚抑符", 9 | 375:"拉丁小寫字母 y 帶揚抑符",sbquo:"低 9 單引號",8219:"高 9 反轉單引號",bdquo:"低 9 雙引號",hellip:"水平刪節號",trade:"商標符號",9658:"黑色向右指箭號",bull:"項目符號",rarr:"向右箭號",rArr:"向右雙箭號",hArr:"左右雙箭號",diams:"黑鑽套裝",asymp:"約等於"}); -------------------------------------------------------------------------------- /programe/app/static/ckeditor/plugins/templates/dialogs/templates.css: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. 3 | For licensing, see LICENSE.md or http://ckeditor.com/license 4 | */ 5 | 6 | .cke_tpl_list 7 | { 8 | border: #dcdcdc 2px solid; 9 | background-color: #ffffff; 10 | overflow-y: auto; 11 | overflow-x: hidden; 12 | width: 100%; 13 | height: 220px; 14 | } 15 | 16 | .cke_tpl_item 17 | { 18 | margin: 5px; 19 | padding: 7px; 20 | border: #eeeeee 1px solid; 21 | *width: 88%; 22 | } 23 | 24 | .cke_tpl_preview 25 | { 26 | border-collapse: separate; 27 | text-indent:0; 28 | width: 100%; 29 | } 30 | .cke_tpl_preview td 31 | { 32 | padding: 2px; 33 | vertical-align: middle; 34 | } 35 | .cke_tpl_preview .cke_tpl_preview_img 36 | { 37 | width: 100px; 38 | } 39 | .cke_tpl_preview span 40 | { 41 | white-space: normal; 42 | } 43 | 44 | .cke_tpl_title 45 | { 46 | font-weight: bold; 47 | } 48 | 49 | .cke_tpl_list a:hover .cke_tpl_item, 50 | .cke_tpl_list a:focus .cke_tpl_item, 51 | .cke_tpl_list a:active .cke_tpl_item 52 | { 53 | border: #ff9933 1px solid; 54 | background-color: #fffacd; 55 | } 56 | 57 | .cke_tpl_list a:hover *, 58 | .cke_tpl_list a:focus *, 59 | .cke_tpl_list a:active * 60 | { 61 | cursor: pointer; 62 | } 63 | 64 | /* IE Quirks contextual selectors children will not get :hover transition until 65 | the hover style of the link itself contains certain CSS declarations. */ 66 | .cke_browser_quirks .cke_tpl_list a:active, 67 | .cke_browser_quirks .cke_tpl_list a:hover, 68 | .cke_browser_quirks .cke_tpl_list a:focus 69 | { 70 | background-position: 0 0; 71 | } 72 | 73 | .cke_hc .cke_tpl_list a:hover .cke_tpl_item, 74 | .cke_hc .cke_tpl_list a:focus .cke_tpl_item, 75 | .cke_hc .cke_tpl_list a:active .cke_tpl_item 76 | { 77 | border-width: 3px; 78 | } 79 | 80 | .cke_tpl_empty, .cke_tpl_loading 81 | { 82 | text-align: center; 83 | padding: 5px; 84 | } 85 | -------------------------------------------------------------------------------- /programe/app/static/ckeditor/plugins/templates/templates/default.js: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. 3 | For licensing, see LICENSE.md or http://ckeditor.com/license 4 | */ 5 | CKEDITOR.addTemplates("default",{imagesPath:CKEDITOR.getUrl(CKEDITOR.plugins.getPath("templates")+"templates/images/"),templates:[{title:"Image and Title",image:"template1.gif",description:"One main image with a title and text that surround the image.",html:'\x3ch3\x3e\x3cimg src\x3d" " alt\x3d"" style\x3d"margin-right: 10px" height\x3d"100" width\x3d"100" align\x3d"left" /\x3eType the title here\x3c/h3\x3e\x3cp\x3eType the text here\x3c/p\x3e'},{title:"Strange Template",image:"template2.gif",description:"A template that defines two colums, each one with a title, and some text.", 6 | html:'\x3ctable cellspacing\x3d"0" cellpadding\x3d"0" style\x3d"width:100%" border\x3d"0"\x3e\x3ctr\x3e\x3ctd style\x3d"width:50%"\x3e\x3ch3\x3eTitle 1\x3c/h3\x3e\x3c/td\x3e\x3ctd\x3e\x3c/td\x3e\x3ctd style\x3d"width:50%"\x3e\x3ch3\x3eTitle 2\x3c/h3\x3e\x3c/td\x3e\x3c/tr\x3e\x3ctr\x3e\x3ctd\x3eText 1\x3c/td\x3e\x3ctd\x3e\x3c/td\x3e\x3ctd\x3eText 2\x3c/td\x3e\x3c/tr\x3e\x3c/table\x3e\x3cp\x3eMore text goes here.\x3c/p\x3e'},{title:"Text and Table",image:"template3.gif",description:"A title with some text and a table.", 7 | html:'\x3cdiv style\x3d"width: 80%"\x3e\x3ch3\x3eTitle goes here\x3c/h3\x3e\x3ctable style\x3d"width:150px;float: right" cellspacing\x3d"0" cellpadding\x3d"0" border\x3d"1"\x3e\x3ccaption style\x3d"border:solid 1px black"\x3e\x3cstrong\x3eTable title\x3c/strong\x3e\x3c/caption\x3e\x3ctr\x3e\x3ctd\x3e\x26nbsp;\x3c/td\x3e\x3ctd\x3e\x26nbsp;\x3c/td\x3e\x3ctd\x3e\x26nbsp;\x3c/td\x3e\x3c/tr\x3e\x3ctr\x3e\x3ctd\x3e\x26nbsp;\x3c/td\x3e\x3ctd\x3e\x26nbsp;\x3c/td\x3e\x3ctd\x3e\x26nbsp;\x3c/td\x3e\x3c/tr\x3e\x3ctr\x3e\x3ctd\x3e\x26nbsp;\x3c/td\x3e\x3ctd\x3e\x26nbsp;\x3c/td\x3e\x3ctd\x3e\x26nbsp;\x3c/td\x3e\x3c/tr\x3e\x3c/table\x3e\x3cp\x3eType the text here\x3c/p\x3e\x3c/div\x3e'}]}); -------------------------------------------------------------------------------- /programe/app/static/ckeditor/plugins/templates/templates/images/template1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunshine-sjd/MyFirstBlog/a8c2a889e4c725e73be5e033b90775200c066bbe/programe/app/static/ckeditor/plugins/templates/templates/images/template1.gif -------------------------------------------------------------------------------- /programe/app/static/ckeditor/plugins/templates/templates/images/template2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunshine-sjd/MyFirstBlog/a8c2a889e4c725e73be5e033b90775200c066bbe/programe/app/static/ckeditor/plugins/templates/templates/images/template2.gif -------------------------------------------------------------------------------- /programe/app/static/ckeditor/plugins/templates/templates/images/template3.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunshine-sjd/MyFirstBlog/a8c2a889e4c725e73be5e033b90775200c066bbe/programe/app/static/ckeditor/plugins/templates/templates/images/template3.gif -------------------------------------------------------------------------------- /programe/app/static/ckeditor/plugins/wsc/LICENSE.md: -------------------------------------------------------------------------------- 1 | Software License Agreement 2 | ========================== 3 | 4 | **CKEditor WSC Plugin** 5 | Copyright © 2012, [CKSource](http://cksource.com) - Frederico Knabben. All rights reserved. 6 | 7 | Licensed under the terms of any of the following licenses at your choice: 8 | 9 | * GNU General Public License Version 2 or later (the "GPL"): 10 | http://www.gnu.org/licenses/gpl.html 11 | 12 | * GNU Lesser General Public License Version 2.1 or later (the "LGPL"): 13 | http://www.gnu.org/licenses/lgpl.html 14 | 15 | * Mozilla Public License Version 1.1 or later (the "MPL"): 16 | http://www.mozilla.org/MPL/MPL-1.1.html 17 | 18 | You are not required to, but if you want to explicitly declare the license you have chosen to be bound to when using, reproducing, modifying and distributing this software, just include a text file titled "legal.txt" in your version of this software, indicating your license choice. 19 | 20 | Sources of Intellectual Property Included in this plugin 21 | -------------------------------------------------------- 22 | 23 | Where not otherwise indicated, all plugin content is authored by CKSource engineers and consists of CKSource-owned intellectual property. In some specific instances, the plugin will incorporate work done by developers outside of CKSource with their express permission. 24 | 25 | Trademarks 26 | ---------- 27 | 28 | CKEditor is a trademark of CKSource - Frederico Knabben. All other brand and product names are trademarks, registered trademarks or service marks of their respective holders. 29 | -------------------------------------------------------------------------------- /programe/app/static/ckeditor/plugins/wsc/README.md: -------------------------------------------------------------------------------- 1 | CKEditor WebSpellChecker Plugin 2 | =============================== 3 | 4 | This plugin brings Web Spell Checker (WSC) into CKEditor. 5 | 6 | WSC is "installation-less", using the web-services of [WebSpellChecker.net](http://www.webspellchecker.net/). It's an out of the box solution. 7 | 8 | Installation 9 | ------------ 10 | 11 | 1. Clone/copy this repository contents in a new "plugins/wsc" folder in your CKEditor installation. 12 | 2. Enable the "wsc" plugin in the CKEditor configuration file (config.js): 13 | 14 | config.extraPlugins = 'wsc'; 15 | 16 | That's all. WSC will appear on the editor toolbar and will be ready to use. 17 | 18 | License 19 | ------- 20 | 21 | Licensed under the terms of any of the following licenses at your choice: [GPL](http://www.gnu.org/licenses/gpl.html), [LGPL](http://www.gnu.org/licenses/lgpl.html) and [MPL](http://www.mozilla.org/MPL/MPL-1.1.html). 22 | 23 | See LICENSE.md for more information. 24 | 25 | Developed in cooperation with [WebSpellChecker.net](http://www.webspellchecker.net/). 26 | -------------------------------------------------------------------------------- /programe/app/static/ckeditor/plugins/wsc/dialogs/ciframe.html: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 8 | 9 | 10 | 64 | 65 |

66 | 67 | -------------------------------------------------------------------------------- /programe/app/static/ckeditor/plugins/wsc/dialogs/tmpFrameset.html: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 8 | 9 | 10 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | -------------------------------------------------------------------------------- /programe/app/static/ckeditor/plugins/wsc/dialogs/wsc.css: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) 2003-2015, CKSource - Frederico Knabben. All rights reserved. 3 | For licensing, see LICENSE.html or http://ckeditor.com/license 4 | */ 5 | 6 | html, body 7 | { 8 | background-color: transparent; 9 | margin: 0px; 10 | padding: 0px; 11 | } 12 | 13 | body 14 | { 15 | padding: 10px; 16 | } 17 | 18 | body, td, input, select, textarea 19 | { 20 | font-size: 11px; 21 | font-family: 'Microsoft Sans Serif' , Arial, Helvetica, Verdana; 22 | } 23 | 24 | .midtext 25 | { 26 | padding:0px; 27 | margin:10px; 28 | } 29 | 30 | .midtext p 31 | { 32 | padding:0px; 33 | margin:10px; 34 | } 35 | 36 | .Button 37 | { 38 | border: #737357 1px solid; 39 | color: #3b3b1f; 40 | background-color: #c7c78f; 41 | } 42 | 43 | .PopupTabArea 44 | { 45 | color: #737357; 46 | background-color: #e3e3c7; 47 | } 48 | 49 | .PopupTitleBorder 50 | { 51 | border-bottom: #d5d59d 1px solid; 52 | } 53 | .PopupTabEmptyArea 54 | { 55 | padding-left: 10px; 56 | border-bottom: #d5d59d 1px solid; 57 | } 58 | 59 | .PopupTab, .PopupTabSelected 60 | { 61 | border-right: #d5d59d 1px solid; 62 | border-top: #d5d59d 1px solid; 63 | border-left: #d5d59d 1px solid; 64 | padding: 3px 5px 3px 5px; 65 | color: #737357; 66 | } 67 | 68 | .PopupTab 69 | { 70 | margin-top: 1px; 71 | border-bottom: #d5d59d 1px solid; 72 | cursor: pointer; 73 | } 74 | 75 | .PopupTabSelected 76 | { 77 | font-weight: bold; 78 | cursor: default; 79 | padding-top: 4px; 80 | border-bottom: #f1f1e3 1px solid; 81 | background-color: #f1f1e3; 82 | } 83 | -------------------------------------------------------------------------------- /programe/app/static/ckeditor/skins/moono/icons.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunshine-sjd/MyFirstBlog/a8c2a889e4c725e73be5e033b90775200c066bbe/programe/app/static/ckeditor/skins/moono/icons.png -------------------------------------------------------------------------------- /programe/app/static/ckeditor/skins/moono/icons_hidpi.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunshine-sjd/MyFirstBlog/a8c2a889e4c725e73be5e033b90775200c066bbe/programe/app/static/ckeditor/skins/moono/icons_hidpi.png -------------------------------------------------------------------------------- /programe/app/static/ckeditor/skins/moono/images/arrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunshine-sjd/MyFirstBlog/a8c2a889e4c725e73be5e033b90775200c066bbe/programe/app/static/ckeditor/skins/moono/images/arrow.png -------------------------------------------------------------------------------- /programe/app/static/ckeditor/skins/moono/images/close.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunshine-sjd/MyFirstBlog/a8c2a889e4c725e73be5e033b90775200c066bbe/programe/app/static/ckeditor/skins/moono/images/close.png -------------------------------------------------------------------------------- /programe/app/static/ckeditor/skins/moono/images/hidpi/close.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunshine-sjd/MyFirstBlog/a8c2a889e4c725e73be5e033b90775200c066bbe/programe/app/static/ckeditor/skins/moono/images/hidpi/close.png -------------------------------------------------------------------------------- /programe/app/static/ckeditor/skins/moono/images/hidpi/lock-open.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunshine-sjd/MyFirstBlog/a8c2a889e4c725e73be5e033b90775200c066bbe/programe/app/static/ckeditor/skins/moono/images/hidpi/lock-open.png -------------------------------------------------------------------------------- /programe/app/static/ckeditor/skins/moono/images/hidpi/lock.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunshine-sjd/MyFirstBlog/a8c2a889e4c725e73be5e033b90775200c066bbe/programe/app/static/ckeditor/skins/moono/images/hidpi/lock.png -------------------------------------------------------------------------------- /programe/app/static/ckeditor/skins/moono/images/hidpi/refresh.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunshine-sjd/MyFirstBlog/a8c2a889e4c725e73be5e033b90775200c066bbe/programe/app/static/ckeditor/skins/moono/images/hidpi/refresh.png -------------------------------------------------------------------------------- /programe/app/static/ckeditor/skins/moono/images/lock-open.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunshine-sjd/MyFirstBlog/a8c2a889e4c725e73be5e033b90775200c066bbe/programe/app/static/ckeditor/skins/moono/images/lock-open.png -------------------------------------------------------------------------------- /programe/app/static/ckeditor/skins/moono/images/lock.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunshine-sjd/MyFirstBlog/a8c2a889e4c725e73be5e033b90775200c066bbe/programe/app/static/ckeditor/skins/moono/images/lock.png -------------------------------------------------------------------------------- /programe/app/static/ckeditor/skins/moono/images/refresh.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunshine-sjd/MyFirstBlog/a8c2a889e4c725e73be5e033b90775200c066bbe/programe/app/static/ckeditor/skins/moono/images/refresh.png -------------------------------------------------------------------------------- /programe/app/static/ckeditor/skins/moono/images/spinner.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunshine-sjd/MyFirstBlog/a8c2a889e4c725e73be5e033b90775200c066bbe/programe/app/static/ckeditor/skins/moono/images/spinner.gif -------------------------------------------------------------------------------- /programe/app/static/ckeditor/skins/moono/readme.md: -------------------------------------------------------------------------------- 1 | "Moono" Skin 2 | ==================== 3 | 4 | This skin has been chosen for the **default skin** of CKEditor 4.x, elected from the CKEditor 5 | [skin contest](http://ckeditor.com/blog/new_ckeditor_4_skin) and further shaped by 6 | the CKEditor team. "Moono" is maintained by the core developers. 7 | 8 | For more information about skins, please check the [CKEditor Skin SDK](http://docs.cksource.com/CKEditor_4.x/Skin_SDK) 9 | documentation. 10 | 11 | Features 12 | ------------------- 13 | "Moono" is a monochromatic skin, which offers a modern look coupled with gradients and transparency. 14 | It comes with the following features: 15 | 16 | - Chameleon feature with brightness, 17 | - high-contrast compatibility, 18 | - graphics source provided in SVG. 19 | 20 | Directory Structure 21 | ------------------- 22 | 23 | CSS parts: 24 | - **editor.css**: the main CSS file. It's simply loading several other files, for easier maintenance, 25 | - **mainui.css**: the file contains styles of entire editor outline structures, 26 | - **toolbar.css**: the file contains styles of the editor toolbar space (top), 27 | - **richcombo.css**: the file contains styles of the rich combo ui elements on toolbar, 28 | - **panel.css**: the file contains styles of the rich combo drop-down, it's not loaded 29 | until the first panel open up, 30 | - **elementspath.css**: the file contains styles of the editor elements path bar (bottom), 31 | - **menu.css**: the file contains styles of all editor menus including context menu and button drop-down, 32 | it's not loaded until the first menu open up, 33 | - **dialog.css**: the CSS files for the dialog UI, it's not loaded until the first dialog open, 34 | - **reset.css**: the file defines the basis of style resets among all editor UI spaces, 35 | - **preset.css**: the file defines the default styles of some UI elements reflecting the skin preference, 36 | - **editor_XYZ.css** and **dialog_XYZ.css**: browser specific CSS hacks. 37 | 38 | Other parts: 39 | - **skin.js**: the only JavaScript part of the skin that registers the skin, its browser specific files and its icons and defines the Chameleon feature, 40 | - **icons/**: contains all skin defined icons, 41 | - **images/**: contains a fill general used images, 42 | - **dev/**: contains SVG source of the skin icons. 43 | 44 | License 45 | ------- 46 | 47 | Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. 48 | 49 | For licensing, see LICENSE.md or [http://ckeditor.com/license](http://ckeditor.com/license) 50 | -------------------------------------------------------------------------------- /programe/app/static/flat_ui/dist/css/vendor/bootstrap/fonts/glyphicons-halflings-regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunshine-sjd/MyFirstBlog/a8c2a889e4c725e73be5e033b90775200c066bbe/programe/app/static/flat_ui/dist/css/vendor/bootstrap/fonts/glyphicons-halflings-regular.eot -------------------------------------------------------------------------------- /programe/app/static/flat_ui/dist/css/vendor/bootstrap/fonts/glyphicons-halflings-regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunshine-sjd/MyFirstBlog/a8c2a889e4c725e73be5e033b90775200c066bbe/programe/app/static/flat_ui/dist/css/vendor/bootstrap/fonts/glyphicons-halflings-regular.ttf -------------------------------------------------------------------------------- /programe/app/static/flat_ui/dist/css/vendor/bootstrap/fonts/glyphicons-halflings-regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunshine-sjd/MyFirstBlog/a8c2a889e4c725e73be5e033b90775200c066bbe/programe/app/static/flat_ui/dist/css/vendor/bootstrap/fonts/glyphicons-halflings-regular.woff -------------------------------------------------------------------------------- /programe/app/static/flat_ui/dist/css/vendor/bootstrap/fonts/glyphicons-halflings-regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunshine-sjd/MyFirstBlog/a8c2a889e4c725e73be5e033b90775200c066bbe/programe/app/static/flat_ui/dist/css/vendor/bootstrap/fonts/glyphicons-halflings-regular.woff2 -------------------------------------------------------------------------------- /programe/app/static/flat_ui/dist/fonts/glyphicons/flat-ui-icons-regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunshine-sjd/MyFirstBlog/a8c2a889e4c725e73be5e033b90775200c066bbe/programe/app/static/flat_ui/dist/fonts/glyphicons/flat-ui-icons-regular.eot -------------------------------------------------------------------------------- /programe/app/static/flat_ui/dist/fonts/glyphicons/flat-ui-icons-regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunshine-sjd/MyFirstBlog/a8c2a889e4c725e73be5e033b90775200c066bbe/programe/app/static/flat_ui/dist/fonts/glyphicons/flat-ui-icons-regular.ttf -------------------------------------------------------------------------------- /programe/app/static/flat_ui/dist/fonts/glyphicons/flat-ui-icons-regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunshine-sjd/MyFirstBlog/a8c2a889e4c725e73be5e033b90775200c066bbe/programe/app/static/flat_ui/dist/fonts/glyphicons/flat-ui-icons-regular.woff -------------------------------------------------------------------------------- /programe/app/static/flat_ui/dist/fonts/lato/lato-black.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunshine-sjd/MyFirstBlog/a8c2a889e4c725e73be5e033b90775200c066bbe/programe/app/static/flat_ui/dist/fonts/lato/lato-black.eot -------------------------------------------------------------------------------- /programe/app/static/flat_ui/dist/fonts/lato/lato-black.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunshine-sjd/MyFirstBlog/a8c2a889e4c725e73be5e033b90775200c066bbe/programe/app/static/flat_ui/dist/fonts/lato/lato-black.ttf -------------------------------------------------------------------------------- /programe/app/static/flat_ui/dist/fonts/lato/lato-black.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunshine-sjd/MyFirstBlog/a8c2a889e4c725e73be5e033b90775200c066bbe/programe/app/static/flat_ui/dist/fonts/lato/lato-black.woff -------------------------------------------------------------------------------- /programe/app/static/flat_ui/dist/fonts/lato/lato-bold.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunshine-sjd/MyFirstBlog/a8c2a889e4c725e73be5e033b90775200c066bbe/programe/app/static/flat_ui/dist/fonts/lato/lato-bold.eot -------------------------------------------------------------------------------- /programe/app/static/flat_ui/dist/fonts/lato/lato-bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunshine-sjd/MyFirstBlog/a8c2a889e4c725e73be5e033b90775200c066bbe/programe/app/static/flat_ui/dist/fonts/lato/lato-bold.ttf -------------------------------------------------------------------------------- /programe/app/static/flat_ui/dist/fonts/lato/lato-bold.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunshine-sjd/MyFirstBlog/a8c2a889e4c725e73be5e033b90775200c066bbe/programe/app/static/flat_ui/dist/fonts/lato/lato-bold.woff -------------------------------------------------------------------------------- /programe/app/static/flat_ui/dist/fonts/lato/lato-bolditalic.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunshine-sjd/MyFirstBlog/a8c2a889e4c725e73be5e033b90775200c066bbe/programe/app/static/flat_ui/dist/fonts/lato/lato-bolditalic.eot -------------------------------------------------------------------------------- /programe/app/static/flat_ui/dist/fonts/lato/lato-bolditalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunshine-sjd/MyFirstBlog/a8c2a889e4c725e73be5e033b90775200c066bbe/programe/app/static/flat_ui/dist/fonts/lato/lato-bolditalic.ttf -------------------------------------------------------------------------------- /programe/app/static/flat_ui/dist/fonts/lato/lato-bolditalic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunshine-sjd/MyFirstBlog/a8c2a889e4c725e73be5e033b90775200c066bbe/programe/app/static/flat_ui/dist/fonts/lato/lato-bolditalic.woff -------------------------------------------------------------------------------- /programe/app/static/flat_ui/dist/fonts/lato/lato-italic.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunshine-sjd/MyFirstBlog/a8c2a889e4c725e73be5e033b90775200c066bbe/programe/app/static/flat_ui/dist/fonts/lato/lato-italic.eot -------------------------------------------------------------------------------- /programe/app/static/flat_ui/dist/fonts/lato/lato-italic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunshine-sjd/MyFirstBlog/a8c2a889e4c725e73be5e033b90775200c066bbe/programe/app/static/flat_ui/dist/fonts/lato/lato-italic.ttf -------------------------------------------------------------------------------- /programe/app/static/flat_ui/dist/fonts/lato/lato-italic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunshine-sjd/MyFirstBlog/a8c2a889e4c725e73be5e033b90775200c066bbe/programe/app/static/flat_ui/dist/fonts/lato/lato-italic.woff -------------------------------------------------------------------------------- /programe/app/static/flat_ui/dist/fonts/lato/lato-light.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunshine-sjd/MyFirstBlog/a8c2a889e4c725e73be5e033b90775200c066bbe/programe/app/static/flat_ui/dist/fonts/lato/lato-light.eot -------------------------------------------------------------------------------- /programe/app/static/flat_ui/dist/fonts/lato/lato-light.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunshine-sjd/MyFirstBlog/a8c2a889e4c725e73be5e033b90775200c066bbe/programe/app/static/flat_ui/dist/fonts/lato/lato-light.ttf -------------------------------------------------------------------------------- /programe/app/static/flat_ui/dist/fonts/lato/lato-light.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunshine-sjd/MyFirstBlog/a8c2a889e4c725e73be5e033b90775200c066bbe/programe/app/static/flat_ui/dist/fonts/lato/lato-light.woff -------------------------------------------------------------------------------- /programe/app/static/flat_ui/dist/fonts/lato/lato-regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunshine-sjd/MyFirstBlog/a8c2a889e4c725e73be5e033b90775200c066bbe/programe/app/static/flat_ui/dist/fonts/lato/lato-regular.eot -------------------------------------------------------------------------------- /programe/app/static/flat_ui/dist/fonts/lato/lato-regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunshine-sjd/MyFirstBlog/a8c2a889e4c725e73be5e033b90775200c066bbe/programe/app/static/flat_ui/dist/fonts/lato/lato-regular.ttf -------------------------------------------------------------------------------- /programe/app/static/flat_ui/dist/fonts/lato/lato-regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunshine-sjd/MyFirstBlog/a8c2a889e4c725e73be5e033b90775200c066bbe/programe/app/static/flat_ui/dist/fonts/lato/lato-regular.woff -------------------------------------------------------------------------------- /programe/app/static/flat_ui/dist/img/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunshine-sjd/MyFirstBlog/a8c2a889e4c725e73be5e033b90775200c066bbe/programe/app/static/flat_ui/dist/img/favicon.ico -------------------------------------------------------------------------------- /programe/app/static/flat_ui/dist/img/icons/png/Book.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunshine-sjd/MyFirstBlog/a8c2a889e4c725e73be5e033b90775200c066bbe/programe/app/static/flat_ui/dist/img/icons/png/Book.png -------------------------------------------------------------------------------- /programe/app/static/flat_ui/dist/img/icons/png/Calendar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunshine-sjd/MyFirstBlog/a8c2a889e4c725e73be5e033b90775200c066bbe/programe/app/static/flat_ui/dist/img/icons/png/Calendar.png -------------------------------------------------------------------------------- /programe/app/static/flat_ui/dist/img/icons/png/Chat.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunshine-sjd/MyFirstBlog/a8c2a889e4c725e73be5e033b90775200c066bbe/programe/app/static/flat_ui/dist/img/icons/png/Chat.png -------------------------------------------------------------------------------- /programe/app/static/flat_ui/dist/img/icons/png/Clipboard.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunshine-sjd/MyFirstBlog/a8c2a889e4c725e73be5e033b90775200c066bbe/programe/app/static/flat_ui/dist/img/icons/png/Clipboard.png -------------------------------------------------------------------------------- /programe/app/static/flat_ui/dist/img/icons/png/Compas.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunshine-sjd/MyFirstBlog/a8c2a889e4c725e73be5e033b90775200c066bbe/programe/app/static/flat_ui/dist/img/icons/png/Compas.png -------------------------------------------------------------------------------- /programe/app/static/flat_ui/dist/img/icons/png/Gift-Box.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunshine-sjd/MyFirstBlog/a8c2a889e4c725e73be5e033b90775200c066bbe/programe/app/static/flat_ui/dist/img/icons/png/Gift-Box.png -------------------------------------------------------------------------------- /programe/app/static/flat_ui/dist/img/icons/png/Infinity-Loop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunshine-sjd/MyFirstBlog/a8c2a889e4c725e73be5e033b90775200c066bbe/programe/app/static/flat_ui/dist/img/icons/png/Infinity-Loop.png -------------------------------------------------------------------------------- /programe/app/static/flat_ui/dist/img/icons/png/Mail.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunshine-sjd/MyFirstBlog/a8c2a889e4c725e73be5e033b90775200c066bbe/programe/app/static/flat_ui/dist/img/icons/png/Mail.png -------------------------------------------------------------------------------- /programe/app/static/flat_ui/dist/img/icons/png/Map.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunshine-sjd/MyFirstBlog/a8c2a889e4c725e73be5e033b90775200c066bbe/programe/app/static/flat_ui/dist/img/icons/png/Map.png -------------------------------------------------------------------------------- /programe/app/static/flat_ui/dist/img/icons/png/Pensils.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunshine-sjd/MyFirstBlog/a8c2a889e4c725e73be5e033b90775200c066bbe/programe/app/static/flat_ui/dist/img/icons/png/Pensils.png -------------------------------------------------------------------------------- /programe/app/static/flat_ui/dist/img/icons/png/Pocket.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunshine-sjd/MyFirstBlog/a8c2a889e4c725e73be5e033b90775200c066bbe/programe/app/static/flat_ui/dist/img/icons/png/Pocket.png -------------------------------------------------------------------------------- /programe/app/static/flat_ui/dist/img/icons/png/Retina-Ready.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunshine-sjd/MyFirstBlog/a8c2a889e4c725e73be5e033b90775200c066bbe/programe/app/static/flat_ui/dist/img/icons/png/Retina-Ready.png -------------------------------------------------------------------------------- /programe/app/static/flat_ui/dist/img/icons/png/Toilet-Paper.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunshine-sjd/MyFirstBlog/a8c2a889e4c725e73be5e033b90775200c066bbe/programe/app/static/flat_ui/dist/img/icons/png/Toilet-Paper.png -------------------------------------------------------------------------------- /programe/app/static/flat_ui/dist/img/icons/png/Watches.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunshine-sjd/MyFirstBlog/a8c2a889e4c725e73be5e033b90775200c066bbe/programe/app/static/flat_ui/dist/img/icons/png/Watches.png -------------------------------------------------------------------------------- /programe/app/static/flat_ui/dist/img/icons/svg/book.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /programe/app/static/flat_ui/dist/img/icons/svg/chat.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /programe/app/static/flat_ui/dist/img/icons/svg/clipboard.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /programe/app/static/flat_ui/dist/img/icons/svg/clocks.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /programe/app/static/flat_ui/dist/img/icons/svg/loop.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /programe/app/static/flat_ui/dist/img/icons/svg/mail.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /programe/app/static/flat_ui/dist/img/icons/svg/map.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /programe/app/static/flat_ui/dist/img/icons/svg/paper-bag.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /programe/app/static/flat_ui/dist/img/icons/svg/pencils.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /programe/app/static/flat_ui/dist/img/icons/svg/retina.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /programe/app/static/flat_ui/dist/img/icons/svg/toilet-paper.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /programe/app/static/flat_ui/dist/img/login/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunshine-sjd/MyFirstBlog/a8c2a889e4c725e73be5e033b90775200c066bbe/programe/app/static/flat_ui/dist/img/login/icon.png -------------------------------------------------------------------------------- /programe/app/static/flat_ui/dist/img/login/imac-2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunshine-sjd/MyFirstBlog/a8c2a889e4c725e73be5e033b90775200c066bbe/programe/app/static/flat_ui/dist/img/login/imac-2x.png -------------------------------------------------------------------------------- /programe/app/static/flat_ui/dist/img/login/imac.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunshine-sjd/MyFirstBlog/a8c2a889e4c725e73be5e033b90775200c066bbe/programe/app/static/flat_ui/dist/img/login/imac.png -------------------------------------------------------------------------------- /programe/app/static/flat_ui/dist/img/tile/ribbon-2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunshine-sjd/MyFirstBlog/a8c2a889e4c725e73be5e033b90775200c066bbe/programe/app/static/flat_ui/dist/img/tile/ribbon-2x.png -------------------------------------------------------------------------------- /programe/app/static/flat_ui/dist/img/tile/ribbon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunshine-sjd/MyFirstBlog/a8c2a889e4c725e73be5e033b90775200c066bbe/programe/app/static/flat_ui/dist/img/tile/ribbon.png -------------------------------------------------------------------------------- /programe/app/static/flat_ui/dist/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Flat UI Free 101 Template 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 21 | 22 | 23 |
24 |

Hello, world!

25 |
26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | -------------------------------------------------------------------------------- /programe/app/static/flat_ui/dist/js/vendor/video-js.swf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunshine-sjd/MyFirstBlog/a8c2a889e4c725e73be5e033b90775200c066bbe/programe/app/static/flat_ui/dist/js/vendor/video-js.swf -------------------------------------------------------------------------------- /programe/app/static/icon/icon_wrong.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunshine-sjd/MyFirstBlog/a8c2a889e4c725e73be5e033b90775200c066bbe/programe/app/static/icon/icon_wrong.png -------------------------------------------------------------------------------- /programe/app/static/readmore.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunshine-sjd/MyFirstBlog/a8c2a889e4c725e73be5e033b90775200c066bbe/programe/app/static/readmore.png -------------------------------------------------------------------------------- /programe/app/static/temple.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunshine-sjd/MyFirstBlog/a8c2a889e4c725e73be5e033b90775200c066bbe/programe/app/static/temple.ico -------------------------------------------------------------------------------- /programe/app/templates/404.html: -------------------------------------------------------------------------------- 1 | {% extends 'base.html' %} 2 | 3 | {% block page_content %} 4 |

Page not found!!!!!!

5 | {% endblock page_content %} -------------------------------------------------------------------------------- /programe/app/templates/500.html: -------------------------------------------------------------------------------- 1 | {% extends 'base.html' %} 2 | 3 | {% block page_content %} 4 |

Internal server error!

5 | {% endblock page_content %} -------------------------------------------------------------------------------- /programe/app/templates/_comments.html: -------------------------------------------------------------------------------- 1 | 36 | -------------------------------------------------------------------------------- /programe/app/templates/_macros.html: -------------------------------------------------------------------------------- 1 | {% macro pagination_widget(pagination, endpoint) %} 2 | 25 | {% endmacro %} -------------------------------------------------------------------------------- /programe/app/templates/_macros_for_category.html: -------------------------------------------------------------------------------- 1 | {% macro pagination_widget(pagination, endpoint, para) %} 2 | 25 | {% endmacro %} -------------------------------------------------------------------------------- /programe/app/templates/_macros_for_username.html: -------------------------------------------------------------------------------- 1 | {% macro pagination_widget(pagination, endpoint, para) %} 2 | 25 | {% endmacro %} -------------------------------------------------------------------------------- /programe/app/templates/auth/change_email.html: -------------------------------------------------------------------------------- 1 | {% extends 'base.html' %} 2 | {% block title %}修改邮箱|西楼{% endblock title %} 3 | 4 | {% block page_content %} 5 | 8 |
9 | {{ form.csrf_token }} 10 |
11 | {{ form.email.label(class='form-label h6') }} 12 | {{ form.email(class='form-control', placeholder='输入新邮箱') }} 13 | {% for error in form.email.errors %} 14 | 15 | {{ error }} 16 | {% endfor %} 17 |
18 |
19 | {{ form.password.label(class='form-label h6') }} 20 | {{ form.password(class='form-control', placeholder='输入新密码') }} 21 | {% for error in form.password.errors %} 22 | 23 | {{ error }} 24 | {% endfor %} 25 |
26 | {{ form.submit(class='btn btn-primary',style='margin-bottom:25px') }} 27 | {% endblock page_content %} -------------------------------------------------------------------------------- /programe/app/templates/auth/change_password.html: -------------------------------------------------------------------------------- 1 | {% extends 'base.html' %} 2 | {% block title %}修改密码-西楼{% endblock title %} 3 | 4 | {% block page_content %} 5 | 8 | 9 | {{ form.csrf_token }} 10 |
11 | {{ form.oldpassword.label(class='form-label h6') }} 12 | {{ form.oldpassword(class='form-control', placeholder='输入旧密码') }} 13 | {% for error in form.oldpassword.errors %} 14 | 15 | {{ error }} 16 | {% endfor %} 17 |
18 |
19 | {{ form.password.label(class='form-label h6') }} 20 | {{ form.password(class='form-control', placeholder='输入新密码') }} 21 | {% for error in form.password.errors %} 22 | 23 | {{ error }} 24 | {% endfor %} 25 |
26 |
27 | {{ form.password2.label(class='form-label h6') }} 28 | {{ form.password2(class='form-control', placeholder='再次输入新密码') }} 29 | {% for error in form.password2.errors %} 30 | 31 | {{ error }} 32 | {% endfor %} 33 |
34 | {{ form.submit(class='btn btn-primary',style='margin-bottom:25px') }} 35 |
36 | 37 | {% endblock page_content %} -------------------------------------------------------------------------------- /programe/app/templates/auth/email/change_email.html: -------------------------------------------------------------------------------- 1 |

Dear {{ user.username }},

2 |

Alternatively, you can paste the following link in your browser's address bar:

3 |

{{ url_for('auth.change_email', token=token, _external=True) }}

4 |

Sincerely,

5 |

The Flasky Team

6 |

Note: replies to this email address are not monitored.

7 | -------------------------------------------------------------------------------- /programe/app/templates/auth/email/change_email.txt: -------------------------------------------------------------------------------- 1 | Dear {{ user.username }}, 2 | 3 | To confirm your new email address click on the following link: 4 | 5 | {{ url_for('auth.change_email', token=token, _external=True) }} 6 | 7 | Sincerely, 8 | 9 | The Flasky Team 10 | 11 | Note: replies to this email address are not monitored. 12 | -------------------------------------------------------------------------------- /programe/app/templates/auth/email/confirm.html: -------------------------------------------------------------------------------- 1 | Dear {{ user.username }}, 2 | Welcome to Flasky! 3 | To confirm your account please click on the following link: 4 | {{ url_for('auth.confirm', token=token, _external=True) }} 5 | Sincerely, 6 | The SJD Team 7 | Note: replies to this email address are not monitored. -------------------------------------------------------------------------------- /programe/app/templates/auth/email/confirm.txt: -------------------------------------------------------------------------------- 1 | Dear {{ user.username }}, 2 | Welcome to Flasky! 3 | To confirm your account please click on the following link: 4 | {{ url_for('auth.confirm', token=token, _external=True) }} 5 | Sincerely, 6 | The SJD Team 7 | Note: replies to this email address are not monitored. -------------------------------------------------------------------------------- /programe/app/templates/auth/email/reset_password.html: -------------------------------------------------------------------------------- 1 | Dear {{ user.username }}, 2 | Your password reset link: 3 | {{ url_for('auth.reset_password', token=token, _external=True) }} 4 | Sincerely, 5 | The SJD Team 6 | Note: replies to this email address are not monitored. -------------------------------------------------------------------------------- /programe/app/templates/auth/email/reset_password.txt: -------------------------------------------------------------------------------- 1 | Dear {{ user.username }}, 2 | Your password reset link: 3 | {{ url_for('auth.reset_password', token=token, _external=True) }} 4 | Sincerely, 5 | The SJD Team 6 | Note: replies to this email address are not monitored. -------------------------------------------------------------------------------- /programe/app/templates/auth/login.html: -------------------------------------------------------------------------------- 1 | {% extends "base.html" %} 2 | {% block title %}登录|西楼 {% endblock title %} 3 | {% block page_content %} 4 |
5 |

登录

6 |
7 | {{ form.csrf_token }} 8 |
9 | {{ form.email.label(class='control-label h6') }} 10 | {{ form.email(class='form-control', placeholder='输入邮箱',style='width:50%') }} 11 | {% for error in form.email.errors %} 12 | 13 | {{ error }} 14 | 15 | {% endfor %} 16 |
17 |
18 | {{ form.password.label(class='control-label h6') }} 19 | {{ form.password(class='form-control', placeholder='输入密码',style='width:50%') }} 20 | {% for error in form.password.errors %} 21 | 22 | {{ error }} 23 | 24 | {% endfor %} 25 |
26 |
27 | {{ form.remember_me(class='checkox-inline',style='margin-right:5px') }}记住我 28 |
29 | {{ form.submit(class='btn btn-primary')}} 30 | 忘记密码? 31 |
32 | 注册新用户 33 |
34 | 35 | {% endblock page_content %} 36 | -------------------------------------------------------------------------------- /programe/app/templates/auth/register.html: -------------------------------------------------------------------------------- 1 | {% extends "base.html" %} 2 | {% import 'bootstrap/wtf.html' as wtf %} 3 | {% block title %}Flask-Register{% endblock title %} 4 | {% block page_content %} 5 |
6 |

注册

7 | {{wtf.quick_form(form)}} 8 |
9 | {% endblock page_content %} -------------------------------------------------------------------------------- /programe/app/templates/auth/reset_password.html: -------------------------------------------------------------------------------- 1 | {% extends "base.html" %} 2 | {% import 'bootstrap/wtf.html' as wtf %} 3 | {% block title %}Flask-Reset Password{% endblock title %} 4 | {% block page_content %} 5 |
6 |

重置密码

7 | {{wtf.quick_form(form)}} 8 |
9 | {% endblock page_content %} -------------------------------------------------------------------------------- /programe/app/templates/auth/reset_password_request.html: -------------------------------------------------------------------------------- 1 | {% extends 'base.html' %} 2 | {% import 'bootstrap/wtf.html' as wtf %} 3 | {% block title %}Flasky-Reset password{% endblock title %} 4 | 5 | {% block page_content %} 6 |
7 |

重置密码

8 | {{wtf.quick_form(form)}} 9 |
10 | {% endblock page_content %} -------------------------------------------------------------------------------- /programe/app/templates/auth/unconfirmed.html: -------------------------------------------------------------------------------- 1 | {% extends 'base.html' %} 2 | 3 | {% block title %}Flasky-confirmed your account{% endblock title %} 4 | 5 | {% block page_content %} 6 |

Hello {{current_user.username}}!

7 |

You have not confirmed your account yet.

8 |

Before you can access this site you need to confirmed your account.Check you email inbox,you should have received an email with a confirmed link.

9 |

Need another confirmed email?click here

10 | {% endblock page_content %} -------------------------------------------------------------------------------- /programe/app/templates/edit_post.html: -------------------------------------------------------------------------------- 1 | {% extends 'base.html'%} 2 | {% import "bootstrap/wtf.html" as wtf %} 3 | 4 | {% block title %}Flak-edit-post{% endblock title %} 5 | 6 | {% block page_content %} 7 | 10 |
11 | {{ wtf.quick_form(form)}} 12 |
13 | {% include '_post.html'%} 14 | {% endblock page_content %} 15 | 16 | {% block scripts %} 17 | {{super()}} 18 | {{ pagedown.include_pagedown() }} 19 | {% endblock scripts %} -------------------------------------------------------------------------------- /programe/app/templates/edit_profile.html: -------------------------------------------------------------------------------- 1 | {% extends 'base.html'%} 2 | {% import "bootstrap/wtf.html" as wtf %} 3 | 4 | {% block title %}Flak-edit-profile{% endblock title %} 5 | 6 | {% block page_content %} 7 | 10 | 11 |
12 | {{ wtf.quick_form(form)}} 13 |
14 | {% endblock page_content %} -------------------------------------------------------------------------------- /programe/app/templates/edit_profile_admin.html: -------------------------------------------------------------------------------- 1 | {% extends 'base.html'%} 2 | {% import "bootstrap/wtf.html" as wtf %} 3 | 4 | {% block title %}Flak-edit-profile-admin{% endblock title %} 5 | 6 | {% block page_content %} 7 | 10 | 11 |
12 | {{ wtf.quick_form(form)}} 13 |
14 | {% endblock page_content %} -------------------------------------------------------------------------------- /programe/app/templates/followers.html: -------------------------------------------------------------------------------- 1 | {% extends "base.html" %} 2 | {% import "_macros.html" as macros %} 3 | 4 | {% block title %}Flasky - {{ title }} {{ user.username }}{% endblock %} 5 | 6 | {% block page_content %} 7 | 10 | 11 | 12 | {% for follow in follows %} 13 | {% if current_user != follow.user %} 14 | 15 | 21 | 22 | 23 | {% endif %} 24 | {% endfor %} 25 |
UserSince
16 | 17 | 18 | {{ follow.user.username }} 19 | 20 | {{ moment(follow.timestamp).format('L') }}
26 | 29 | {% endblock %} -------------------------------------------------------------------------------- /programe/app/templates/index.html: -------------------------------------------------------------------------------- 1 | {% extends "base.html" %} 2 | {% import "_macros.html" as macros %} 3 | {% block title %}首页|西楼{% endblock title %} 4 | 5 | {% block page_content %} 6 |
7 |

欢迎回来 {% if current_user.is_authenticated %}{{current_user.username}} {% else %}{% endif %}

8 |
9 | {% if current_user.can(Permission.WRITE_ARTICLES) %} 10 |
11 | {{ form.csrf_token }} 12 |
13 | {{ form.title.label(class='control-label h6') }} 14 | {{ form.title(class='form-control', placeholder='输入标题', style='width:40%') }} 15 | {% for error in form.title.errors %} 16 | 17 | {{ error }} 18 | {% endfor %} 19 |
20 |
21 | {{ form.body.label(class='control-label h6') }} 22 | {{ form.body(class='form-control ckeditor', placeholder='输入文章') }} 23 | {% for error in form.body.errors %} 24 | 25 | {{ error }} 26 | {% endfor %} 27 |
28 |
29 | {{ form.category.label(class='control-label h6') }} 30 | {{ form.category(class='form-control input-sm', style='width:10%') }} 31 |
32 | {{ form.submit(class='btn btn-primary',style='margin-bottom:25px') }} 33 |
34 | {% endif %} 35 | 43 | {% include '_post.html' %} 44 |
45 | {{ macros.pagination_widget(pagination, "main.index")}} 46 |
47 | {% endblock page_content %} 48 | 49 | {% block scripts %} 50 | {{ super() }} 51 | 52 | 64 | {% endblock scripts %} -------------------------------------------------------------------------------- /programe/app/templates/mail/new_user.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | New User 6 | 7 | 8 |

User {{user.username}} hase joined.

9 | 10 | -------------------------------------------------------------------------------- /programe/app/templates/mail/new_user.txt: -------------------------------------------------------------------------------- 1 |

User {{user.username}} hase joined.

-------------------------------------------------------------------------------- /programe/app/templates/moderate.html: -------------------------------------------------------------------------------- 1 | {% extends "base.html" %} 2 | {% import "_macros.html" as macros %} 3 | 4 | {% block title %}Flasky - Comment Moderation{% endblock %} 5 | 6 | {% block page_content %} 7 | 10 | {% set moderate = True %} 11 | {% include '_comments.html' %} 12 | {% if pagination %} 13 | 16 | {% endif %} 17 | {% endblock %} 18 | -------------------------------------------------------------------------------- /programe/app/templates/post.html: -------------------------------------------------------------------------------- 1 | {% extends "base.html" %} 2 | {% import 'bootstrap/wtf.html' as wtf %} 3 | {% import '_macros.html' as macros %} 4 | 5 | {% block title %}Post link{% endblock title %} 6 | 7 | {% block page_content %} 8 | {% include '_post.html'%} 9 | {% if current_user.can(Permission.COMMENT) %} 10 |
11 | {{ wtf.quick_form(form) }} 12 |
13 | {% endif %} 14 | {% include '_comments.html' %} 15 | {% if pagination %} 16 | 19 | {% endif %} 20 | {% endblock page_content %} 21 | 22 | {% block scripts %} 23 | {{super()}} 24 | {{pagedown.include_pagedown()}} 25 | {% endblock scripts %} -------------------------------------------------------------------------------- /programe/app/templates/post_category.html: -------------------------------------------------------------------------------- 1 | {% extends "base.html" %} 2 | {% import 'bootstrap/wtf.html' as wtf %} 3 | {% import '_macros_for_category.html' as macros %} 4 | {% block title %}Category-{{ category }}{% endblock title %} 5 | {% block page_content %} 6 |
7 | {% include '_post.html' %} 8 |
9 | 12 | {% endblock page_content %} 13 | 14 | {% block scripts %} 15 | {{super()}} 16 | {{pagedown.include_pagedown()}} 17 | 29 | {% endblock scripts %} -------------------------------------------------------------------------------- /programe/app/templates/user.html: -------------------------------------------------------------------------------- 1 | {% extends "base.html" %} 2 | {% import '_macros_for_username.html' as macros %} 3 | 4 | {% block page_content %} 5 |

个人资料:{{user.username}}!

6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 |
用户名{{ user.username }}
邮箱{{ user.email }}
地址{{ user.location }}
注册时间{{ moment(user.member_since).format('LLL') }}
27 | 28 | 63 | 64 | 65 |

{{user.username}}的文章:

66 | {% include '_post.html'%} 67 |
68 | {{ macros.pagination_widget(pagination, "main.user", username)}} 69 |
70 | {% endblock page_content %} -------------------------------------------------------------------------------- /programe/config.py: -------------------------------------------------------------------------------- 1 | import os 2 | 3 | basedir = os.path.abspath(os.path.dirname(__file__)) 4 | 5 | 6 | class Config: 7 | SECRET_KEY = 'I do not know what key is suit for wtf ' 8 | SQLALCHEMY_COMMIT_ON_TEARDOWN = True 9 | SQLALCHEMY_TRACK_MODIFICATIONS = True 10 | MAIL_SUBJECT_PREFIX = '[MyFirstBlog]' 11 | FLASKY_ADMIN = 'zxc@qq.com' 12 | MAIL_SENDER = 'Blog Admin ' 13 | 14 | @staticmethod 15 | def init_app(app): 16 | pass 17 | 18 | 19 | class DevelopmentConfig(Config): 20 | DEBUG = True 21 | MAIL_SERVER = 'smtp.163.com' 22 | MAIL_PORT = 25 23 | MAIL_USE_TLS = True 24 | MAIL_USERNAME = os.environ.get('MAIL_USERNAME') 25 | MAIL_PASSWORD = os.environ.get('MAIL_PASSWORD') 26 | SQLALCHEMY_DATABASE_URI = os.environ.get('DATABASE_URL') or 'mysql+pymysql://root:renzhe123@localhost/myfirstblog' 27 | 28 | 29 | class TestingConfig(Config): 30 | TESTING = True 31 | SQLALCHEMY_DATABASE_URI = 'mysql+pymysql://root:renzhe123@localhost/mytestingblog' 32 | 33 | 34 | class ProductionConfig(Config): 35 | SQLALCHEMY_DATABASE_URI = 'mysql+pymysql://root:renzhe123@localhost/myproductionblog' 36 | 37 | 38 | config = { 39 | 'development': DevelopmentConfig, 40 | 'testing': TestingConfig, 41 | 'production': ProductionConfig, 42 | 'default': DevelopmentConfig 43 | } -------------------------------------------------------------------------------- /requirements.txt: -------------------------------------------------------------------------------- 1 | alembic==0.8.5 2 | beautifulsoup4==4.4.1 3 | bleach==1.4.2 4 | blinker==1.4 5 | dominate==2.2.0 6 | Flask==0.10.1 7 | Flask-Bootstrap==3.3.5.7 8 | Flask-Login==0.3.2 9 | Flask-Mail==0.9.1 10 | Flask-Migrate==1.8.0 11 | Flask-Moment==0.5.1 12 | Flask-PageDown==0.2.1 13 | Flask-Script==2.0.5 14 | Flask-SQLAlchemy==2.1 15 | Flask-WTF==0.12 16 | ForgeryPy==0.1 17 | html5lib==0.9999999 18 | itsdangerous==0.24 19 | Jinja2==2.8 20 | Mako==1.0.4 21 | Markdown==2.6.6 22 | MarkupSafe==0.23 23 | PyMySQL==0.7.2 24 | python-editor==1.0 25 | six==1.10.0 26 | SQLAlchemy==1.0.12 27 | visitor==0.1.2 28 | Werkzeug==0.11.5 29 | WTForms==2.1 30 | gunicorn==18.0 31 | psycopg2==2.5.1 32 | -------------------------------------------------------------------------------- /runtime.txt: -------------------------------------------------------------------------------- 1 | python-3.5.1 -------------------------------------------------------------------------------- /test-db.py: -------------------------------------------------------------------------------- 1 | import pymysql 2 | 3 | conn = pymysql.connect(host='127.0.0.1', port=3306, user='root', passwd='renzhe123', db='mysql') 4 | cur = conn.cursor() 5 | cur.execute("USE sjd2016") 6 | cur.execute("INSERT INTO users VALUES(1, 'www'),(2, 'cnblogs'),(3, 'com'),(4, 'txw1958')") 7 | cur.execute("SELECT * FROM users") 8 | for row in cur.fetchall(): 9 | print('%s\t%s' % row) 10 | 11 | cur.close() 12 | conn.commit() 13 | conn.close() -------------------------------------------------------------------------------- /tests/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunshine-sjd/MyFirstBlog/a8c2a889e4c725e73be5e033b90775200c066bbe/tests/__init__.py -------------------------------------------------------------------------------- /tests/test_basics.py: -------------------------------------------------------------------------------- 1 | import unittest 2 | from flask import current_app 3 | from programe.app import create_app, db 4 | from programe.app.models import User, Role, Permission, AnonymousUser 5 | 6 | 7 | class BasicTestCase(unittest.TestCase): 8 | def setUp(self): 9 | self.app = create_app('testing') 10 | self.app_context = self.app.app_context() 11 | self.app_context.push() 12 | db.create_all() 13 | 14 | def test_app_exists(self): 15 | self.assertFalse(current_app is None) 16 | 17 | def test_app_is_testing(self): 18 | self.assertTrue(current_app.config['TESTING']) 19 | 20 | def tearDown(self): 21 | db.session.remove() 22 | db.drop_all() 23 | self.app_context.pop() 24 | 25 | 26 | class UserModelTestCase(unittest.TestCase): 27 | def setUp(self): 28 | self.app = create_app('testing') 29 | self.app_context = self.app.app_context() 30 | self.app_context.push() 31 | db.create_all() 32 | 33 | def test_generate_password_hash(self): 34 | u = User() 35 | u.password = 'cat' 36 | self.assertTrue(u.password_hash is not None) 37 | 38 | def test_no_password(self): 39 | u = User(password='cat') 40 | with self.assertRaises(AttributeError): 41 | u.password 42 | 43 | def test_password_verification(self): 44 | u = User(password='cat') 45 | self.assertTrue(u.verify_password('cat')) 46 | self.assertFalse(u.verify_password('dog')) 47 | 48 | def test_password_salts_are_random(self): 49 | u1 = User(password='cat') 50 | u2 = User(password='cat') 51 | self.assertFalse(u1.password_hash == u2.password_hash) 52 | 53 | def test_roles_permissions(self): 54 | Role.insert_roles() 55 | u = User(email='zxc@qq.com', password='123') 56 | self.assertTrue(u.can(Permission.ADMINISTER)) 57 | self.assertTrue(u.can(Permission.WRITE_ARTICLES)) 58 | u1 = User(email='qwe@qq.com', password='123') 59 | self.assertFalse(u1.can(Permission.ADMINISTER)) 60 | self.assertTrue(u1.can(Permission.WRITE_ARTICLES)) 61 | 62 | def test_anonymous_user(self): 63 | u = AnonymousUser() 64 | self.assertFalse(u.can(Permission.FOLLOW)) 65 | 66 | def tearDown(self): 67 | db.session.remove() 68 | db.drop_all() 69 | self.app_context.pop() --------------------------------------------------------------------------------