Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add buttons to link to the new platform specific guides #377

Merged
merged 20 commits into from
Jun 14, 2019
Merged

Add buttons to link to the new platform specific guides #377

merged 20 commits into from
Jun 14, 2019

Conversation

robinrodricks
Copy link
Contributor

@robinrodricks robinrodricks commented Mar 26, 2019

This PR adds support for clickable button links on 2 pages, to link to the new guides.

Documentation page

image

Post download page

image

@markknol
Copy link
Member

Nice!

Some suggestions:

  • Would be nice if you use those orange logo's on your getting started pages too 😃 instead of those colored. Keeps it nice in theme.
  • maybe use https://jakearchibald.github.io/svgomg/ for smaller svg's

Question;
What does the targets, who dont have a page link to at the moment?

Again great stuff!!

@robinrodricks
Copy link
Contributor Author

Thank you!

Currently I link to whatever relevant page I could find on the subject:

Any suggestions on how to improve these links?

@uvtc
Copy link
Contributor

uvtc commented Mar 27, 2019

I don't think it's optimal for the individual target/platform logos to link to installation and setup instructions, as I'd expect them instead to lead to homepages for the targets/platforms themselves. Actually, I wouldn't even think of clicking on them, as they don't really look like clickable links anyway --- probably even if the text above them said so. (I remember D lang having a very similar problem on their downloads page --- I think previously you could click on the platform/OS logos, but few noticed that was even a link (or maybe there was a hidden link that appeared when you hovered? I don't recall.). Now the little static gray circles "(i)" are clickable, but that doesn't seem very obvious (to me) either.)

The haxe.org main homepage is more like a pitch for Haxe, which I think is good, so I don't think install instructions should be mixed somewhere in there.

If I'm new to Haxe and thinking I'd like to install Haxe for a given target/platform on a given OS, I'd be looking either for an "Install" tab at the top, or failing that, under a "Documentation" tab at the top (currently spelled "Learn Haxe"). This would direct people as quickly as possible to the page and instructions they're looking for.

The "Install" link should lead to its very own page with links to the various links to OS-specific / platform-specific instructions, possibly also to general install instructions and to the build instructions page for folks looking to build/install from source.

Incidentally, the Haxe download page and also the main haxe.org footer should also have a link pointing to that central install page.

For comparison, some other language site's install pages (in no particular order):

  • Rust has an "Install" link right up on the header
  • Golang has it under their Documents tab
  • Kotlin makes you dig into Learn >> tutorials >> getting started.
  • ReasonML has Docs >> where you then click Installation
  • Dart has a Get Started page which provides links to getting started with its different setups
  • TypeScript has a Quick Start link that takes you to a page which seems to contain the types of guides being discussed here.

@robinrodricks
Copy link
Contributor Author

robinrodricks commented Mar 27, 2019

@uvtc
I have no issues converting our "getting started" pages into dedicated information portals for the respective platforms. This was my original idea to begin with. However the sheer amount of work involved made me scale down this ambitious plan to just a basic "getting started" guide. Even this humble thing is so hard to create with actual valid steps and get improved/approved via the team.

If you have any ideas you are free to send me content on the haxe community and I'll see what I can do to spruce up the platform pages. (eg: sample projects, recommended libraries) And as for the rest of your comments, as a newbie the numero uno issue I have is how to get started with this tech. Unlike Visual Studio or Electron its not trivial to setup a functioning haxe build chain with all the requisite files and tools installed. It took the lot of us under a month just to document an installation guide for 4 platforms!

And yes, we can always feature the same platform logos in a better fashion on the haxe download page or any other pages for that matter. That will need more work and will be part of a separate PR, if we get down to doing it. Please keep in mind that I tried to maintain the current look-and-feel of the logos which is why they are probably not immediately recognizable as being "clickable". I did that so there would be least resistance to this PR from a stylistic POV.

At the end of the day, if someone asks me, "hey, can I use haxe to write python scripts?", I would like the convenience of saying "just visit the haxe website and click python", instead of having to guide them to a specific section of the website just to get them started with the damn thing. Once they are off the ground, they should [hopefully] find their wings and get up and running with haxe.

@uvtc
Copy link
Contributor

