I accidentally created a VarryingVagrantVagrants setup for testing and reviewing WordPress Themes.
I hope it helps.
I accidentally created a VarryingVagrantVagrants setup for testing and reviewing WordPress Themes.
I hope it helps.
First off, this is my first post about Hash, a “secret” chat project I’ve been working on to replace my personal IRC woes (mainly IRC logging). Don’t get me wrong, I love IRC, but I also love HipChat, but I hate that HipChat list closed….you get the point. Plus I needed something dead simple, no logins, no signups, just chat…
Hash is a simple IRC-like, HipChat-like (mainly in that it has persistent chat), (PHP, jQuery, HTML/CSS)-based chat system. So anyone can use a Hash install to use.
Here’s how it works. All you do is create a room (which I call a hash, because you hash things out), and pick a nick. No login. No password, in fact two people (at the moment) could use a single nick or login as many. Then, chat. Notifications let you know when something new is said. Chat history is persistent.
It’s developer friendly, which only really means it’s easy to create rooms, share them, and assign people nicks because the chat uses
?hash=&nick= to start the person loading the hash off with a hash and a nick. Easy for inviting clients into chat rooms by just giving them a link.
Hash 1.1 will continue to make small improvements to make Hash more useful. I have been using it, and it appears to be stable enough to use, again for private purposes. Not sure about public use yet, but I need it for a few new things, and so 1.1 will get those features.
You can try out Hash on my site where you can make a hash and start chatting away with someone else. I’d love to see people use it and give feedback.
Want to help? Check out Hash on Github. There are some issues that need some help.
For a while now I’ve been “managing” my milestones, etc, for development on Trello. It was a great experience, I LOVE Trello, but since it’s always felt like I’m doing too many things, first Trello, then a task on GitHub, then a task on Trello, then WordPress…back-and-forth, back-and-forth. Plus I’d like to get more help with my plugins, and no one is going to find my Trello boards. Plus, I love WordPress and I feel like I very seldom get to use it in my own blog.
So, I’ve decided to try out managing my projects on my site. Just milestones, releases, etc. Just big things that need to happen. Sort-of a central hub for me and everyone to keep up on what’s going on. That way people can find them more easily and I can use my blog more (make that hosting bill count!).
So, if you’re interested in seeing what I’m doing, or helping, there are a few tags to follow:
You can check out the category Projects for all my project stuff.
Here’s to more WordPress!
The bug here is showing cause to possible go to
0.3.3, and some other tasks outlined below.
Plans are underway to get the repo to GitHub for contributions.
A VVV setup will be made to help out with contribution as well.
Once this bug is determined to be valid, we may go to
Few late night updates.
I’ve updated my deploy-git-wordpress-org plugin deploy script to allow for updating only readme.txt changes.
I’ve gone and changed the
readme.txt file, great. Now, I want to deploy that
readme.txt change to the repo, but not commit a new tag or version. Awesome, we can do that now. Just pass a 3rd parameter for whether we are updating the
readme.txt or not:
sh deploy-git-wordpress-org.sh index.php aubreypwd true
Here’s what that said to your computer:
deploy-git-wordpress-org.sh my plugin, here’s my username:
aubreypwd, and it’s
true that we’re updating the
readme.txt file only, so don’t tag a new release, just update the
/trunk and the current stable tag’s
So, if you want to tag a new release (normal method), update your stable tag in
readme.txt and the current version in your plugin file and…
sh deploy-git-wordpress-org.sh index.php aubreypwd false
That will deploy your plugin to
/trunk and make a new
/tags/x.x and commit the new tag as it always has.
I’ve tested the updates with my own plugin (the second update)…
In an effort to test this update, I released 0.3.3 with a fix to a bug that was causing drop-down’s, when filtering, to sometimes show empty. I succesfully tested just a readme update and a new deployment of 0.3.3.
First of all, this is a proposal. I just want to solve a few simple problems with this:
<br>in HTML mode, but can use a shortcode like
<div>around an element, but possible cuts and paste’s can erase it because the code isn’t seen in visual
<div style="float:right">around an element in the editor, it actually happens in the editor. Sometimes this is nice, sometimes this sucks
…this seems like a solution to some of these issues because I have used these kinds of solutions before in themes and plugins to help clients and myself do more HTML-y things in the editor. I just want to build an all-in-one solution.
Follow #shortcodeml on my blog for updates.
Let’s see if I can sort this out. Because of ticket #25295, and the fact that 3.9 will most-likely not have the “Advanced” tab when editing an image’s properties, we will sadly no longer to be able to click on an image, go to Advanced, and, for instance, add class names like
.aligntop to an image.
I don’t think this should be done in the Advanced tab anyways. Sure, for images, it’s a quick way to do it, but if you really want to add a class to something, you’re going to use the text mode to do it (especially for something like a div or ul).
This ticket gave me the idea to write something close to bbScript, remember bbScript?
Let’s add on to the image problem and say that, yeah, we also can’t add a break return without sending the user into text mode in the editor and having them write
<br>, which when switching back to Visual isn’t apparent that it’s there. It’s kind-of invisible. What if we could
[br] instead, or
[break], which is more understandable and readable, or
[break clear left] to also clear left (we should also be able to
[br style="clear:left"] because some of us are more familiar with HTML. It’s also hard to, in the editor, wrap
<code> around a piece of text. I’m currently using a plugin, but wouldn’t it be nice to just
That’s where the idea of a plugin, that I’m calling ShortcodeML, would allow us to do more HTML-y things in the editor and solve our ticket problem because we can just
[span class="aligntop"]<img />[/span] or
[class="aligntop" block]<img />[/class]. And for an intermediate WordPress user, this isn’t HTML, because you can see it, and it’s readable, and it’s a shortcode.
I didn’t want to go find some large list of HTML tags and kill myself coding each one. I wanted to do something more graceful and simple that solves the problems. First off, we only need a few HTML elements (I’m open to additions) to work with in the editor (tag|readable):
All of these only need to accept a few helpful attributes (attribute|readable attribute):
Data attribute can be handled like:
[... data="value", data-selector="x"]
We are also going to need some handy quick writable tags where "..." below are any of our tags above. Some elements may not need a "tag", so "..." will not be included:
<span class="classes classes2"
[divider inline clear-left css="margin-top:20px"]...[/p]
[break clear-both hidden]
So, that's my idea and what I'd like to start building. If you have any feedback, ideas, modifications, whatever, please comment!
So, I’ve been waiting all day to write this blog! The last day of WordCamp Phoenix was awesome! I’d have to say the contributor sessions today were great and really brought home WordCamp for me!
I’ve also completed my goal of publishing a plugin during WordCamp Phoenix. You can now use Google Destination URL by installing from the WordPress.org repository. I tried to use as many things I learned at WCPHX while developing it. You can see more about the process from the GitHub commits.
Google Destination URL will allow you to add link in the WordPress editor by searching Google for the link. Check it out.
But! The other part I wanted to blog about was, “What did I learn at WordCamp Phoenix?” I’m going to cover the stuff I’ve retained; the stuff that really stuck out. Let’s start with…
The first day was, obviously, my first time at a WordCamp. But, right away I was learning new things! I really think most people owe it to themselves (as a developer) to learn things from going to WordCamp.
During day 1 I learned more about the things that I didn’t know much about before, or didn’t use as much. It was the most informal day for me. The best part was when Konstantin Obenland and Michael Cain did “Cain and Obenland in the Morning” talk-show like event. But it was also awesome to learn some cool stuff from Brad Parbs and Cliff Seal.
Brad Parbs told me this one.
The first thing I learned was something that felt like something I should have considered or thought of before. When you’re returning a value from a function, you can automatically give other developers an automatic advantage by allowing someone to hook into the values you are returning. Now I can use filters easily.
I kind-of show how you can do this in this example:
How I’ve usually accomplished this is by embedding an inline script to set a JS variable with values in it. Turns out WordPress already does this quite well.
In these examples you can see how I setup a JS var called
google_destination_url_js on the PHP side.
Cliff Seal showed us this one.
I had known about transients before WCPHX, but I never really thought about how to use them. In the example below I show you how I cached Google Search results in my new plugin.
If you were to type
aubrey, and then modify what you typed to
aubrie, the search (on
keyup) will return another result (the same result) for
r all over again, even though you already typed each of those chars less than a second ago (while typing).
You can see what I mean in the examples below. I cache each keyup result so that, if the delete button is hit and
aub is typed twice in two different searches, we are bugging the Google API once for
Day 2 was one of those days when I just couldn’t decide what talk I wanted to attend. They were themed into 3 groups, one was client/beginner based, the next business based, and the last one developer based. I would get stuck trying to decide, WordPress Mobile App Development, or Managing Client Expectations from Start to Finish?
Some things I took away from Day 2…
It’s pretty self explanatory, but I heard this talked about and said so much on Day 2 that it became obvious that taking on work that doesn’t fit your style or company just spells disaster.
I always knew that there might be a way to do this, but one of the talks that day confirmed for me that, indeed, it can be done.
Look into AppPresser for more info.
Though the talk was really good, using Capistrano still frightens me haha! It was probably the only talk where I felt like it would be easier to just make the symlink myself.
Throughout the camp, people were raving about VVV (Varying Vagrant Vagrants). Now, it doesn’t frighten me as much as using Capistrano, but I’ve just always just trusted MAMP. But, like I said, Paul Clark said he still uses MAMP, and know what, so do I.
Day 3 is probably my favorite day. I spend all day in a small room with a bunch of other WordPress loving people. The day wasn’t about making money off Websites, or how to use new API’s, etc, it was about the thing I love about WordPress: contributing.
And, the things I took away are:
The overall feeling I got from the people in this particular part of the camp was that they really really want people to get involved. It may look like the WordPress god’s in IRC or Make don’t really need your help, but you’d be wrong.
WordPress people are so welcoming to people who want to help, but you kind of got to get in there and let them know. I asked a few questions about how to really get in there and start working on things, and it turns out that if you just show up, you’re probably on the list! But, you need to…
There were tons of WordPress people that said, “please, tweet me, I will help you out,” the whole time I was there. Brave up, ask questions, bug someone (but be nice).
I plan on bugging Mike Schroder on how to get involved in core…well…because he told me to.
I asked about how to get involved in building new features, and the experiment with MP6 is still on-going. There are people (and teams) who are devising plans to get new things into core today! They build a plugin, everyone checks it out, and walla it’s in core (or not).
But, if it doesn’t make it, hey it’s still a plugin…Beautiful!
The key is getting in touch with these teams. IRC is the sure way to get involved, and get involved today! Now is the time to do it (as of January). They are working on building teams for 3.9!
The overall thing I took away from the camp is that there is a community. From the far reaches of the inter-webs it may seem like there are a lot of hidden people working on WordPress that don’t need your help. Being my first WordCamp, I came from a place where I knew I could get involved, but (I don’t know how to explain it) there was just something missing…
…It was going to a WordCamp! You’re going to meet those people, put some faces on them, and get a renewed sense to get involved!
WordCamps are also a great place to learn the ropes. Sure you can read up on things, and like me learn through experience, but the “pros” at WordCamps will show you how to box with your gloves off. Plus it’s just an eye-opener. You’ll hear and see things you hadn’t before…promise.
Well, that’s pretty much it! The great people who made WordCamp Phoenix happen deserve more recognition that they probably get! I’ll be coming back next year, I might also be going to other one’s too, who knows!
What did you get out of it!?