Needed: Light and free HTML editor with source control support - html

We're not doing real web development. We get our HTMLs from our designers, and have our web app generate those HTMLs (with some specific content). Simply put, we don't use any major web development infrastructure (ASP, PHP, JSP etc). Having that said, we sometimes do need to edit HTML, JavaScript and CSS files, and I'm tired of using rocks and stones and having no proper backup. What I'm looking for is a rather simple editor that would handle those kinds of files, and most importantly - will support source control, and will be free (or very cheep).
I've been looking into Aptana, and it seems to be a bit of an overkill. It has a lot of features we can do without, and this makes it too heavy. VWD express is lighter, but has no source control integration. There are probably a million other HTML editors, but I couldn't find one that satisfies the basic requirements - relatively lightweight, supports source control and is (almost) free. Any suggestions?

Not exactly what you want but you could try and use Notepad++ combined with TortoiseSVN.

Eclipse is pretty good. It's also very popular among developers and can edit HTML.
Why is supporting source control a requirement? I find that the place for good source control is not in the editor. The editor just gets in the way and only implements a subset of functionality.

NetBeans can edit about anything, is free, cross-platform, and directly supports CVS, Subversion and Mercurial version control systems. It's not exactly lightweight, although it is lighter than any comparably featured competitors I'm aware of.

Pick your poison at Wikipedia's Comparison of HTML editors page.

The Revisionator is a cloud based html editor that has built in source control. It'll even do wysiwyg diffing and merging of different versions.

Related

Should I Use HTML Server-Side Includes?

We've recently migrated from a full CMS to simple HTML/CSS/JS on NGINX. I do batch editing with RegEx search/replace in my text editor, but I'd like to simplify by putting common content in partial files and including them server-side. I've considered other solutions, but I'm working under some constraints:
It's important to us to have the site function whether javascript is present or not, so I prefer not to use client-side frameworks for including content.
I personally prefer compiled, templated solutions like Jekyll or Pug (Jade), but I have a pretty non-technical team I'm trying to support, and HTML is already a bit beyond their comfort level.
My problem is that I haven't found any up-to-date information about using SSI. (Most pages returned from web search look like they were built 20 years ago). The fact that no one seems to be talking about SSI in a modern context has me a little worried.
Are HTML server-side includes a reasonable solution for this situation? If so, are there performance or security issues I should watch out for?
Well security is not an issue if you ask me. These are just server side includes, and not user input. The performance is far from great, if you believe this. However, horsepower is cheap, and so is caching. It seems okay to me to use it.

is developing an HTML web app using Notepad++ secure

I have started on a web app for the ORG i work for, using notepad++ for html and css and of course php and javascript. I must say that the ORG did not used to have software developers, all software they have is off-the-shelf or oracle forms and am a recent grad.
We got a new hire he has much more experience "he claims", the thing is that he has been criticizing me for using notepad++ for html, he instead suggests using ASP.NET in VS. His argument comes from security risks and better support point of view.
The web app will consist of a website for the visitors to browse, in addition to an intranet for employees to use onsite and globally.
So i am not sure if i am on the right track and he is showing off, or i should be following his advice "he could be our new IT manager".
I thank you very much in advance.
The editor you are using has literally nothing to do with the security of the programmed application. Notepad++ is perfectly fine, even though i would recommend something like Atom, Visual Studio Code or Sublime.
One thing they have as a "security advantage" over Notepad++ is, that it is easier to install plugins that try to check your code and point out possible bugs. Otherwise blaming the Editor for Security issues is nonsense.
I have no experience with ASP.NET, i tried it a few times but never liked it. I think it comes with some authentication solutions out of the box.
HTML and CSS have very little to do with security. JavaScript and especially PHP is what you have to be careful with. I would recommend to use some kind of PHP framework as there are often well tested authentication components included. Frameworks I know of are Symfony and Laravel (which is built on Symfony).

HTML to PDF converters with commercial / server licensing