uvtc commented Mar 27, 2019

Ah, I see. I was accidentally conflating an "install" page and a "setup" pages. Thanks.

Also, maybe I'm misunderstanding you; I thought you were creating individual separate setup guides, rather than one large one.

I think Haxe could use a simple install page, which would be fairly short, mostly containing, "see the Downloads page for platform-specific packages installable in the usual way for your platform". However, that page should probably also contain a matrix of links to the platform/target -specific setup guides.

@uvtc
Copy link
Contributor

uvtc commented Mar 27, 2019

At the end of the day, if someone asks me, "hey, can I use haxe to write python scripts?", I would like the convenience of saying "just visit the haxe website and click python", instead of having to guide them to a specific section of the website just to get them started with the damn thing. Once they are off the ground, they should [hopefully] find their wings and get up and running with haxe.

I agree, though I think it's more obvious to link to them from an install page (which, coincidentally, haxe lacks) rather than the target/platform icons.

@robinrodricks
Copy link
Contributor Author

robinrodricks commented Mar 29, 2019

Travis failed generating videos.

Final effect of this PR:

  • Homepage untouched
  • Post-download page has 6 new logos
  • Documentation page has 6 new logos

@robinrodricks
Copy link
Contributor Author

@markknol please check?

@robinrodricks
Copy link
Contributor Author

@markknol could you check this please?

@markknol
Copy link
Member

Please have patience, it's on my list.

@robinrodricks robinrodricks changed the title Clickable platform logos on the homepage Add buttons to link to the new platform specific guides May 15, 2019
@markknol
Copy link
Member

markknol commented May 16, 2019

