mirror of
https://gitlab.com/CodeSolutionsProject/CodeGuide
synced 2026-02-16 01:51:35 +01:00
Initial commit
This commit is contained in:
6
README.md
Normal file
6
README.md
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
# What is CodeGuide?
|
||||||
|
|
||||||
|
CodeGuide is a part of CodeShare where we have a basic help when starting to program in a language, and
|
||||||
|
a set of functions with examples to use directly, fast and helpful
|
||||||
|
|
||||||
|
Its a collaborative project, and we will upload a doc guide to push changes in a short time, wait for it :)
|
||||||
67
assets/css/codesee.css
Normal file
67
assets/css/codesee.css
Normal file
@@ -0,0 +1,67 @@
|
|||||||
|
/* General CSS */
|
||||||
|
/* Some rules from: https://fabiomsr.github.io/from-java-to-kotlin/, thanks */
|
||||||
|
|
||||||
|
|
||||||
|
.mitalic {
|
||||||
|
font-size:14px;
|
||||||
|
font-style:italic;
|
||||||
|
margin-bottom: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
p.lang {
|
||||||
|
color: #292626;
|
||||||
|
font-size:18px;
|
||||||
|
text-align: left;
|
||||||
|
margin-bottom: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.alignleft {
|
||||||
|
text-align: left;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.mdgeneral h2 {
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
div.mdgeneral p {
|
||||||
|
text-align: left;
|
||||||
|
}
|
||||||
|
div.mdgeneral {
|
||||||
|
background-color: #fbfbfb;
|
||||||
|
border-radius: 5px;
|
||||||
|
padding: 7px;
|
||||||
|
margin: 3px;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* CSS for two langs side by side */
|
||||||
|
h2, h3{
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
p.mitalic {
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.pairlang div.showone {
|
||||||
|
flex: 1;
|
||||||
|
-ms-flex: 1;
|
||||||
|
min-width: 550px;
|
||||||
|
margin: 0 10px;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.pairlang {
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
-webkit-justify-content: center;
|
||||||
|
-ms-box-pack: center;
|
||||||
|
-ms-box-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.onelangname{
|
||||||
|
text-align:center;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
4
assets/html/footer.php
Normal file
4
assets/html/footer.php
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
</div> <!-- Finish content div -->
|
||||||
|
<script>hljs.initHighlightingOnLoad();</script>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
120
assets/html/header.php
Normal file
120
assets/html/header.php
Normal file
@@ -0,0 +1,120 @@
|
|||||||
|
<?php
|
||||||
|
$commonAssets = '../assets/'; /* It loads from root path */
|
||||||
|
?>
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<link rel="stylesheet" type="text/css" href="<?php echo $commonAssets ?>css/bootstrap-paper.css">
|
||||||
|
<link rel="stylesheet" type="text/css" href="assets/css/codesee.css">
|
||||||
|
<link rel="stylesheet" type="text/css" href="<?php echo $commonAssets ?>css/codeStyles/vs.css">
|
||||||
|
<script src="<?php echo $commonAssets ?>js/highlight.pack.js"></script>
|
||||||
|
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<nav class="navbar navbar-inverse">
|
||||||
|
<div class="container-fluid">
|
||||||
|
<div class="navbar-header">
|
||||||
|
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-2">
|
||||||
|
<span class="sr-only">Toggle navigation</span>
|
||||||
|
<span class="icon-bar"></span>
|
||||||
|
<span class="icon-bar"></span>
|
||||||
|
<span class="icon-bar"></span>
|
||||||
|
</button>
|
||||||
|
<a class="navbar-brand" href="#">CodeGuide</a>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-2">
|
||||||
|
<ul class="nav navbar-nav">
|
||||||
|
<li <?php if ($site == 'index'){ echo 'class="active"';} ?> >
|
||||||
|
<a href="index.php">Index</a>
|
||||||
|
</li>
|
||||||
|
<li <?php if ($site == 'funcs'){ echo 'class="active"';} ?> >
|
||||||
|
<a href="funcs.php">Functions Helper</a>
|
||||||
|
</li>
|
||||||
|
<!--<li <?php if ($site == 'ginfo'){ echo 'class="active"';}?> >
|
||||||
|
<a href="index.php?page=ginfo">General info of a lang</a>
|
||||||
|
</li>-->
|
||||||
|
<li><a href="../">CodeShare, snippets of code</a></li>
|
||||||
|
</ul>
|
||||||
|
<ul class="nav navbar-nav navbar-right">
|
||||||
|
<li><a href="proyecto.jkanetwork.com">JKANetwork</a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</nav>
|
||||||
|
|
||||||
|
|
||||||
|
<!-- Start of content (Container div in Bootstrap), after nav -->
|
||||||
|
<div class="container">
|
||||||
|
|
||||||
|
|
||||||
|
<div class="panel panel-default">
|
||||||
|
<div class="panel-heading">Welcome to CodeGuide, fast help to programmers</div>
|
||||||
|
<div class="panel-body">
|
||||||
|
<?php
|
||||||
|
if ($site == 'index'){
|
||||||
|
?>
|
||||||
|
<h4>Select lang to show.</h4>
|
||||||
|
<p>You can see how different works a lang from another, or simple things to program in your lang,
|
||||||
|
as a fast guide to see when you don't remember something</p>
|
||||||
|
<form method='get'>
|
||||||
|
<p>Lang to show:
|
||||||
|
<input type="radio" name="lang" value="kotlin" <?php if ($lang == 'kotlin'){echo 'checked="checked"';} ?>>Kotlin
|
||||||
|
<input type="radio" name="lang" value="php" <?php if ($lang == 'php'){echo 'checked="checked"';} ?>>PHP
|
||||||
|
</p>
|
||||||
|
<p>What to see:
|
||||||
|
<input type="radio" name="see" value="basic" <?php if ($see == 'basic'){echo 'checked="checked"';} ?>>Basic things
|
||||||
|
<input type="radio" name="see" value="ginfo" <?php if ($see == 'ginfo'){echo 'checked="checked"';} ?>>General info
|
||||||
|
</p>
|
||||||
|
<button type="submit" class="btn btn-default">Ver</button>
|
||||||
|
</form>
|
||||||
|
|
||||||
|
<?php
|
||||||
|
}else if ($site == 'funcs'){
|
||||||
|
?>
|
||||||
|
<h4>Select lang to show</h4>
|
||||||
|
<form method='get'>
|
||||||
|
<p>Lang to show:
|
||||||
|
<select name="lang" style="min-width:100px;">
|
||||||
|
<option value="php" <?php if ($lang == 'php'){echo 'selected="selected"';} ?>>PHP</option>
|
||||||
|
<option value="kotlin" <?php if ($lang == 'kotlin'){echo 'selected="selected"';} ?>>Kotlin</option>
|
||||||
|
</select>
|
||||||
|
<button type="submit" class="btn btn-default">Change</button> </p>
|
||||||
|
</form>
|
||||||
|
<form method="GET">
|
||||||
|
<p>Search: <input onkeyup="searchAjax();" type="text" name="search" size="15"/></p>
|
||||||
|
</form>
|
||||||
|
<!-- Script for searching -->
|
||||||
|
<script>
|
||||||
|
function searchAjax(){
|
||||||
|
var searchText = document.getElementsByName("search")[0].value.trim();
|
||||||
|
var xhr = new XMLHttpRequest();
|
||||||
|
|
||||||
|
if (searchText.length > 2){
|
||||||
|
xhr.open('GET', 'searchhelper.php?what=func&lang=<?php print $lang;?>&str='+searchText);
|
||||||
|
if (document.getElementById("nosearch")){
|
||||||
|
document.getElementById("nosearch").style.display = 'none'; /* Not display standard */
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
document.getElementById("searchresult").innerHTML = "<p>Debes escribir más de dos caracteres</p>";
|
||||||
|
if (document.getElementById("nosearch")){
|
||||||
|
document.getElementById("nosearch").style.display = 'block'; /* Display all functions */
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
xhr.onload = function() {
|
||||||
|
if (xhr.status === 200) {
|
||||||
|
document.getElementById("searchresult").innerHTML = xhr.responseText;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
if (searchText.length > 2){
|
||||||
|
xhr.send();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
<?php
|
||||||
|
}
|
||||||
|
?>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
74
funcs.php
Normal file
74
funcs.php
Normal file
@@ -0,0 +1,74 @@
|
|||||||
|
<?php
|
||||||
|
$site = 'funcs'; /* For menus */
|
||||||
|
$func = isset($_GET['func']) ? $_GET['func'] : '';
|
||||||
|
|
||||||
|
/* Set lang to see */
|
||||||
|
$lang = isset($_GET['lang']) ? $_GET['lang'] : 'php';
|
||||||
|
|
||||||
|
/* Show header */
|
||||||
|
require_once 'assets/html/header.php';
|
||||||
|
|
||||||
|
/* For searches */
|
||||||
|
echo '<div id="searchresult">';
|
||||||
|
echo '</div>';
|
||||||
|
|
||||||
|
if ($func != ""){
|
||||||
|
require_once "lib/parsedown.php";
|
||||||
|
$file = "langs/$lang/functions/$func.json";
|
||||||
|
if (file_exists($file)){
|
||||||
|
$fulljson = json_decode(file_get_contents($file), true);
|
||||||
|
/* Show function */
|
||||||
|
if (!isset($fulljson['input'])){ $fulljson['input'] = null; }
|
||||||
|
if (!isset($fulljson['output'])){ $fulljson['output'] = null; }
|
||||||
|
seefunc($lang,$func,$fulljson['visual'],$fulljson['description'],$fulljson['parameters'],$fulljson['example'],$fulljson['input'],$fulljson['output']);
|
||||||
|
}else{
|
||||||
|
echo "<p>No existe la función</p>";
|
||||||
|
}
|
||||||
|
|
||||||
|
} else { /* Function search */
|
||||||
|
echo '<div id="nosearch">';
|
||||||
|
echo '<p>Mostrando todas las funciones...</p>';
|
||||||
|
$funcs = scandir("langs/$lang/functions/");
|
||||||
|
foreach ($funcs as $file){
|
||||||
|
$file = explode('.',$file)[0];
|
||||||
|
echo "<p><a href='?lang=$lang&func=$file'>$file</a></p>";
|
||||||
|
}
|
||||||
|
echo '</div>';
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
require_once 'assets/html/footer.php';
|
||||||
|
|
||||||
|
|
||||||
|
function seefunc($lang,$func,$visual,$description,$parameters,$example,$input,$output) {
|
||||||
|
echo "<h3>$lang - Function $func</h3>";
|
||||||
|
echo "<pre><code class='$lang'>$visual</code></pre>";
|
||||||
|
?>
|
||||||
|
<h4>Description: </h4>
|
||||||
|
<p><?php print $description;?></p>
|
||||||
|
<?php
|
||||||
|
/* Run for all params to show it */
|
||||||
|
|
||||||
|
foreach($parameters as $param => $descr)
|
||||||
|
{
|
||||||
|
echo "<p><b><u>$param</u></b>: $descr</p>";
|
||||||
|
}
|
||||||
|
?>
|
||||||
|
<h4>Example</h4>
|
||||||
|
<h5>Code</h5>
|
||||||
|
<pre><code class="<?php print $lang?>"><?php
|
||||||
|
foreach($example as $x)
|
||||||
|
{
|
||||||
|
echo "$x".PHP_EOL;
|
||||||
|
}
|
||||||
|
?>
|
||||||
|
</code></pre>
|
||||||
|
<?php
|
||||||
|
if (isset($input)){
|
||||||
|
echo '<h5>Input for example: </h5><p>'.$input.'</p>';
|
||||||
|
}
|
||||||
|
if (isset($output)){
|
||||||
|
echo '<h5>Output of example: </h5><p>'.$output.'</p>';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
?>
|
||||||
12
guide.md
Normal file
12
guide.md
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
# Variables
|
||||||
|
|
||||||
|
## Declare and set variable
|
||||||
|
- First line, declare. Second line, set. Third, declare and set.
|
||||||
|
. variable
|
||||||
|
|
||||||
|
## Declare and set constant
|
||||||
|
- Same
|
||||||
|
. constant
|
||||||
|
|
||||||
|
## Set array and show position 1 of that array
|
||||||
|
. array
|
||||||
100
index.php
Normal file
100
index.php
Normal file
@@ -0,0 +1,100 @@
|
|||||||
|
<?php
|
||||||
|
$site = 'index'; /* For menus */
|
||||||
|
if (isset($_GET['page'])){
|
||||||
|
$site = $_GET['page'];
|
||||||
|
}
|
||||||
|
/* First convert post to get if needed */
|
||||||
|
$lang = isset($_GET['lang']) ? $_GET['lang'] : 'php';
|
||||||
|
$see = isset($_GET['see']) ? $_GET['see'] : 'basic';
|
||||||
|
|
||||||
|
|
||||||
|
/* Show header */
|
||||||
|
require_once 'assets/html/header.php';
|
||||||
|
|
||||||
|
|
||||||
|
switch ($see){
|
||||||
|
case 'ginfo':
|
||||||
|
echo "<h3>General info for $lang</h3>";
|
||||||
|
echo '<div class="pairlang">';
|
||||||
|
require_once "lib/parsedown.php";
|
||||||
|
echo '<div class="showone">';
|
||||||
|
if (file_exists("langs/$lang/general.md")){
|
||||||
|
|
||||||
|
$filemd = file("langs/$lang/general.md", FILE_IGNORE_NEW_LINES);
|
||||||
|
array_shift($filemd);
|
||||||
|
$filemd = implode(PHP_EOL,$filemd);
|
||||||
|
echo Parsedown::instance()
|
||||||
|
->setMarkupEscaped(true) # escapes markup (HTML)
|
||||||
|
->text($filemd);
|
||||||
|
}else{
|
||||||
|
echo '<h4>No hay información disponible</h4>';
|
||||||
|
}
|
||||||
|
echo '</div>';
|
||||||
|
echo '</div>';
|
||||||
|
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 'basic':
|
||||||
|
echo "<h3>Basic things of $lang</h3>";
|
||||||
|
if (!file_exists('guide.md') || !file_exists("langs/$lang/basic.json")){
|
||||||
|
die("<p>Some files not found</p>");
|
||||||
|
}
|
||||||
|
$file = fopen('guide.md', "r");
|
||||||
|
$start = 0;
|
||||||
|
$jsonbasic = json_decode(file_get_contents("langs/$lang/basic.json"),true);
|
||||||
|
while (($line = fgets($file)) !== false) {
|
||||||
|
//See if line have '# '
|
||||||
|
if (substr( $line, 0, 2 ) == '# '){
|
||||||
|
echo '<h3>';
|
||||||
|
echo substr($line,2).'</h3>';
|
||||||
|
}
|
||||||
|
else if (substr( $line, 0, 3 ) == '## '){
|
||||||
|
$start = 1;
|
||||||
|
echo '<h4 class="alignleft">';
|
||||||
|
echo substr($line,3).'</h4>';
|
||||||
|
}
|
||||||
|
else if (substr($line,0,2) == '- '){
|
||||||
|
echo '<p class="mitalic">'. substr($line,2).'</p>';
|
||||||
|
}
|
||||||
|
else if ((substr( $line, 0, 2 ) == '. ') && $start == 1){
|
||||||
|
echo '<div class="pairlang">';
|
||||||
|
$start = 0;
|
||||||
|
echo '<div class="showone">';
|
||||||
|
|
||||||
|
// See if exists and load it
|
||||||
|
if (isset($jsonbasic[trim(substr($line,2))])){
|
||||||
|
echo '<pre><code>';
|
||||||
|
if (is_array($jsonbasic[trim(substr($line,2))])){
|
||||||
|
foreach($jsonbasic[trim(substr($line,2))] as $c)
|
||||||
|
{
|
||||||
|
echo "$c".PHP_EOL;
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
print $jsonbasic[trim(substr($line,2))];
|
||||||
|
}
|
||||||
|
echo '</code></pre>';
|
||||||
|
}else {
|
||||||
|
echo '<pre>This can\'t be do in this lang, or it isn\'t added yet to this guide.</pre>';
|
||||||
|
}
|
||||||
|
echo '</div>';
|
||||||
|
echo '</div>';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
fclose($file); /* Close guide.md */
|
||||||
|
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 'sql':
|
||||||
|
if (!file_exists("langs/$lang/database.json")){
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
$jsonbasic = json_decode(file_get_contents("langs/$lang/basic.json"),true);
|
||||||
|
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
echo '<p>Default</p>';
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
require_once 'assets/html/footer.php';
|
||||||
16
langs/kotlin/basic.json
Normal file
16
langs/kotlin/basic.json
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
{
|
||||||
|
"array": [
|
||||||
|
"var arr = arrayOf(1, 2, 3)",
|
||||||
|
"println(arr[0])"
|
||||||
|
],
|
||||||
|
"constant": [
|
||||||
|
"val a: Int",
|
||||||
|
"// It cannot be do",
|
||||||
|
"val b = 6"
|
||||||
|
],
|
||||||
|
"variable": [
|
||||||
|
"var a: Int",
|
||||||
|
"a = 5",
|
||||||
|
"var b = 6"
|
||||||
|
]
|
||||||
|
}
|
||||||
8
langs/php/basic.json
Normal file
8
langs/php/basic.json
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
{
|
||||||
|
"array": "$var = array(1,2,3,'texto');",
|
||||||
|
"variable": [
|
||||||
|
"// It cannot be do",
|
||||||
|
"$a = 5;",
|
||||||
|
"$b = 6;"
|
||||||
|
]
|
||||||
|
}
|
||||||
8
langs/php/database.json
Normal file
8
langs/php/database.json
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
{
|
||||||
|
"sqlite": {
|
||||||
|
"connect": "$db_conn = new SQLite3('path/to/database.sqlite');",
|
||||||
|
"query": "$query = $db_conn->query(\"Query\");",
|
||||||
|
"fetch_array": "$array = $query->fetchArray();"
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
16
langs/php/functions/in_array.json
Normal file
16
langs/php/functions/in_array.json
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
{
|
||||||
|
"visual": "in_array($search,$array[,type])",
|
||||||
|
"description": "It searches in a Array for a string \n Type is optional and its for searching exact pattern (true) or not (nothing)",
|
||||||
|
"parameters" : {
|
||||||
|
"$search": "What you want to find",
|
||||||
|
"$array": "The array for search",
|
||||||
|
"$type": "Exact pattern or not"
|
||||||
|
},
|
||||||
|
"example": [
|
||||||
|
"$os = array(\"Windows\",\"Linux\",\"Mac\");",
|
||||||
|
"if (in_array(\"Win\",$os)){",
|
||||||
|
" echo \"Encontrado Win en os\";",
|
||||||
|
"}"
|
||||||
|
],
|
||||||
|
"output": "Encontrado Win en os"
|
||||||
|
}
|
||||||
27
langs/php/general.md
Normal file
27
langs/php/general.md
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
- Version 0.1 -
|
||||||
|
|
||||||
|
#### General grammar of lang
|
||||||
|
|
||||||
|
- All lines finish with a semicolon (;)
|
||||||
|
|
||||||
|
- Vars are append with a dollar sign ever -> $x is x variable
|
||||||
|
|
||||||
|
- Vars aren't defined before use. Doesn't name Int,String,.... ever
|
||||||
|
|
||||||
|
- When echoing or using functions, you can use 'text' or "text", but in first ones you can't embed a var. Example:
|
||||||
|
|
||||||
|
'Hello $x' -> Hello $x
|
||||||
|
|
||||||
|
"Hello $x" -> Hello World
|
||||||
|
|
||||||
|
#### Comments
|
||||||
|
|
||||||
|
```
|
||||||
|
// This is a single line comment
|
||||||
|
/* This is
|
||||||
|
a multiline comment */
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Types of vars
|
||||||
|
|
||||||
|
Nothing to show here.
|
||||||
1548
lib/parsedown.php
Executable file
1548
lib/parsedown.php
Executable file
File diff suppressed because it is too large
Load Diff
15
searchhelper.php
Normal file
15
searchhelper.php
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
<?php
|
||||||
|
$searchstr = $_GET['str'];
|
||||||
|
$send = "";
|
||||||
|
$lang = $_GET['lang'];
|
||||||
|
if ($_GET['what'] == "func"){ //Si es el buscador rápido de newmidi.php (Tanto para nuevas como las del cajón)
|
||||||
|
$send .= "<p>Mostrando funciones que contengan $searchstr...</p>";
|
||||||
|
$funcs = scandir("langs/$lang/functions/");
|
||||||
|
foreach ($funcs as $file){
|
||||||
|
if (strpos($file, $searchstr) !== false){
|
||||||
|
$file = explode('.',$file)[0];
|
||||||
|
$send .= "<p><a href='?lang=$lang&func=$file'>$file</a></p>";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
echo $send;
|
||||||
Reference in New Issue
Block a user