Giter Club home page Giter Club logo

kallinikos.github.io's Introduction

Καλλίνικος

Ο Καλλίνικος είναι μια πλατφόρμα με αλγορίθμους η οποία δημιουργήθηκε με σκοπό την διευκόλυνση της εξάσκησης των ελληνόγλωσσων μαθητών για τις εθνικές και διεθνείς ολυμπιάδες πληροφορικής. Είναι ανοιχτού κώδικα και λειτουργεί σαν wiki, καθώς όλοι μπορούν να συνεισφέρουν στην εμπλούτισή του μέσω του Github.

Συνεισφέρετε

Για να συνεισφέρετε, απλά κάνετε fork το repository αυτό μέσω του github, και μετά ακολουθήστε τις οδηγίες εδώ για να ανεβάσετε υλικό. Αφού ανεβάσετε υλικό, απλά κάνετε ένα pull request, και όταν εγκριθεί, θα ανέβει στην ιστοσελίδα.

Άρθρα

Για να ανεβάσετε μία απλή σελίδα, δημιουργήστε ένα αρχείο στη γλώσσα markdown και τοποθετήστε το στον υποφάκελο _posts, με όνομα την ημερομηνία δημιουργίας χωρισμένη με παύλες και μετά τον τίτλο του άρθρου σας (για παράδειγμα 2046-10-25-Πώς-να-κατακτήσετε-τον-κόσμο.md). Ο τίτλος μπορεί να περιέχει κενά, αλλά αποφεύγεται. Το αρχείο αυτό θα πρέπει να έχει κάποιες πληροφορίες αποθηκευμένες με τη μορφή YAML front matter. Για να τις περάσετε, απλά χρησιμοποιήστε το αρχείο templates/post.md σαν οδηγό. Το αρχείο περιέχει τα εξής:

---
title: "ΤΙΤΛΟΣ"
layout: post
tags: [ΚΑΤΗΓΟΡΙΕΣ]
category: ΒΑΘΜΟΣ ΔΥΣΚΟΛΙΑΣ
comments: true
---

ΠΕΡΙΕΧΟΜΕΝΟ

* TOC
{:toc}

ΠΕΡΙΕΧΟΜΕΝΟ

Θα αντικαταστήσετε τον τίτλο, τις κατηγορίες, τον βαθμό δυσκολίας, και το περιεχόμενο. Ο τίτλος πρέπει να είναι σε ομοιωματικά, οι κατηγορίες χωρισμένες με κόμματα, και ο βαθμός δυσκολίας πρέπει να είναι ένας αριθμός από το 1 μέχρι το 10. Στο περιεχόμενο, οι παράγραφοι πρέπει να αρχίζουν από το δεύτερο επίπεδο, διότι ο τίτλος θα μπει στο πρώτο επίπεδο. Εάν θέλετε να απενεργοποιήσετε τα σχόλια θέστε την παράμετρο comments σε false. Για παράδειγμα:

---
title: "Πώς να κατακτήσετε τον κόσμο"
layout: post
tags: [Σατανικά σχέδια, Δικτατορία]
category: 3
comments: true
---

Πολλοί μπορεί να πουν ότι η κατάκτηση του κόσμου δεν είναι εύκολη. Όμως, με αυτόν τον οδηγό, θα καταφέρετε σύντομα να γίνετε ο/η απόλυτος/η κυρίαρχος του κόσμου.

* TOC
{:toc}

## Προετοιμασία

Για να κατακτήσετε τον κόσμο πρέπει πρώτα να κατακτήσετε τον εαυτό σας.

Όλα τα υπόλοιπα θα γίνουν αυτόματα, όπως η δημιουργία της σελίδας και η προσθήκη της στην αρχική.

Ένας καλός οδηγός για τη γλώσσα Markdown βρίσκεται εδώ. Να σημειωθεί ότι το github χρησιμοποιεί μια ελαφρώς εμπλουτισμένη έκδοση της Markdown, την οποία μπορείτε να βρείτε εδώ. Για να γράψετε markdown μπορείτε να χρησιμοποιήσετε αυτήν την ιστοσελίδα, ή το πρόγραμμα typora.