@robinrodricks Sorry for the delay, but just spend some time looking at it. I think it looks almost good. These are my remarks:

  • use proper <pre><code class="prettyprint haxe"> </code></pre> (not <div class="step-code) so the highlighter highlights your code,
  • remove the <!-- --> comments in the html, you already have this somewhere in your git history, no need to keep it commented
  • bonus points if you optimize the svg

@ibilon @Simn @andyli Are we ok to merge this PR?

To make review bit easier, look here. I manually made build with our master with the PR merged, no manual, no highlighter (it errors here for some reason)

@andyli
Copy link
Member

andyli commented May 16, 2019

Better find out why the PR build failed. Other than that, it's fine for me.

@robinrodricks
Copy link
Contributor Author

robinrodricks commented May 17, 2019

Clickable Logos on the homepage

  • Replace the combined logo image with individual clickable logos
  • Logo graphics are included in SVG format with PNG fallback
  • All logos are specified with img elements with PNG fallback, alt text, title text

test

Including the homepage clickable logos code here.. in case its needed in the future:

<div class="platformLogos">
	<style>
		.platformLogos{
			display: block;
			width: 450px;
			margin: 10px auto;
			text-align: center;
		}
		.platformLogos .row{
			display: inline-block;
			padding-bottom: 20px;
		}
		.platformLogos .cell{
			display: inline-block;
			margin-right: 20px;
		}
		.platformLogos .cell img{
			height: 35px;
		}
		.platformLogos .cell a:hover img{
			filter: brightness(0.7);
		}
	</style>
	<div class="row">
		<div class="cell">
			<a href="/use-cases/mobile/">
				<img src="/img/targets/icons/ios.svg" onerror="this.src='/img/targets/icons/ios.png'" alt="iOS Support" title="iOS Support" />
			</a>
		</div>
		<div class="cell">
			<a href="/use-cases/mobile/">
				<img src="/img/targets/icons/android.svg" onerror="this.src='/img/targets/icons/android.png'" alt="Android Support" title="Android Support" />
			</a>
		</div>
		<div class="cell">
			<a href="/use-cases/web/">
				<img src="/img/targets/icons/html5.svg" onerror="this.src='/img/targets/icons/html5.png'" alt="HTML5 Support" title="HTML5 Support" />
			</a>
		</div>
		<div class="cell">
			<a href="/documentation/introduction/compiler-targets.html">
				<img src="/img/targets/icons/neko.svg" onerror="this.src='/img/targets/icons/neko.png'" alt="NekoVM Support" title="NekoVM Support" />
			</a>
		</div>
	</div>
	<div class="row">
		<div class="cell">
			<a href="/documentation/introduction/compiler-targets.html">
				<img src="/img/targets/icons/nodejs.svg" onerror="this.src='/img/targets/icons/nodejs.png'" alt="Node.js Support" title="Node.js Support" />
			</a>
		</div>
		<div class="cell">
			<a href="/documentation/introduction/compiler-targets.html">
				<img src="/img/targets/icons/flash.svg" onerror="this.src='/img/targets/icons/flash.png'" alt="Flash Support" title="Flash Support" />
			</a>
		</div>
		<div class="cell">
			<a href="/documentation/introduction/compiler-targets.html">
				<img src="/img/targets/icons/cpp.svg" onerror="this.src='/img/targets/icons/cpp.png'" alt="C++ Support" title="C++ Support" />
			</a>
		</div>
		<div class="cell">
			<a href="/documentation/platforms/python.html">
				<img src="/img/targets/icons/python.svg" onerror="this.src='/img/targets/icons/python.png'" alt="Python Support" title="Python Support" />
			</a>
		</div>
	</div>
	<div class="row">
		<div class="cell">
			<a href="/documentation/platforms/csharp.html">
				<img src="/img/targets/icons/csharp.svg" onerror="this.src='/img/targets/icons/csharp.png'" alt="C# Support" title="C# Support" />
			</a>
		</div>
		<div class="cell">
			<a href="/documentation/platforms/php.html">
				<img src="/img/targets/icons/php.svg" onerror="this.src='/img/targets/icons/php.png'" alt="PHP Support" title="PHP Support" />
			</a>
		</div>
		<div class="cell">
			<a href="/documentation/platforms/java.html">
				<img src="/img/targets/icons/java.svg" onerror="this.src='/img/targets/icons/java.png'" alt="Java Support" title="Java Support" />
			</a>
		</div>
		<div class="cell">
			<a href="/documentation/introduction/compiler-targets.html">
				<img src="/img/targets/icons/lua.svg" onerror="this.src='/img/targets/icons/lua.png'" alt="Lua Support" title="Lua Support" />
			</a>
		</div>
		<div class="cell">
			<a href="/documentation/introduction/compiler-targets.html">
				<img src="/img/targets/icons/hashlink.svg" onerror="this.src='/img/targets/icons/hashlink.png'" alt="HashLink Support" title="HashLink Support" />
			</a>
		</div>
	</div>
</div>

@robinrodricks
Copy link
Contributor Author

robinrodricks commented May 17, 2019

@markknol Thanks. I've done your changes. Please review.

  • Homepage "clickable logos" commented-out code has been removed
  • Reverted: Pre/Prettyprint used instead of code sections but only for haxe code. The command line code has not been modified.

@robinrodricks
Copy link
Contributor Author

robinrodricks commented May 17, 2019

Ugh. Now we have git conflicts. I'll revert the changes to the pages. I'll just modify the pages in separate PRs.

@robinrodricks
Copy link
Contributor Author

Can you just accept this please. We can change the code snippets later. I cannot modify those files in this PR anyways.

@markknol
Copy link
Member

Why can't you? Just merge the staging into the branch of the PR.

@robinrodricks
Copy link
Contributor Author

robinrodricks commented May 17, 2019

Then you'll ask me to redo all the changes, but this time create one branch per webpage. The last time I tried to modify multiple pages in one PR it got blasted to hell and back.

@markknol
Copy link
Member

markknol commented May 17, 2019

This is confusing 😄 If you merge the current staging in your branch, then you won't have to do it again or in different PR, if I'm not mistaken.

@Aurel300 Aurel300 self-assigned this Jun 14, 2019
@Aurel300 Aurel300 merged commit 275036d into HaxeFoundation:staging Jun 14, 2019
@Aurel300
Copy link
Member

Thank you for the contribution. Sorry for the delay once again.

Rebasing after the prettyprint commit would have solved your issues.

The last time I tried to modify multiple pages in one PR it got blasted to hell and back.

Unsure what you are referring to – looking at your haxe.org PRs they are all extremely atomic.

@robinrodricks
Copy link
Contributor Author

robinrodricks commented Jun 14, 2019 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants