Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP

Comparing changes

Choose two branches to see what's changed or to start a new pull request. If you need to, you can also compare across forks.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also compare across forks.
base fork: 256dpi/hanya
base: f5b61be2f7
...
head fork: 256dpi/hanya
compare: 14eaba38d5
  • 2 commits
  • 8 files changed
  • 0 commit comments
  • 1 contributor
View
3  .gitignore
@@ -1,2 +1,3 @@
.DS_Store
-user/db.sq3
+user/db.sq3
+NOTES.md
View
17 README.md
@@ -487,7 +487,17 @@ Create the file _tree/sitemap.xml_:
This file will output the same as the automatic sitemap generation. But now you can add dynamic links depending on your defintions:
-...
+ //--
+ template = false
+ --//
+ <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd">
+ {sitemap()}
+ [news()]
+ <url>
+ <loc>{link(news/$news(slug))}</loc>
+ </url>
+ [/news]
+ </urlset>
## Admin Toolbar
@@ -646,7 +656,6 @@ These Constants are used in the Hanya Admin Toolbar.
## Wishlist
-* Manual Sitemap Generation {sitemap()} tag to include tree sitemap
* Multi language support
* jQuery time- and datepicker for time and date fields in manager
* Database backup functionality
@@ -668,10 +677,6 @@ These Constants are used in the Hanya Admin Toolbar.
* CodeMirror Editor (http://codemirror.net)
* Less Compiler (https://github.com/leafo/lessphp)
-## Notes
-
-Issue to `git tag -a v0.1 -m "beta"` and `git push --tags` to create new tag version.
-
## License
Hanya is released under the MIT License
View
19 assets/system/javascripts/hanya.js
@@ -5,6 +5,7 @@
* .hanya-has-command -> link executes data-command
* .hanya-editable -> container shows edit HanyaWindow on click
* .hanya-createable -> link opens HanyaManager with a new definition
+ * .hanya-gain-focus -> get focus after loading in a window
*/
/*
@@ -202,13 +203,19 @@ var HanyaWindow = {
enhancements: function() {
// Add Editor to Textareas
- $(".hanya-editor-html").cleditor({
- width: "99%",
- heigth: "300px",
- controls: "bold italic underline subscript superscript style removeformat bullets numbering | undo redo | rule image link unlink | cut copy paste pastetext source",
- });
- $(".hanya-row-html br").remove();
+ if($(".hanya-editor-html").size() > 0) {
+ $(".hanya-editor-html").cleditor({
+ width: "99%",
+ heigth: "300px",
+ controls: "bold italic underline subscript superscript style removeformat bullets numbering | undo redo | rule image link unlink | cut copy paste pastetext source",
+ });
+ $(".hanya-row-html br").remove();
+ }
+ // Set Focus
+ if($(".hanya-gain-focus").size() > 0) {
+ $(".hanya-gain-focus")[0].focus();
+ }
}
}
View
10 assets/system/javascripts/jquery.tipsy.js
@@ -0,0 +1,10 @@
+(function($){function maybeCall(thing,ctx){return(typeof thing=='function')?(thing.call(ctx)):thing;};function Tipsy(element,options){this.$element=$(element);this.options=options;this.enabled=true;this.fixTitle();};Tipsy.prototype={show:function(){var title=this.getTitle();if(title&&this.enabled){var $tip=this.tip();$tip.find('.tipsy-inner')[this.options.html?'html':'text'](title);$tip[0].className='tipsy';$tip.remove().css({top:0,left:0,visibility:'hidden',display:'block'}).prependTo(document.body);var pos=$.extend({},this.$element.offset(),{width:this.$element[0].offsetWidth,height:this.$element[0].offsetHeight});var actualWidth=$tip[0].offsetWidth,actualHeight=$tip[0].offsetHeight,gravity=maybeCall(this.options.gravity,this.$element[0]);var tp;switch(gravity.charAt(0)){case'n':tp={top:pos.top+pos.height+this.options.offset,left:pos.left+pos.width/2-actualWidth/2};break;case's':tp={top:pos.top-actualHeight-this.options.offset,left:pos.left+pos.width/2-actualWidth/2};break;case'e':tp={top:pos.top+pos.height/2-actualHeight/2,left:pos.left-actualWidth-this.options.offset};break;case'w':tp={top:pos.top+pos.height/2-actualHeight/2,left:pos.left+pos.width+this.options.offset};break;}
+if(gravity.length==2){if(gravity.charAt(1)=='w'){tp.left=pos.left+pos.width/2-15;}else{tp.left=pos.left+pos.width/2-actualWidth+15;}}
+$tip.css(tp).addClass('tipsy-'+gravity);$tip.find('.tipsy-arrow')[0].className='tipsy-arrow tipsy-arrow-'+gravity.charAt(0);if(this.options.className){$tip.addClass(maybeCall(this.options.className,this.$element[0]));}
+if(this.options.fade){$tip.stop().css({opacity:0,display:'block',visibility:'visible'}).animate({opacity:this.options.opacity});}else{$tip.css({visibility:'visible',opacity:this.options.opacity});}}},hide:function(){if(this.options.fade){this.tip().stop().fadeOut(function(){$(this).remove();});}else{this.tip().remove();}},fixTitle:function(){var $e=this.$element;if($e.attr('title')||typeof($e.attr('original-title'))!='string'){$e.attr('original-title',$e.attr('title')||'').removeAttr('title');}},getTitle:function(){var title,$e=this.$element,o=this.options;this.fixTitle();var title,o=this.options;if(typeof o.title=='string'){title=$e.attr(o.title=='title'?'original-title':o.title);}else if(typeof o.title=='function'){title=o.title.call($e[0]);}
+title=(''+title).replace(/(^\s*|\s*$)/,"");return title||o.fallback;},tip:function(){if(!this.$tip){this.$tip=$('<div class="tipsy"></div>').html('<div class="tipsy-arrow"></div><div class="tipsy-inner"></div>');}
+return this.$tip;},validate:function(){if(!this.$element[0].parentNode){this.hide();this.$element=null;this.options=null;}},enable:function(){this.enabled=true;},disable:function(){this.enabled=false;},toggleEnabled:function(){this.enabled=!this.enabled;}};$.fn.tipsy=function(options){if(options===true){return this.data('tipsy');}else if(typeof options=='string'){var tipsy=this.data('tipsy');if(tipsy)tipsy[options]();return this;}
+options=$.extend({},$.fn.tipsy.defaults,options);function get(ele){var tipsy=$.data(ele,'tipsy');if(!tipsy){tipsy=new Tipsy(ele,$.fn.tipsy.elementOptions(ele,options));$.data(ele,'tipsy',tipsy);}
+return tipsy;}
+function enter(){var tipsy=get(this);tipsy.hoverState='in';if(options.delayIn==0){tipsy.show();}else{tipsy.fixTitle();setTimeout(function(){if(tipsy.hoverState=='in')tipsy.show();},options.delayIn);}};function leave(){var tipsy=get(this);tipsy.hoverState='out';if(options.delayOut==0){tipsy.hide();}else{setTimeout(function(){if(tipsy.hoverState=='out')tipsy.hide();},options.delayOut);}};if(!options.live)this.each(function(){get(this);});if(options.trigger!='manual'){var binder=options.live?'live':'bind',eventIn=options.trigger=='hover'?'mouseenter':'focus',eventOut=options.trigger=='hover'?'mouseleave':'blur';this[binder](eventIn,enter)[binder](eventOut,leave);}
+return this;};$.fn.tipsy.defaults={className:null,delayIn:0,delayOut:0,fade:false,fallback:'',gravity:'n',html:false,live:false,offset:0,opacity:0.8,title:'title',trigger:'hover'};$.fn.tipsy.elementOptions=function(ele,options){return $.metadata?$.extend({},options,$(ele).metadata()):options;};$.fn.tipsy.autoNS=function(){return $(this).offset().top>($(document).scrollTop()+$(window).height()/2)?'s':'n';};$.fn.tipsy.autoWE=function(){return $(this).offset().left>($(document).scrollLeft()+$(window).width()/2)?'e':'w';};$.fn.tipsy.autoBounds=function(margin,prefer){return function(){var dir={ns:prefer[0],ew:(prefer.length>1?prefer[1]:false)},boundTop=$(document).scrollTop()+margin,boundLeft=$(document).scrollLeft()+margin,$this=$(this);if($this.offset().top<boundTop)dir.ns='n';if($this.offset().left<boundLeft)dir.ew='w';if($(window).width()+$(document).scrollLeft()-$this.offset().left<margin)dir.ew='e';if($(window).height()+$(document).scrollTop()-$this.offset().top<margin)dir.ns='s';return dir.ns+(dir.ew?dir.ew:'');}};})(jQuery);
View
4 assets/system/stylesheets/hanya.css
@@ -67,13 +67,13 @@
/* INLINE OBJETS */
.hanya-editable {
- border: 1px solid #ddd;
+ outline: 1px solid #ddd;
padding: 2px;
margin: 1px 0;
}
.hanya-editable:hover {
- border-color: black;
+ outline-color: black;
}
.hanya-createable {
View
16 assets/system/stylesheets/jquery.tipsy.css
@@ -0,0 +1,16 @@
+.tipsy{font-size:10px;position:absolute;padding:5px;z-index:100000;}
+.tipsy-inner{background-color:#000;color:#FFF;max-width:200px;padding:5px 8px 4px 8px;text-align:center;}
+.tipsy-inner{border-radius:3px;-moz-border-radius:3px;-webkit-border-radius:3px;}
+.tipsy-arrow{position:absolute;width:0;height:0;line-height:0;border:5px dashed #000;}
+.tipsy-arrow-n{border-bottom-color:#000;}
+.tipsy-arrow-s{border-top-color:#000;}
+.tipsy-arrow-e{border-left-color:#000;}
+.tipsy-arrow-w{border-right-color:#000;}
+.tipsy-n .tipsy-arrow{top:0px;left:50%;margin-left:-5px;border-bottom-style:solid;border-top:none;border-left-color:transparent;border-right-color:transparent;}
+.tipsy-nw .tipsy-arrow{top:0;left:10px;border-bottom-style:solid;border-top:none;border-left-color:transparent;border-right-color:transparent;}
+.tipsy-ne .tipsy-arrow{top:0;right:10px;border-bottom-style:solid;border-top:none;border-left-color:transparent;border-right-color:transparent;}
+.tipsy-s .tipsy-arrow{bottom:0;left:50%;margin-left:-5px;border-top-style:solid;border-bottom:none;border-left-color:transparent;border-right-color:transparent;}
+.tipsy-sw .tipsy-arrow{bottom:0;left:10px;border-top-style:solid;border-bottom:none;border-left-color:transparent;border-right-color:transparent;}
+.tipsy-se .tipsy-arrow{bottom:0;right:10px;border-top-style:solid;border-bottom:none;border-left-color:transparent;border-right-color:transparent;}
+.tipsy-e .tipsy-arrow{right:0;top:50%;margin-top:-5px;border-left-style:solid;border-right:none;border-top-color:transparent;border-bottom-color:transparent;}
+.tipsy-w .tipsy-arrow{left:0;top:50%;margin-top:-5px;border-right-style:solid;border-left:none;border-top-color:transparent;border-bottom-color:transparent;}
View
6 system/tags/head.php
@@ -30,8 +30,14 @@ public static function call($attributes) {
// Load jQuery Extensions
if(Memory::get("edit_page") || Memory::get("logged_in")) {
+
+ // Editor
$html .= HTML::script(Url::_("assets/system/javascripts/jquery.cleditor.js"));
$html .= HTML::stylesheet(Url::_("assets/system/stylesheets/jquery.cleditor.css"));
+
+ // Tooltips
+ $html .= HTML::script(Url::_("assets/system/javascripts/jquery.tipsy.js"));
+ $html .= HTML::stylesheet(Url::_("assets/system/stylesheets/jquery.tipsy.css"));
}
// Return
View
2  system/views/admin/login.html
@@ -6,7 +6,7 @@
<form action="<?=Registry::get("request.referer")?>?command=admin_login" method="POST">
<div class="hanya-manager-body-row">
<label for="username"><?=I18n::_("system.admin.username")?></label>
- <input name="username" type="text" />
+ <input class="hanya-gain-focus" name="username" type="text" />
</div>
<div class="hanya-manager-body-row">
<label for="password"><?=I18n::_("system.admin.password")?></label>

No commit comments for this range

Something went wrong with that request. Please try again.