Αναφέρουμε ότι οι τίτλοι ξεκινούν από τη δεύτερη κατηγορία (δηλαδή χρησιμοποιούμε ## αντί για #) και είναι απαραίτητη η ύπαρξη κενού ανάμεσα στις διέσεις και στον τίτλο. Για εισαγωγή μαθηματικών χρησιμοποιούμε διπλό δολάριο (δηλαδή $$a<b$$ και όχι $a<b$). Τέλος, για να δημιουργήσετε εσωτερικό σύνδεσμο, η σύνταξη είναι: [τίτλος]({% post_url όνομα-αρχείου%}) όπου το όνομα-αρχείου είναι το όνομα του αρχείου του post χωρίς την κατάληξη md.

Σημείωση: Εάν δεν λειτουργεί η φυσιολογική εισαγωγή κώδικα του markdown, αντικαταστήστε την με την εισαγωγή του Jekyll. Για παράδειγμα, ο εξής κώδικας:

​```c++
#include <stdio.h>
int main() {
    printf("Hello World!");
    return 0;
}
​```

θα γίνει:

{% highlight c++ %}
#include <stdio.h>
int main() {
    printf("Hello World!");
    return 0;
}
{% endhighlight}

Σελίδες ανακατεύθυνσης

Για να δημιουργήσετε μια σελίδα ανακατεύθυνσης χρησιμοποιήστε το αρχείο templates/redirect.md. Αφού συμπληρώσετε τα στοιχεία όπως σε ένα απλό άρθρο, αντικαταστήστε τη λέξη ΠΡΟΟΡΙΣΜΟΣ (και τις δύο φορές που εμφανίζεται), με την σελίδα στην οποία θέλετε να ανακατευθύνετε.

Τοπική εγκατάσταση

Για να ελέγξετε την μορφοποίηση του άρθρου σας τοπικά, σας συστήνουμε να εγκαταστήσετε το jekyll. Οι οδηγίες εγκατάστασης βρίσκονται εδώ και οι οδηγίες χρήσης εδώ (συγκεκριμένα η εντολή jekyll serve --livereload είναι η πιο χρήσιμη).

Γενικές συμβουλές

Πριν ανεβάσετε αλλαγές, σας συστήνουμε να κάνετε ορθογραφικό έλεγχο του κειμένου σας. Δυστυχώς, το typora δεν παρέχει ακόμα τη δυνατότητα ορθογραφικού ελέγχου στα ελληνικά. Αντίστοιχα, προσπαθήστε να κάνετε έλεγχο του κώδικά σας για να είναι όσο το δυνατόν σωστός (στην καλύτερη περίπτωση υποβάλετέ τον σε ένα σχετικό πρόβλημα σε κάποιο judge).

Για να δημιουργήσετε γραφήματα, το συστηνόμενο πρόγραμμα είναι το inkscape. Παρόλο που στην αρχή μπορεί να μην φαίνεται εύχρηστο, είναι ιδιαίτερα ευέλικτο για τη χρήση μας, και παράγει εικόνες svg (Scalable Vector Graphics) που έχουν εξαιρετική ανάλυση.

Για να βρείτε τους κώδικες μαθηματικών συμβόλων (inline latex mathmode) εξαιρετική βοήθεια αποτελεί το detextify.

TODO

Ακολουθεί μια ενδεικτική λίστα άρθρων που θέλουμε να προσθέσουμε στο σύντομο μέλλον. Εάν θέλετε να συνεισφέρετε μπορείτε να γράψετε κάτι από τα παρακάτω.

  • Θεωρία γράφων
    • Dfs, Bfs, Strongly Connected Components
    • Dijkstra
    • Bellman-Ford, Floyd-Warshall
    • Kruskal, Prim
    • Lowest Common Ancestor
  • Δομές δεδομένων
    • Segment Tree
    • Trie
    • Sqrt(n) bucketing
  • Αλφαριθμητικά
    • Z algorithm
    • Rabin-Karp

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.