I know this one's been done to death, but most of the onces I've found on SO have been open source. For this particular project I'm willing to spend the money to get the quality, ease of use and support. The less hassle it is to setup and to create new templates the better.
The system I'm building will need to be able to output custom reports including some simple bar charts and graphics. These will all need to be able to output to PDF as well. Again, the less implementation time there is for these reports in regards to PDF conversion, the better.
I've seen PrinceXML (http://princexml.com) and am impressed so far. What I want is at least one other good premium option to compare to.
Any suggestions?
Thanks in advance
I always recommend wkhtmltopdf. It's Free, but supports just about everything thanks to its webkit roots... up to and including script that alters the HTML.
Here is a commercial one I have worked on. Great support if I say so myself.
Comes with a friendly web services interface so you can use it from most development environments and languages.

Is there a free Help Authoring tool available for Eclipse?

I need to write on-line help (Eclipse help format) for an Eclipse plugin. I tried out the evaluation of Help Composer that comes as part of RCP Developer from Instantiations and it pretty much does what I am looking for. However at $500 per license it's way overkill and over budget for my needs.
Surely there must be some other tool for managing the help project, assembling the various files, table of contents, and editing the html documents using WYSIWYG.
Does anybody have any suggestions for what plugin(s) I should add to a basic Eclipse 3.5 install to give me full authoring capability?
Thanks in advance!
I know that my solution is not entirely what you need, but you should have a look at Mylyn Wikitext .
It uses a simple markup with good editor support and is also capable of exporting to Eclipse Help format.
I gave up looking for free since all the available tools have a lot of shortcomings.
I decided to use Adobe RoboHelp 8 since it has one of the nicest editors that I found. However, the main benefit for me has been that it automatically updates links in all pages if I rename or move a topic (which I do a lot).
When I want to generate the Eclipse Help file, I use the script that they provide.
For a large documentation project, we used Latex in combination with plastex. This allowed us to generate PDF, Eclipse Help and HTML from the same sources. Cross Referencing, which seems like an issue for some readers, is handled, as well as indexing and other cool stuff. Getting it to work was a bit tedious, but it was a good solution, as the documentation contained a lot of formulas.
This was an open source project, so everything is available - feel free to use and adapt as you see fit:
Result (HTML, PDF, Eclipse Help: http://handbook.event-b.org/
Code: https://sourceforge.net/p/rodin-b-sharp/svn/HEAD/tree/trunk/Handbook/
I don't think it exists in eclipse, but try the MS one (free):
Here is the info: http://msdn.microsoft.com/en-us/library/ms670169(VS.85).aspx
Here is the download: http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=00535334-c8a6-452f-9aa0-d597d16580cc
Then you can convert to eclipse format: http://home.amnet.net.au/~ghannington/hh2e/hh2e-readme.html

When do you use an IDE? [closed]

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
I know that some people swear against using a language-specific IDE ever (vim/emacs or die! type stuff) and that some people are really uncomfortable with coding/compiling in the terminal at all, so my question has the following parts.
When do you switch from one to the other
Is it even necessary to know both? If not, which should you know?
Lightweight or Heavyweight IDEs? (just code highlighting or every feature you could imagine)
What IDE do you recommend in general, and why?
Feel free to answer all, some, or none.
Short summary so far:
IDEs
Big Projects
GUIs
Easy Version Control Integration?
Text Editors
Quick/Small projects
Adapts to other languages more easily
Less overhead
IDE usage is very subjective to personal opinion. With that disclaimer, here's mine.
Know your tools and know your platforms. Developing software is your domain, so be good at it.
When do you switch? When your knowledge tells your intuition that it would be easier with the other tool.
Should you know both? I would argue that you should know everything about working with your platform. Low level knowledge makes higher level applications easier to understand.
Lightweight or heavyweight depends on the task at hand. Both are appropriate at times.
I can't recommend any one IDE, it depends on your application's platform(s) and what you, the developer, are comfortable with. If you're doing .NET, Visual Studio on Windows is probably the best, but that doesn't mean you can throw out Notepad. For Java on Linux, Eclipse is great, but don't discard vim.
Hey, Front Page is probably the right tool for the job to some people (ouch, yes, I said it. /me ducks).
As several other people have said, which IDE you use or if you use one at all is heavily dependent on the language your developing in, the scale of the project, and the platform your working on. Although I've never encamped with either the Vi or Emacs guys I do use a number of other editing tools in roughly this language breakdown:
C#, or anything else .Net: Visual Studio. There is no serious competition, the CLR languages beg for syntax highlighting, refactoring, and advanced file management. Thankfully Microsoft got this one right and the Express editions are an incredible value.
C++: I haven't touched it in a while, but I would typically view the code in Visual Studio, but compile through batch files, which had a lot to do with the eccentricities of the particular embedded platform I was working on.
Python: I recommend Stani's Python Editor if you need something with bells and whistles, but Python is so direct in its structure that I usually end up just using Scite. It does everything you really need in a Python editor.
SQL: Notepad++ or, if your doing heavy lifting, any supported editor + SQL Prompt.
Java: I hear good things about Eclipse, but Java is evil so I don't touch it.
PHP, Perl, Javascript, BASH, or most other languages: Notepad++ on Windows, Scite on Linux.
Although switching between all these IDEs can be troublesome, especially when a feature you love in one is missing from another, the benefits are to be found in using the best balanced tool for the job your doing. I switch IDEs all the time as my needs vary and I would encourage others to as well. Having worked on a limited number of projects, of limited scale, on particular platforms I hardly know all the use cases and I'm sure there are plenty of other situations and code editors out there that pair up in unique and wonderfully functional ways.
Personally, I almost never use an IDE. I use vim/make almost exclusively. There's lots of benefits to this:
Totally language agnostic. Once some commands and shortcuts are memorized, they work with all of my projects
Parts are easy to swap in and out. If I want to switch compilers, I change the variable in my makefile.
"configuration agnostic". No matter how the settings are, I can develop. No GUI? No problem. Different desktop environments? No problem. There are even ports of vim to Windows. I develop on my local machine and when I'm ssh-ed into a server in the same manner.
There are also some downsides:
Vim is hard to learn. I'm not even going to lie about this. It takes time to acquire some power.
Mostly limited to *NIX. Yeah, there are things like cygwin. Yeah, there are ports of Vim to Windows. It's somehow not exactly the same.
It's possible that if I learned an IDE that focused on a specific language, it'd have some features that would be pretty powerful for that language.
I usually use the IDE only for debugging (which IDE depends on the language/platform), and use my personal editor for the actual editing of code.
I feel that using one editor for everything is a much better approach than relearning key-bindings for every language/platform change I make.
In my experience, if the project involves building a GUI, an IDE is an invaluable tool.
If it's small, "gut-level", or a web service, I'd go exclusively text editor.
My rule of thumb is that if the language and IDE are tied together, then use the IDE (see anything using MS project files). Otherwise any editor will do. Personally I like visual Slickedit, or notepad++ if the company isn't going to shell out for slickedit. On the linux side I use Emacs, which you can consider a heavyweight editor, or a lightweight OS.
While I use VIM and non-IDE type tools, I have to admit that Visual Studio (especially 2005/2008) is possibly one of the best programs ever written. The intelli-sense and debugging tools are well worth there weight in gold. I find myself being able to write code very fast. It is especially helpful in cases where you are utilizing frameworks (e.g. .NET) and need that little extra guide to tell you what functions are available off an object without having to refer to the help documentation. It is hard to beat auto-code formatting, bookmarking, immersive debugging, refactoring, source control integration, and plug-in support.
For everything else, I use VIM. I have to admit I'm still learning how to use VIM well, but I already know it is powerful. It truly is a matter of choosing the right tool for the job.
EDIT: One thing I will mention is that you pick a tool or two and learn it very well. Become an expert at it. Learn the ins/outs and explore the nitty gritty secret stuff your editor/IDE can do. The more you do this, it will matter less what the tool is.
For me the break-down is by technology.
I use Notepad++ or vim for anything in the LAMP stack - I've never found anything particularly useful in the IDEs for those technologies (unless you could the MySQL Client Tools as an IDE, which I use when I am able to).
When working in the WISC (Windows, IIS, SQL Server, C#) stack, on the other hand, I use an IDE - one of the Visual Studio products depending on which project I'm working on.
A lot of this probably has to do with the sorts of projects I work on. I work in PHP in the LAMP stack, so I don't have to handle bunches of external libraries the way I probably would if I was using perl, and the projects I develop on LAMP are usually simpler than my Windows development. In .Net, on the other hand, navigating the libraries can be quite difficult without the IDE, and the debugging can (I find) be more complicated. Plus when developing web services using SOAP, I wouldn't even want to think about doing it without the tools Microsoft supplies.
I find that IDEs for C and Python don't buy you much, at least the ones that are available for Linux. So, when I write C and Python code, I will usually use GVIM + Ctags + standalone debugger + make.
However, in the case of Java, Eclipse offers a Java programmer so much that it's hard not use it and after a while become spoiled to the extent that it's just too painful to go back to writing Java code in VIM.
Strangely enough, I haven't had the same experience when using Visual Studio for C projects (even though I do find its debugger indispensable). One reason for this is that I prefer to manage the build scripts myself. Even with Eclipse, I would still use ant so that I know exactly what is happening during each build. Admittedly, you can of course look at the build configurations in both Visual Studio and Eclipse, but this just isn't as direct as seeing the exact command used. That being said, I'm still forced to use Visual Studio for builds mainly because of convention, as there other people working on these projects, but I will still edit the code in GVIM (with the help of ctags).
The ONLY time when you have to do compile/link using the commandline is when you work on a pure Linux server with no GUI installed - in this case your ONLY REAL OPTION is emacs. (Using anything else is pure masochism).
At all other times it would be sheer stupidity not to use a mature IDE.
Your Questions:
When do you switch from one to the other
(answered above)
Is it even necessary to know both? If not, which should you know?
That will depend on how keen you are on being a programmer AS WELL AS a systems administrator. The latter is called upon to support the former and to implement whatever is necessary to keep all systems running smoothly. To know both can NEVER be harmful, but if you insist on being a programmer only, then the necessity of knowing a specific IDE for the platform you choose is obvious.
Lightweight or Heavyweight IDEs? (just code highlighting or every feature you could imagine)
I assume the choice here refer to programmer only: there is no doubt that the more assistence your programming tool/environment can give you, and the more support you can get that allows you to focus on implementing your program spec. the better. So YES: HEAVYWEIGHT is the only sensible choice.
What IDE do you recommend in general, and why?
On a Windows platform this question is moot: whatever Mictrosoft recommends (and if you have the $$$). On Linux you have several choices: GTK-based (Gnome & company), QT-based (KDE & company), (if you're a sucker for punishment you can go for pure X and then you are more-or-less in for an interesting time) both Gnome and KDE have IDE's you can use. Third party IDE's, like eclipse, are available; they all enable you to develop GUI-applications that will run in whatever the user chooses as his GUI-environment. Some of these IDE's even allows a multiplicity of programming languages (that is the glory of Linux and FOSS: you have choices; you are not pinned to the "geography", not led to the slaughter, ...).
My personal choice of IDE (C++ only) is Ultimate++. It is source compatible with both Windows and Linux. The IDE is approaching a rich maturity AND it offers 'everything-plus' that other C++-IDE's are aspiring to. (I know this is a plug, but I've got good reason: give it a try.)
HTH
I've done both, but the debugger is really a great tool to have.
You can get pretty far just adding debug output and rebuilding, and that even forces you to use your noodle and the scientific method a bit more, but in the end (imo) the debugger just cannot be denied... it lets you really get in there and explore the system during runtime.
There are opportunities for both specialization and generality. In my own work, I've found that flexibility and being able to ride a steep learning curve has paid off well.
I use an IDE whenever I'm using a language that's more suited to being written by a computer than by a human being, for example Java. It's far too verbose to write by hand without loads of auto-completion. Vim's auto-complete is never quite as good as a language-specific IDE.
For less wordy languages though, you can't beat a good Vim- or Emacs-like editor for churning out plaintext quickly.
If the project exceeds two or three source files, I tend to use an IDE.
Once you've used an IDE with good (vs6 was not good, and most generic text editor's support for this is crude at best) intellisense-style prompting and auto-complete for a few weeks, you won't go back.
I use vim for everything except Objective-C stuff, which I use xCode for. The Interface builder, error checking, debugging are quite valuable.
However, I use a InputManager to let me use vim commands/key bindings in xCode, so I never really leave vim for anything ;)
I do all my coding in SciTE, my favorite editor, lightweight, with good syntax highlighting, and with shortcuts I am familiar with (or which I coded!).
Now, doing lot of Java at work, I also use Eclipse, which greatly improve with each version. I appreciate it is quite customizable, and very flexible about coding help, but I still do most of my editing in SciTE... Fortunately, the auto-detection/update of files edited elsewhere works quite well in Eclipse (although sometime with a sensible delay to analyze the reloaded class: we have big projects and not that much memory (1GB)).
I appreciate Eclipse mainly for two things (we compile with a special ant process and we don't really do refactoring): quick navigation in the project, particularly find a class and call hierarchy, and of course debugging.
I don't think these are so much distinct worlds, these are just tools, quite complementary: I won't fire Eclipse to do a quick edit of a small HTML file, I can't debug in SciTE. So I use both.
I haven't used an IDE since the last time I created a native GUI app, lo those many years ago. And, even then, I pretty much just used the IDE to create the GUI forms and my own editor for the actual code once I figured out how to plug an alternate editor into the IDE.
I'm not a "give me vim, or give me death!" fanatic, but my experience with having used IDEs and having used a bunch of xterms running vim has left me with the impression that the only thing IDEs really contribute, for me, is drag-n-drop form editing, which is something I don't need, given how long it's been since I last did anything with a non-web-based GUI.
re: when? I use Eclipse for Java and debugging. I keep jEdit open with a variety of Groovy scripts available. I also use Cygwin's bash in 3 shell windows for executing Ant tasks, searching etc. I can use Bash aliases for some truly powerful stuff with respect to running our server and client.
re: both? Yes, it is vital to know both IDE and non-IDE development. It doesn't matter which IDE but a debugger is essential.
re: which? For Java, Eclipse if you are paying (free) and Idea if someone else is ;-) Actually, I prefer Eclipse but I think that Idea has better support for Groovy so that it is attractive to me.
A decent code highlighting editor is all I use.
I use IDE for debugging, or for every big project that require to go on many different file. Lot of IDE have quick click to move from one class to an other. IDE for that is more productive. I use IDE too when I use big FrameWork that has a lot of folder and file, more easy to manage.
Update because question has been updated
When do you switch from one to the other?
I switch for small change in CSS or other small task,
Is it even necessary to know both? If not, which should you know?
Some time when building form (example in C#) it's very much profitable to use the IDE. Samething for debugging with breakpoint. I think both are required.
Lightweight or Heavyweight IDEs? (just code highlighting or every feature you could imagine)
Code hightlight is fine for small job, but when you have big stuff to do, bigger IDE with autocomplete, real-time error check and other refactoring tool is necessary to be more productive.
What IDE do you recommend in general, and why?
Visual Studio is great for .net, Eclipse for Java.